pax_global_header00006660000000000000000000000064132406067730014522gustar00rootroot0000000000000052 comment=0337f1d403f80474e349016105708bfc2a011870 sarg-2.3.11/000077500000000000000000000000001324060677300125425ustar00rootroot00000000000000sarg-2.3.11/ABOUT-NLS000066400000000000000000002674741324060677300140150ustar00rootroot000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this 'ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU 'gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU 'gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. 1.1 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU 'gettext'. Other packages have their own ways to internationalization, predating GNU 'gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU 'gettext' functions. Installers may use special options at configuration time for changing the default behaviour. The command: ./configure --disable-nls will _totally_ disable translation of messages. When you already have GNU 'gettext' installed on your system and run configure without an option for your new package, 'configure' will probably detect the previously built and installed 'libintl' library and will decide to use it. If not, you may have to to use the '--with-libintl-prefix' option to tell 'configure' where to look for it. Internationalized packages usually have many 'po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at 'configure' time by using the '--disable-nls' switch, all available translations are installed together with the package. However, the environment variable 'LINGUAS' may be set, prior to configuration, to limit the installed set. 'LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.2 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the 'LANG' environment variable to the appropriate 'LL_CC' combination. If you happen to have the 'LC_ALL' or some other 'LC_xxx' environment variables set, you should unset them before setting 'LANG', otherwise the setting of 'LANG' will not have the desired effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in 'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your '.login' or '.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of 'LL_CC', with 'LL' denoting the language and 'CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command 'locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called 'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' for the purpose of message handling, but you still need to have 'LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from 'no' to 'nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under 'nb' and some older ones under 'no', it's recommended for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and older translations are used. In the 'LANGUAGE' environment variable, but not in the 'LANG' environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to denote the language's main dialect. For example, 'de' is equivalent to 'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese as spoken in Portugal) in this context. 1.3 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, 'http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has '-request' appended. For example, speakers of Swedish can send a message to 'sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to 'coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.4 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of Jun 2014. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs +---------------------------------------------------+ a2ps | [] [] [] | aegis | | anubis | | aspell | [] [] [] | bash | [] [] [] | bfd | | binutils | [] | bison | | bison-runtime | [] | buzztrax | [] | ccd2cue | | ccide | | cflow | | clisp | | coreutils | [] [] | cpio | | cppi | | cpplib | [] | cryptsetup | [] | datamash | | denemo | [] [] | dfarc | [] | dialog | [] [] [] | dico | | diffutils | [] | dink | [] | direvent | | doodle | [] | dos2unix | | dos2unix-man | | e2fsprogs | [] [] | enscript | [] | exif | [] | fetchmail | [] [] | findutils | [] | flex | [] | freedink | [] [] | fusionforge | | gas | | gawk | [] | gcal | [] | gcc | | gdbm | | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gjay | | glunarclock | [] [] [] | gnubiff | [] | gnubik | [] | gnucash | () () [] | gnuchess | | gnulib | [] | gnunet | | gnunet-gtk | | gold | | gphoto2 | [] | gprof | [] | gramadoir | | grep | [] [] [] | grub | [] | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] [] | gstreamer | [] [] [] [] | gtick | [] | gtkam | [] [] | gtkspell | [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] | hello | [] | help2man | | help2man-texi | | hylafax | | idutils | | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | iso_639_5 | | jwhois | | kbd | [] | klavaro | [] [] [] [] [] | ld | [] | leafpad | [] [] [] [] | libc | [] [] [] | libexif | () | libextractor | | libgnutls | [] | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | | libiconv | [] [] | libidn | [] | liferea | [] [] [] [] | lilypond | [] [] | lordsawar | [] | lprng | | lynx | [] [] | m4 | [] | mailfromd | | mailutils | | make | [] | man-db | [] [] | man-db-manpages | | midi-instruments | [] [] [] | minicom | [] | mkisofs | [] | myserver | [] | nano | [] [] [] | opcodes | | parted | [] | pies | | pnmixer | | popt | [] | procps-ng | | procps-ng-man | | psmisc | [] | pspp | [] | pushover | [] | pwdutils | | pyspread | | radius | [] | recode | [] [] [] | recutils | | rpm | | rush | | sarg | | sed | [] [] [] [] | sharutils | [] | shishi | | skribilo | | solfege | [] [] | solfege-manual | | spotmachine | | sudo | [] [] | sudoers | [] [] | sysstat | [] | tar | [] [] [] | texinfo | [] [] | texinfo_document | [] [] | tigervnc | [] | tin | | tin-man | | tracgoogleappsa... | | trader | | util-linux | [] | ve | | vice | | vmm | | vorbis-tools | [] | wastesedge | | wcd | | wcd-man | | wdiff | [] [] | wget | [] | wyslij-po | | xboard | | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +---------------------------------------------------+ af am an ar as ast az be bg bn bn_IN bs ca crh cs 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 da de el en en_GB en_ZA eo es et eu fa fi fr +--------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] [] | aegis | [] [] [] [] | anubis | [] [] [] [] [] | aspell | [] [] [] [] [] [] [] | bash | [] [] [] | bfd | [] [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | [] [] [] [] | ccd2cue | [] [] [] [] | ccide | [] [] [] [] [] [] | cflow | [] [] [] [] [] | clisp | [] [] [] [] [] | coreutils | [] [] [] [] [] | cpio | [] [] [] [] [] | cppi | [] [] [] [] [] | cpplib | [] [] [] [] [] [] | cryptsetup | [] [] [] [] [] | datamash | [] [] [] [] | denemo | [] | dfarc | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | dico | [] [] [] [] | diffutils | [] [] [] [] [] [] | dink | [] [] [] [] [] [] | direvent | [] [] [] [] | doodle | [] [] [] [] | dos2unix | [] [] [] [] [] | dos2unix-man | [] [] [] | e2fsprogs | [] [] [] [] [] | enscript | [] [] [] [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] () [] [] [] [] [] | findutils | [] [] [] [] [] [] [] [] | flex | [] [] [] [] [] [] | freedink | [] [] [] [] [] [] [] [] | fusionforge | [] [] [] | gas | [] [] [] | gawk | [] [] [] [] [] | gcal | [] [] [] [] | gcc | [] | gdbm | [] [] [] [] [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] | gjay | [] [] [] [] | glunarclock | [] [] [] [] [] | gnubiff | () [] [] () | gnubik | [] [] [] [] [] | gnucash | [] () () () () () () | gnuchess | [] [] [] [] | gnulib | [] [] [] [] [] [] [] | gnunet | [] | gnunet-gtk | [] | gold | [] [] [] | gphoto2 | [] () [] [] | gprof | [] [] [] [] [] [] | gramadoir | [] [] [] [] [] | grep | [] [] [] [] [] [] [] | grub | [] [] [] [] [] | gsasl | [] [] [] [] [] | gss | [] [] [] [] [] | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | [] () [] [] [] | gtkam | [] () [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | guix | [] [] | guix-packages | | gutenprint | [] [] [] [] | hello | [] [] [] [] [] [] [] [] | help2man | [] [] [] [] [] [] [] | help2man-texi | [] [] [] | hylafax | [] [] | idutils | [] [] [] [] [] | iso_15924 | [] () [] [] () [] () | iso_3166 | [] () [] [] [] [] () [] () | iso_3166_2 | [] () () () | iso_4217 | [] () [] [] [] () [] () | iso_639 | [] () [] [] () [] () | iso_639_3 | () () () | iso_639_5 | () () () | jwhois | [] [] [] [] [] | kbd | [] [] [] [] [] [] | klavaro | [] [] [] [] [] [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] [] () [] [] | libextractor | [] | libgnutls | [] [] [] [] | libgphoto2 | [] () [] | libgphoto2_port | [] () [] [] [] [] | libgsasl | [] [] [] [] [] | libiconv | [] [] [] [] [] [] [] | libidn | [] [] [] [] [] | liferea | [] () [] [] [] [] [] | lilypond | [] [] [] [] [] [] | lordsawar | [] [] | lprng | | lynx | [] [] [] [] [] [] | m4 | [] [] [] [] [] [] | mailfromd | [] | mailutils | [] [] [] [] | make | [] [] [] [] [] | man-db | [] [] [] [] | man-db-manpages | [] [] | midi-instruments | [] [] [] [] [] [] [] [] [] | minicom | [] [] [] [] [] | mkisofs | [] [] [] | myserver | [] [] [] [] | nano | [] [] [] [] [] [] [] | opcodes | [] [] [] [] [] | parted | [] [] [] | pies | [] | pnmixer | [] [] | popt | [] [] [] [] [] [] | procps-ng | [] [] | procps-ng-man | [] [] | psmisc | [] [] [] [] [] [] [] | pspp | [] [] [] | pushover | () [] [] [] | pwdutils | [] [] [] | pyspread | [] [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | recutils | [] [] [] [] | rpm | [] [] [] [] [] | rush | [] [] [] | sarg | [] [] | sed | [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] [] [] | skribilo | [] [] [] | solfege | [] [] [] [] [] [] [] [] | solfege-manual | [] [] [] [] [] | spotmachine | [] [] [] [] [] | sudo | [] [] [] [] [] [] | sudoers | [] [] [] [] [] [] | sysstat | [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] [] [] [] | texinfo_document | [] [] [] [] | tigervnc | [] [] [] [] [] [] | tin | [] [] [] [] | tin-man | [] | tracgoogleappsa... | [] [] [] [] [] | trader | [] [] [] [] [] [] | util-linux | [] [] [] [] | ve | [] [] [] [] [] | vice | () () () | vmm | [] [] | vorbis-tools | [] [] [] [] | wastesedge | [] | wcd | [] [] [] [] | wcd-man | [] | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] | wyslij-po | [] [] [] [] | xboard | [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] [] | +--------------------------------------------------+ da de el en en_GB en_ZA eo es et eu fa fi fr 119 131 32 1 6 0 94 95 22 13 4 102 139 ga gd gl gu he hi hr hu hy ia id is it ja ka kk +-------------------------------------------------+ a2ps | [] [] [] [] | aegis | [] | anubis | [] [] [] [] | aspell | [] [] [] [] [] | bash | [] [] [] [] | bfd | [] [] | binutils | [] [] [] | bison | [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | | ccd2cue | [] | ccide | [] [] | cflow | [] [] [] | clisp | | coreutils | [] [] | cpio | [] [] [] [] [] [] | cppi | [] [] [] [] [] | cpplib | [] [] | cryptsetup | [] | datamash | | denemo | [] | dfarc | [] [] [] | dialog | [] [] [] [] [] [] [] [] [] [] | dico | | diffutils | [] [] [] [] | dink | [] | direvent | [] | doodle | [] [] | dos2unix | [] [] | dos2unix-man | | e2fsprogs | [] [] | enscript | [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] [] [] [] [] | flex | [] | freedink | [] [] [] [] | fusionforge | | gas | [] | gawk | [] () [] | gcal | | gcc | | gdbm | | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] | gettext-tools | [] [] [] | gjay | [] | glunarclock | [] [] [] [] [] [] | gnubiff | [] [] () | gnubik | [] [] [] | gnucash | () () () () () | gnuchess | | gnulib | [] [] [] [] [] | gnunet | | gnunet-gtk | | gold | [] [] | gphoto2 | [] [] [] [] | gprof | [] [] [] [] | gramadoir | [] [] [] | grep | [] [] [] [] [] [] [] | grub | [] [] [] | gsasl | [] [] [] [] [] | gss | [] [] [] [] [] | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] [] [] | gtkam | [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] [] [] | hello | [] [] [] [] [] | help2man | [] [] [] | help2man-texi | | hylafax | [] | idutils | [] [] | iso_15924 | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | [] [] | iso_4217 | [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | iso_639_5 | | jwhois | [] [] [] [] | kbd | [] [] [] | klavaro | [] [] [] [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] [] () | libc | [] [] [] [] [] | libexif | [] | libextractor | | libgnutls | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] [] [] | libidn | [] [] [] [] | liferea | [] [] [] [] [] | lilypond | [] | lordsawar | | lprng | [] | lynx | [] [] [] [] | m4 | [] [] [] [] [] | mailfromd | | mailutils | | make | [] [] [] [] | man-db | [] [] | man-db-manpages | [] [] | midi-instruments | [] [] [] [] [] [] [] [] [] | minicom | [] [] [] | mkisofs | [] [] | myserver | [] | nano | [] [] [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] [] | pies | | pnmixer | [] [] | popt | [] [] [] [] [] [] [] [] [] [] | procps-ng | | procps-ng-man | | psmisc | [] [] [] [] | pspp | [] [] | pushover | [] | pwdutils | [] | pyspread | | radius | [] | recode | [] [] [] [] [] [] [] | recutils | | rpm | [] | rush | [] | sarg | | sed | [] [] [] [] [] [] [] | sharutils | | shishi | | skribilo | [] | solfege | [] [] | solfege-manual | | spotmachine | | sudo | [] [] [] [] | sudoers | [] [] [] | sysstat | [] [] [] [] | tar | [] [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] [] [] | tigervnc | | tin | | tin-man | | tracgoogleappsa... | [] [] [] [] | trader | [] [] | util-linux | [] | ve | [] | vice | () () | vmm | | vorbis-tools | [] [] | wastesedge | [] | wcd | | wcd-man | | wdiff | [] [] [] | wget | [] [] [] [] | wyslij-po | [] [] [] | xboard | | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] | +-------------------------------------------------+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl +--------------------------------------------------+ a2ps | [] [] | aegis | [] | anubis | [] [] [] | aspell | [] [] | bash | [] [] | bfd | | binutils | | bison | [] | bison-runtime | [] [] [] [] [] [] | buzztrax | | ccd2cue | | ccide | [] [] | cflow | [] | clisp | [] | coreutils | [] [] | cpio | [] | cppi | | cpplib | [] | cryptsetup | [] | datamash | [] [] | denemo | | dfarc | [] [] | dialog | [] [] [] [] [] [] | dico | | diffutils | [] [] [] | dink | [] | direvent | [] | doodle | [] | dos2unix | [] [] | dos2unix-man | [] | e2fsprogs | [] | enscript | [] | exif | [] [] [] | fetchmail | [] | findutils | [] [] | flex | [] | freedink | [] [] | fusionforge | | gas | | gawk | [] | gcal | | gcc | | gdbm | | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] | gjay | | glunarclock | [] [] | gnubiff | [] | gnubik | [] [] | gnucash | () () () () () () () [] | gnuchess | [] [] | gnulib | [] | gnunet | | gnunet-gtk | | gold | | gphoto2 | [] | gprof | [] [] | gramadoir | [] | grep | [] [] | grub | [] [] [] | gsasl | [] | gss | | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] | gtkspell | [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] | hello | [] [] [] | help2man | [] | help2man-texi | | hylafax | [] | idutils | [] | iso_15924 | () [] [] | iso_3166 | [] [] [] () [] [] [] [] [] [] | iso_3166_2 | () [] | iso_4217 | () [] [] [] | iso_639 | [] [] () [] [] [] [] | iso_639_3 | [] () [] | iso_639_5 | () | jwhois | [] [] | kbd | [] | klavaro | [] [] | ld | | leafpad | [] [] [] [] [] | libc | [] [] | libexif | [] | libextractor | [] | libgnutls | [] [] | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | [] [] | libidn | [] | liferea | [] [] [] | lilypond | [] | lordsawar | | lprng | | lynx | [] | m4 | [] | mailfromd | | mailutils | | make | [] [] | man-db | [] | man-db-manpages | [] | midi-instruments | [] [] [] [] [] [] [] | minicom | [] | mkisofs | [] | myserver | | nano | [] [] [] | opcodes | [] | parted | [] [] | pies | | pnmixer | [] | popt | [] [] [] [] [] | procps-ng | | procps-ng-man | | psmisc | [] | pspp | [] [] | pushover | | pwdutils | [] | pyspread | | radius | [] | recode | [] [] | recutils | [] | rpm | [] | rush | [] | sarg | | sed | [] [] | sharutils | [] | shishi | | skribilo | | solfege | [] [] | solfege-manual | [] | spotmachine | [] | sudo | [] [] [] | sudoers | [] [] [] | sysstat | [] [] | tar | [] [] [] | texinfo | [] | texinfo_document | [] | tigervnc | [] | tin | | tin-man | | tracgoogleappsa... | [] [] [] | trader | [] | util-linux | [] | ve | [] | vice | [] | vmm | [] | vorbis-tools | [] | wastesedge | [] | wcd | [] | wcd-man | [] | wdiff | [] | wget | [] [] | wyslij-po | [] | xboard | [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +--------------------------------------------------+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr +------------------------------------------------+ a2ps | [] [] [] [] [] [] [] | aegis | [] [] | anubis | [] [] [] | aspell | [] [] [] [] [] [] [] | bash | [] [] [] [] [] [] | bfd | [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | [] | ccd2cue | [] [] | ccide | [] [] [] | cflow | [] [] [] | clisp | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cppi | [] [] [] | cpplib | [] [] [] | cryptsetup | [] [] [] | datamash | [] [] | denemo | | dfarc | [] [] [] | dialog | [] [] [] [] [] [] [] | dico | [] | diffutils | [] [] [] | dink | | direvent | [] [] [] | doodle | [] [] | dos2unix | [] [] [] [] | dos2unix-man | [] [] | e2fsprogs | [] | enscript | [] [] [] [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | freedink | [] [] [] [] [] | fusionforge | | gas | | gawk | [] | gcal | | gcc | | gdbm | [] [] [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gjay | [] | glunarclock | [] [] [] [] [] [] | gnubiff | [] | gnubik | [] [] [] [] | gnucash | () () () () () [] | gnuchess | [] [] | gnulib | [] [] [] [] [] | gnunet | | gnunet-gtk | | gold | | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] | grub | [] [] [] [] [] | gsasl | [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | [] [] [] [] [] | gtkam | [] [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] [] | hello | [] [] [] [] [] [] | help2man | [] [] [] [] | help2man-texi | [] | hylafax | | idutils | [] [] [] | iso_15924 | [] () [] [] [] [] | iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | iso_3166_2 | [] () [] | iso_4217 | [] [] () [] [] [] [] [] | iso_639 | [] [] [] () [] [] [] [] [] [] | iso_639_3 | [] () | iso_639_5 | () [] | jwhois | [] [] [] [] | kbd | [] [] | klavaro | [] [] [] [] [] | ld | | leafpad | [] [] [] [] [] [] [] [] | libc | [] [] [] | libexif | [] () [] | libextractor | [] | libgnutls | [] | libgphoto2 | [] | libgphoto2_port | [] [] [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] [] | liferea | [] [] [] [] () [] [] | lilypond | | lordsawar | | lprng | [] | lynx | [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] | make | [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] [] | midi-instruments | [] [] [] [] [] [] [] [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | [] [] | nano | [] [] [] [] [] [] | opcodes | | parted | [] [] [] [] [] [] | pies | [] | pnmixer | [] | popt | [] [] [] [] [] [] | procps-ng | [] | procps-ng-man | [] | psmisc | [] [] [] [] | pspp | [] [] | pushover | | pwdutils | [] | pyspread | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | recutils | [] [] | rpm | [] | rush | [] [] [] | sarg | [] [] | sed | [] [] [] [] [] [] [] [] | sharutils | [] [] [] | shishi | [] [] | skribilo | [] | solfege | [] [] [] | solfege-manual | [] [] | spotmachine | [] [] | sudo | [] [] [] [] [] [] | sudoers | [] [] [] [] | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] [] | tigervnc | [] [] [] | tin | [] | tin-man | | tracgoogleappsa... | [] [] [] [] | trader | [] [] | util-linux | [] [] | ve | [] [] [] | vice | | vmm | | vorbis-tools | [] [] [] | wastesedge | | wcd | | wcd-man | | wdiff | [] [] [] [] [] | wget | [] [] [] [] [] | wyslij-po | [] [] [] [] | xboard | [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | +------------------------------------------------+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr 7 3 6 114 1 12 88 32 82 3 40 45 7 101 sv sw ta te tg th tr uk ur vi wa wo zh_CN +----------------------------------------------+ a2ps | [] [] [] [] [] | aegis | [] | anubis | [] [] [] [] | aspell | [] [] [] [] [] | bash | [] [] [] [] | bfd | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] | bison-runtime | [] [] [] [] [] [] | buzztrax | [] [] [] | ccd2cue | [] [] [] | ccide | [] [] [] [] | cflow | [] [] [] [] | clisp | | coreutils | [] [] [] | cpio | [] [] [] [] [] | cppi | [] [] [] [] | cpplib | [] [] [] [] [] | cryptsetup | [] [] [] | datamash | [] [] [] | denemo | [] | dfarc | [] [] | dialog | [] [] [] [] [] [] | dico | [] | diffutils | [] [] [] [] [] | dink | [] | direvent | [] [] | doodle | [] [] | dos2unix | [] [] [] [] | dos2unix-man | [] [] [] | e2fsprogs | [] [] [] [] | enscript | [] [] [] [] | exif | [] [] [] [] [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] | freedink | [] [] [] | fusionforge | | gas | [] | gawk | [] [] [] | gcal | [] [] [] | gcc | [] | gdbm | [] [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] [] [] | gjay | [] [] [] | glunarclock | [] [] [] [] | gnubiff | [] [] | gnubik | [] [] [] [] | gnucash | () () () () [] | gnuchess | [] [] [] | gnulib | [] [] [] [] | gnunet | | gnunet-gtk | | gold | [] [] | gphoto2 | [] [] [] [] | gprof | [] [] [] [] | gramadoir | [] [] [] | grep | [] [] [] [] [] | grub | [] [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkspell | [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] [] [] [] | hello | [] [] [] [] [] [] | help2man | [] [] [] | help2man-texi | [] | hylafax | [] | idutils | [] [] [] | iso_15924 | [] () [] [] () [] | iso_3166 | [] [] () [] [] () [] [] | iso_3166_2 | () [] [] () [] | iso_4217 | [] () [] [] () [] | iso_639 | [] [] [] () [] [] () [] [] | iso_639_3 | [] () [] [] () | iso_639_5 | () [] () | jwhois | [] [] [] [] | kbd | [] [] [] [] | klavaro | [] [] [] [] [] [] | ld | [] [] [] [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] [] () | libextractor | [] [] | libgnutls | [] [] [] [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] | libidn | () [] [] [] | liferea | [] [] [] [] [] | lilypond | [] | lordsawar | | lprng | [] | lynx | [] [] [] [] | m4 | [] [] [] | mailfromd | [] [] | mailutils | [] | make | [] [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] | midi-instruments | [] [] [] [] [] [] | minicom | [] [] | mkisofs | [] [] [] | myserver | [] | nano | [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] [] | pies | [] [] | pnmixer | [] [] [] | popt | [] [] [] [] [] [] [] | procps-ng | [] [] | procps-ng-man | [] | psmisc | [] [] [] [] | pspp | [] [] [] | pushover | [] | pwdutils | [] [] | pyspread | [] | radius | [] [] | recode | [] [] [] [] | recutils | [] [] [] | rpm | [] [] [] [] | rush | [] [] | sarg | | sed | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] [] | skribilo | [] [] | solfege | [] [] [] [] | solfege-manual | [] | spotmachine | [] [] [] | sudo | [] [] [] [] [] | sudoers | [] [] [] [] | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] | tigervnc | [] [] [] | tin | [] | tin-man | | tracgoogleappsa... | [] [] [] [] [] | trader | [] | util-linux | [] [] [] [] | ve | [] [] [] [] | vice | () () | vmm | | vorbis-tools | [] [] | wastesedge | | wcd | [] [] [] | wcd-man | [] | wdiff | [] [] [] [] | wget | [] [] [] | wyslij-po | [] [] | xboard | [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | +----------------------------------------------+ sv sw ta te tg th tr uk ur vi wa wo zh_CN 106 1 4 3 0 13 51 115 1 125 7 1 100 zh_HK zh_TW +-------------+ a2ps | | 30 aegis | | 9 anubis | | 19 aspell | | 29 bash | [] | 23 bfd | | 11 binutils | | 12 bison | [] | 18 bison-runtime | [] | 38 buzztrax | | 9 ccd2cue | | 10 ccide | | 17 cflow | | 16 clisp | | 10 coreutils | | 18 cpio | | 20 cppi | | 17 cpplib | [] | 19 cryptsetup | | 14 datamash | | 11 denemo | | 5 dfarc | | 17 dialog | [] | 42 dico | | 6 diffutils | | 22 dink | | 10 direvent | | 11 doodle | | 12 dos2unix | [] | 18 dos2unix-man | | 9 e2fsprogs | | 15 enscript | | 21 exif | | 27 fetchmail | | 19 findutils | | 29 flex | [] | 19 freedink | | 24 fusionforge | | 3 gas | | 5 gawk | | 13 gcal | | 8 gcc | | 2 gdbm | | 10 gettext-examples | [] [] | 40 gettext-runtime | [] [] | 35 gettext-tools | [] | 24 gjay | | 9 glunarclock | [] | 27 gnubiff | | 9 gnubik | | 19 gnucash | () | 6 gnuchess | | 11 gnulib | | 23 gnunet | | 1 gnunet-gtk | | 1 gold | | 7 gphoto2 | [] | 19 gprof | | 21 gramadoir | | 14 grep | [] | 31 grub | | 21 gsasl | [] | 19 gss | | 17 gst-plugins-bad | | 21 gst-plugins-base | | 27 gst-plugins-good | | 32 gst-plugins-ugly | | 34 gstreamer | [] | 32 gtick | | 19 gtkam | | 24 gtkspell | [] [] | 48 guix | | 2 guix-packages | | 0 gutenprint | | 15 hello | [] | 30 help2man | | 18 help2man-texi | | 5 hylafax | | 5 idutils | | 14 iso_15924 | [] | 23 iso_3166 | [] [] | 58 iso_3166_2 | | 9 iso_4217 | [] [] | 28 iso_639 | [] [] | 46 iso_639_3 | | 10 iso_639_5 | | 2 jwhois | [] | 20 kbd | | 17 klavaro | | 30 ld | [] | 15 leafpad | [] | 39 libc | [] | 24 libexif | | 10 libextractor | | 5 libgnutls | | 13 libgphoto2 | | 10 libgphoto2_port | [] | 19 libgsasl | | 18 libiconv | [] | 29 libidn | | 17 liferea | | 29 lilypond | | 11 lordsawar | | 3 lprng | | 3 lynx | | 19 m4 | [] | 22 mailfromd | | 4 mailutils | | 6 make | | 19 man-db | | 15 man-db-manpages | | 10 midi-instruments | [] | 43 minicom | [] | 17 mkisofs | | 13 myserver | | 9 nano | [] | 30 opcodes | | 12 parted | [] | 23 pies | | 4 pnmixer | | 9 popt | [] | 36 procps-ng | | 5 procps-ng-man | | 4 psmisc | [] | 22 pspp | | 13 pushover | | 6 pwdutils | | 8 pyspread | | 6 radius | | 9 recode | | 31 recutils | | 10 rpm | [] | 13 rush | | 10 sarg | | 4 sed | [] | 35 sharutils | | 13 shishi | | 7 skribilo | | 7 solfege | | 21 solfege-manual | | 9 spotmachine | | 11 sudo | | 26 sudoers | | 22 sysstat | | 23 tar | [] | 30 texinfo | | 17 texinfo_document | | 13 tigervnc | | 14 tin | [] | 7 tin-man | | 1 tracgoogleappsa... | [] | 22 trader | | 12 util-linux | | 13 ve | | 14 vice | | 1 vmm | | 3 vorbis-tools | | 13 wastesedge | | 3 wcd | | 8 wcd-man | | 3 wdiff | [] | 23 wget | | 21 wyslij-po | | 14 xboard | | 10 xdg-user-dirs | [] [] | 68 xkeyboard-config | [] | 28 +-------------+ 89 teams zh_HK zh_TW 166 domains 7 42 2809 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If Jun 2014 seems to be old, you may fetch a more recent copy of this 'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at 'http://translationproject.org/extra/matrix.html'. 1.5 Using 'gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU 'gettext' in your package. Of course you have to respect the GNU Lesser General Public License which covers the use of the GNU 'gettext' library. This means in particular that even non-free programs can use 'libintl' as a shared library, whereas only free software can use 'libintl' as a static library or use modified versions of 'libintl'. Once the sources are changed appropriately and the setup can handle the use of 'gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact 'coordinator@translationproject.org' to make the '.pot' files available to the translation teams. sarg-2.3.11/BETA-TESTERS000066400000000000000000000004321324060677300143260ustar00rootroot00000000000000Special thanks to this friends that have spent time to test sarg before the final release: Francesco Collini Renato Leon Guilherme Veloso Neves Oliveira Michael da Silva Pereira sarg-2.3.11/CMakeLists.txt000066400000000000000000000360551324060677300153130ustar00rootroot00000000000000CMAKE_MINIMUM_REQUIRED (VERSION 2.6) PROJECT(sarg C) SET(sarg_VERSION 2) SET(sarg_REVISION "3.11") SET(sarg_BUILD "") SET(sarg_BUILDDATE "Jan-14-2018") INCLUDE(AddFileDependencies) INCLUDE(CheckIncludeFile) INCLUDE(CheckLibraryExists) INCLUDE(CheckFunctionExists) INCLUDE(CheckTypeSize) INCLUDE(CheckSymbolExists) INCLUDE(CheckCCompilerFlag) INCLUDE(CheckStructHasMember) DEFINE_PROPERTY(GLOBAL PROPERTY enable-htmldir BRIEF_DOCS "--enable-htmldir=htmldir" FULL_DOCS "Select htmldir as the root of your WWW documents") SET(PACKAGE_NAME "sarg") SET(PACKAGE_VERSION "${sarg_VERSION}.${sarg_REVISION}${sarg_BUILD}") MACRO(SET_ABS_SOURCE VAR DOC) IF(${VAR} AND NOT ${VAR}_SOURCE) SET(PATH "${${VAR}}") IF(NOT IS_ABSOLUTE ${PATH}) SET(PATH "${CMAKE_INSTALL_PREFIX}/${PATH}") ENDIF(NOT IS_ABSOLUTE ${PATH}) GET_FILENAME_COMPONENT(SOURCE_PATH "${PATH}" ABSOLUTE) SET(${VAR}_SOURCE "${SOURCE_PATH}" CACHE PATH "${DOC}") ENDIF(${VAR} AND NOT ${VAR}_SOURCE) ENDMACRO(SET_ABS_SOURCE VAR DOC) SET_ABS_SOURCE(SYSCONFDIR "The full path of the configuration directory to be compiled in the program") SET_ABS_SOURCE(FONTDIR "The full path of the fonts directory to be compiled in the program") SET_ABS_SOURCE(IMAGEDIR "The full path of the images directory to be compiled in the program") SET(SYSCONFDIR "etc/sarg" CACHE PATH "The configuration directory relative to the install directory") SET(BINDIR "bin" CACHE PATH "The directory to install the exec relative to the install directory") SET(MANDIR "share/man/man1" CACHE PATH "The directory to copy the man page relative to the install directory") SET(FONTDIR "share/sarg/fonts" CACHE PATH "The directory to copy the fonts relative to the install directory") SET(IMAGEDIR "share/sarg/images" CACHE PATH "The directory to copy the images files relative to the install directory") SET(SARGPHPDIR "share/sarg/sarg-php" CACHE PATH "The directory to copy sarg-php relative to the install directory") # Sources to compile INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}") #Make it find this config.h before the one in src/include INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include") SET(SRC util.c log.c report.c topuser.c email.c sort.c html.c index.c getconf.c usage.c decomp.c ip2name.c ip2name_dns.c useragent.c exclude.c convlog.c totday.c repday.c datafile.c indexonly.c splitlog.c lastlog.c topsites.c siteuser.c css.c smartfilter.c denied.c authfail.c charset.c dichotomic.c redirector.c auth.c download.c grepday.c ip2name_exec.c dansguardian_log.c dansguardian_report.c realtime.c btree_cache.c usertab.c userinfo.c longline.c url.c) FOREACH(f ${SRC}) ADD_FILE_DEPENDENCIES(${f} ${CMAKE_BINARY_DIR}/config.h ${CMAKE_SOURCE_DIR}/include/conf.h ${CMAKE_SOURCE_DIR}/include/info.h ${CMAKE_SOURCE_DIR}/include/defs.h) ENDFOREACH(f) ADD_EXECUTABLE(sarg ${SRC}) SET_TARGET_PROPERTIES(sarg PROPERTIES VERSION "${sarg_VERSION}.${sarg_REVISION}.${sarg_BUILD}") SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "$ENV{CFLAGS} -Wall -Wno-sign-compare") SET_TARGET_PROPERTIES(sarg PROPERTIES LINK_FLAGS "$ENV{LDFLAGS}") CHECK_C_COMPILER_FLAG("-Wextra" HAVE_WEXTRA) IF(HAVE_WEXTRA) # Not supported by gcc 3.3 GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wextra -Wno-unused-parameter") ENDIF(HAVE_WEXTRA) CHECK_C_COMPILER_FLAG("-Werror=implicit-function-declaration" HAVE_WERROR_IMPLICIT_FUNCTION) IF(HAVE_WERROR_IMPLICIT_FUNCTION) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Werror=implicit-function-declaration") ENDIF(HAVE_WERROR_IMPLICIT_FUNCTION) CHECK_C_COMPILER_FLAG("-Werror=format" HAVE_WERROR_FORMAT) IF(HAVE_WERROR_FORMAT) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Werror=format") ENDIF(HAVE_WERROR_FORMAT) # Required header files CHECK_INCLUDE_FILE(stdio.h HAVE_STDIO_H) CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H) CHECK_INCLUDE_FILE(string.h HAVE_STRING_H) CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H) CHECK_INCLUDE_FILE(sys/time.h HAVE_SYS_TIME_H) CHECK_INCLUDE_FILE(time.h HAVE_TIME_H) CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H) CHECK_INCLUDE_FILE(sys/dirent.h HAVE_SYS_DIRENT_H) CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H) CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H) CHECK_INCLUDE_FILE(sys/socket.h HAVE_SYS_SOCKET_H) CHECK_INCLUDE_FILE(netdb.h HAVE_NETDB_H) CHECK_INCLUDE_FILE(arpa/inet.h HAVE_ARPA_INET_H) CHECK_INCLUDE_FILE(netinet/in.h HAVE_NETINET_H) CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) CHECK_INCLUDE_FILE(ctype.h HAVE_CTYPE_H) CHECK_INCLUDE_FILE(errno.h HAVE_ERRNO_H) CHECK_INCLUDE_FILE(sys/resource.h HAVE_SYS_RESOURCE_H) CHECK_INCLUDE_FILE(sys/wait.h HAVE_SYS_WAIT_H) CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H) CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H) CHECK_INCLUDE_FILE(limits.h HAVE_LIMITS_H) CHECK_INCLUDE_FILE(math.h HAVE_MATH_H) CHECK_INCLUDE_FILE(locale.h HAVE_LOCALE_H) CHECK_INCLUDE_FILE(execinfo.h HAVE_EXECINFO_H) CHECK_INCLUDE_FILE(libintl.h HAVE_LIBINTL_H) CHECK_INCLUDE_FILE(libgen.h HAVE_LIBGEN_H) CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H) CHECK_INCLUDE_FILE(getopt.h HAVE_GETOPT_H) CHECK_INCLUDE_FILE(fcntl.h HAVE_FCNTL_H) IF(!HAVE_GETOPT_H) MESSAGE(SEND_ERROR "getopt.h is required to compile sarg") ENDIF(!HAVE_GETOPT_H) # Required libraries TARGET_LINK_LIBRARIES(sarg m) # Windows need lib wsock32 and ws2_32 IF(CMAKE_SYSTEM_NAME STREQUAL "Windows") CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) CHECK_INCLUDE_FILE(winsock.h HAVE_WINSOCK_H) CHECK_INCLUDE_FILE(ws2tcpip.h HAVE_WS2TCPIP_H) FIND_LIBRARY(WSOCK_LIB NAMES wsock32 DOC "The winsock library") IF(WSOCK_LIB) TARGET_LINK_LIBRARIES(sarg wsock32) LIST(APPEND CMAKE_REQUIRED_LIBRARIES wsock32) ENDIF(WSOCK_LIB) FIND_LIBRARY(WSOCK2_LIB NAMES ws2_32 DOC "The winsock 2 library") IF(WSOCK2_LIB) TARGET_LINK_LIBRARIES(sarg ws2_32) LIST(APPEND CMAKE_REQUIRED_LIBRARIES ws2_32) ENDIF(WSOCK2_LIB) ADD_DEFINITIONS(-DWINDOWS) ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows") CHECK_FUNCTION_EXISTS(bzero HAVE_BZERO) CHECK_FUNCTION_EXISTS(backtrace HAVE_BACKTRACE) CHECK_FUNCTION_EXISTS(symlink HAVE_SYMLINK) CHECK_FUNCTION_EXISTS(lstat HAVE_LSTAT) CHECK_FUNCTION_EXISTS(getnameinfo HAVE_GETNAMEINFO) CHECK_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO) CHECK_FUNCTION_EXISTS(inet_aton HAVE_INET_ATON) CHECK_STRUCT_HAS_MEMBER("struct sockaddr_storage" ss_len sys/socket.h HAVE_SOCKADDR_SA_LEN) # Find gd CHECK_INCLUDE_FILE(gd.h HAVE_GD_H) IF(HAVE_GD_H) CHECK_INCLUDE_FILE(gdfontl.h HAVE_GDFONTL_H) CHECK_INCLUDE_FILE(gdfontt.h HAVE_GDFONTT_H) CHECK_INCLUDE_FILE(gdfonts.h HAVE_GDFONTS_H) CHECK_INCLUDE_FILE(gdfontmb.h HAVE_GDFONTMB_H) CHECK_INCLUDE_FILE(gdfontg.h HAVE_GDFONTG_H) FIND_LIBRARY(GD_LIBRARY NAMES gd bgd DOC "The GD library") IF(GD_LIBRARY) #CHECK_LIBRARY_EXISTS(gd gdImagePng "." HAVE_GD_LIB) TARGET_LINK_LIBRARIES(sarg ${GD_LIBRARY}) SET(HAVE_GD_LIB GD_LIBRARY CACHE PATH DOC "True IF GD was found") SET(HAVE_GD_LIB CACHE BOOL DOC "True IF must use GD") ENDIF(GD_LIBRARY) ENDIF(HAVE_GD_H) # Find iconv OPTION(ENABLE_ICONV "Enable the usage of iconv" ON) IF(ENABLE_ICONV) CHECK_INCLUDE_FILE(iconv.h HAVE_ICONV_H) IF(HAVE_ICONV_H) FIND_PATH(ICONV_INCLUDE_PATH NAMES iconv.h) FIND_LIBRARY(ICONV_LIBRARY NAMES iconv DOC "The ICONV library") IF(ICONV_LIBRARY) TARGET_LINK_LIBRARIES(sarg ${ICONV_LIBRARY}) ENDIF(ICONV_LIBRARY) CHECK_FUNCTION_EXISTS(iconv_open HAVE_ICONV) IF(NOT USE_CONST_ICONV) SET(ICONV_CONST_FILE ${CMAKE_BINARY_DIR}/consticonv.c) FILE(WRITE ${ICONV_CONST_FILE} " #include #ifdef __CLASSIC_C__ int main(){ int ac; char*av[]; #else int main(int ac, char*av[]){ #endif iconv_t localtoutf=(iconv_t)-1; const char *str=\"\"; char *sstr=\"\"; size_t slen=0, sslen=0; iconv (localtoutf, (const char **)&str, &slen, &sstr, &sslen); if(ac > 1000) { return *av[0]; } return 0; } ") TRY_COMPILE(USE_CONST_ICONV ${CMAKE_BINARY_DIR} ${ICONV_CONST_FILE} CMAKE_FLAGS -DLINK_LIBRARIES="iconv") FILE(REMOVE ${ICONV_CONST_FILE}) IF(USE_CONST_ICONV) SET(ICONV_CONST "const" CACHE STRING "The type of char to use with iconv") MESSAGE(STATUS "iconv requires const char **") ELSEIF(USE_CONST_ICONV) SET(ICONV_CONST "" CACHE STRING "The type of char to use with iconv") MESSAGE(STATUS "iconv requires char **") ENDIF(USE_CONST_ICONV) SET(USE_CONST_ICONV TRUE CACHE BOOL "Use const char ** with iconv") ENDIF(NOT USE_CONST_ICONV) ENDIF(HAVE_ICONV_H) ENDIF(ENABLE_ICONV) # Find ldap CHECK_INCLUDE_FILE(ldap.h HAVE_LDAP_H) IF(HAVE_LDAP_H) FIND_LIBRARY(LDAP_LIBRARY NAMES ldap DOC "The ldap library") IF(LDAP_LIBRARY) TARGET_LINK_LIBRARIES(sarg ${LDAP_LIBRARY}) SET(HAVE_LDAP LDAP_LIBRARY CACHE PATH DOC "True if LDAP was found") SET(HAVE_LDAP CACHE BOOL DOC "True if must use LDAP") ENDIF(LDAP_LIBRARY) ENDIF(HAVE_LDAP_H) # Find pcre CHECK_INCLUDE_FILE(pcre.h HAVE_PCRE_H) IF(HAVE_PCRE_H) FIND_LIBRARY(PCRE_LIBRARY NAMES pcre DOC "The pcre library") IF(PCRE_LIBRARY) TARGET_LINK_LIBRARIES(sarg ${PCRE_LIBRARY}) SET(HAVE_PCRE PCRE_LIBRARY CACHE PATH DOC "True if pcre was found") SET(HAVE_PCRE CACHE BOOL DOC "True if must use pcre") ENDIF(PCRE_LIBRARY) ENDIF(HAVE_PCRE_H) # Support for large files OPTION(ENABLE_LARGEFILE "Enable the usage of large files" ON) IF(ENABLE_LARGEFILE) IF(LFS_SEARCHED MATCHES "^LFS_SEARCHED$") SET(SEARCH_LARGEFILE TRUE) ENDIF(LFS_SEARCHED MATCHES "^LFS_SEARCHED$") ENDIF(ENABLE_LARGEFILE) IF(SEARCH_LARGEFILE) SET(LFS_SEARCHED TRUE CACHE INTERNAL "LFS has been searched") MESSAGE(STATUS "Looking for large file support") SET(LFS_FILE "${CMAKE_BINARY_DIR}/lfsfopen64.c") FILE(WRITE ${LFS_FILE} " #include int main(void) { FILE *f = fopen64 (\"/tmp/foo\",\"r\"); return(0); } ") TRY_COMPILE(HAVE_FOPEN64 ${CMAKE_BINARY_DIR} ${LFS_FILE} COMPILE_DEFINITIONS "-Wall -Werror") IF(HAVE_FOPEN64) MESSAGE(STATUS "Looking for large file support - found") ELSE(HAVE_FOPEN64) SET(LFS_NEED_DEFINE FALSE CACHE BOOL "Does LFS require _LARGEFILE64_SOURCE ?") MESSAGE(STATUS "Looking for large file support with _LARGEFILE64_SOURCE") FILE(WRITE ${LFS_FILE} " #define _LARGEFILE64_SOURCE #include int main(void) { FILE *f = fopen64 (\"/tmp/foo\",\"r\"); return(0); } ") TRY_COMPILE(HAVE_FOPEN64 ${CMAKE_BINARY_DIR} ${LFS_FILE} OUTPUT_VARIABLE LFS_OUTPUT) IF(HAVE_FOPEN64) MESSAGE(STATUS "Looking for large file support with _LARGEFILE64_SOURCE - found") SET(LFS_NEED_DEFINE TRUE CACHE BOOL "Does LFS require _LARGEFILE64_SOURCE ?" FORCE) ELSE(HAVE_FOPEN64) MESSAGE("Failed with output ${LFS_OUTPUT}") ENDIF(HAVE_FOPEN64) ENDIF(HAVE_FOPEN64) FILE(REMOVE ${LFS_FILE}) ENDIF(SEARCH_LARGEFILE) IF(LFS_NEED_DEFINE) ADD_DEFINITIONS(-D_LARGEFILE64_SOURCE) ENDIF(LFS_NEED_DEFINE) # Find rlim_t IF(HAVE_SYS_RESOURCE_H) SET(CMAKE_EXTRA_INCLUDE_FILES "sys/resource.h") ENDIF(HAVE_SYS_RESOURCE_H) CHECK_TYPE_SIZE(rlim_t RLIM_T) IF(HAVE_RLIM_T) IF(RLIM_T STREQUAL 4) SET(RLIM_STRING "%d") ELSEIF(RLIM_T STREQUAL 8) SET(RLIM_STRING "%lli") ELSE(RLIM_T STREQUAL 4) MESSAGE("Unknown rlim_t size") ENDIF(RLIM_T STREQUAL 4) #ELSE(HAVE_RLIM_T) # MESSAGE("Cannot detect the size of your system's rlim_t type") ENDIF(HAVE_RLIM_T) CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP) IF(NOT HAVE_MKSTEMP) # MingW provide mkstemps in libiberty but doesn't declare it in any header file FIND_LIBRARY(IBERTY_LIB NAMES iberty DOC "The library of mingw containing mkstemps") IF(IBERTY_LIB) TARGET_LINK_LIBRARIES(sarg iberty) ENDIF(IBERTY_LIB) ENDIF(NOT HAVE_MKSTEMP) # Gettext and friends IF(NOT HAVE_LC_MESSAGES) SET(FILES) IF(HAVE_LOCALE_H) LIST(APPEND FILES "locale.h") ENDIF(HAVE_LOCALE_H) IF(HAVE_LIBINTL_H) LIST(APPEND FILES "libintl.h") ENDIF(HAVE_LIBINTL_H) LIST(LENGTH FILES NFILES) IF(NFILES GREATER 0) CHECK_SYMBOL_EXISTS(LC_MESSAGES "${FILES}" HAVE_LC_MESSAGES) ENDIF(NFILES GREATER 0) ENDIF(NOT HAVE_LC_MESSAGES) # System particularities IF(CMAKE_SYSTEM_NAME STREQUAL "solaris") TARGET_LINK_LIBRARIES(sarg socket nsl) #SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_DEFINITIONS="-DSOLARIS ${COMPILE_DEFINITIONS}") ADD_DEFINITIONS(-DSOLARIS) ENDIF(CMAKE_SYSTEM_NAME STREQUAL "solaris") OPTION(ENABLE_EXTRA_PROTECT "Enable compile and runtime extra protections" OFF) IF(ENABLE_EXTRA_PROTECT) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) # _FORTIFY_SOURCE may have been defined by the system. It must be undefined before it is changed to the value we want. SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -fstack-protector -U _FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Werror") CHECK_C_COMPILER_FLAG("-Wformat -Werror=format-security" HAVE_WERROR_FORMAT_SECURITY) IF(HAVE_WERROR_FORMAT_SECURITY) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wformat -Werror=format-security") ENDIF(HAVE_WERROR_FORMAT_SECURITY) CHECK_C_COMPILER_FLAG("-Wempty-body" HAVE_EMPTY_BODY) IF(HAVE_EMPTY_BODY) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wempty-body") ENDIF(HAVE_EMPTY_BODY) ENDIF(ENABLE_EXTRA_PROTECT) # Compile sarg for debugging OPTION(ENABLE_DEBUG "Compile sarg with debugging symbols" OFF) IF(ENABLE_DEBUG) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -g") ENDIF(ENABLE_DEBUG) # Enable double check of the data written in the reports OPTION(ENABLE_DOUBLE_CHECK_DATA "Make sarg double check the data it manipulates and output a warning if an error is found" OFF) # Save the configuration for the project CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/include/config.h.in" "${CMAKE_BINARY_DIR}/config.h" @ONLY) # Installation of the project INSTALL(TARGETS sarg DESTINATION "${BINDIR}") INSTALL(FILES sarg.conf DESTINATION "${SYSCONFDIR}" RENAME sarg.conf.exemple) INSTALL(FILES exclude_codes user_limit_block css.tpl DESTINATION "${SYSCONFDIR}") INSTALL(FILES sarg.1 DESTINATION "${MANDIR}") INSTALL(DIRECTORY images/ DESTINATION "${IMAGEDIR}" PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY fonts/ DESTINATION "${FONTDIR}" FILES_MATCHING PATTERN "*.ttf" PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY sarg-php/ DESTINATION "${SARGPHPDIR}" PATTERN ".svn" EXCLUDE) # Package creation SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Squid Analysis Report Generator") SET(CPACK_PACKAGE_VERSION_MAJOR "${sarg_VERSION}") SET(CPACK_PACKAGE_VERSION_MINOR "${sarg_REVISION}") SET(CPACK_PACKAGE_VERSION_PATCH "${sarg_BUILD}") SET(CPACK_GENERATOR TGZ) SET(CPACK_SOURCE_GENERATOR TGZ) SET(CPACK_SOURCE_IGNORE_FILES "/.svn/" "/debian/" "/html/" "Makefile$" "config\\\\.log$" "config\\\\.status$" ".*~$" "\\\\.o$") INCLUDE(CPack) sarg-2.3.11/CONTRIBUTORS000066400000000000000000000036131324060677300144250ustar00rootroot00000000000000Francesco Collini Renato Leon Alp Andreas Piesk Andrew Andrew Barnes Carlos Canau Carlos Santillana Csaba Kabai Dima I. Allaverdov Eugeny Kuzakov Evren Yurtesen Hanni Daniel Ilya V. Komarov Jose Luiz Lee Shakespeare Leonardo A. D'Angelo Manon Goo Matteo Colombo Maxim Berlin Palamarchuk Eugen Patrick Darden Rick_Barzilli@xircom.com Ryan Roehrich Steve Chan Tony Lorimes Wayne Bastow drdivano@mail.axon.ru Seth Mos Carlo Marcelo Arenas Belon Milos Prudek Pavel Jezek Kenneth Ingham Schlosser, Carsten ECOFIS Andrew Katkov Andy Parfenov Bernd Kossmann Ivan Minchev Olivier Rousselot Akira Kitamura Takamatsu-City Kagawa Japan. Radovan Drobnjakovic Brad Guillory Andrew Okhmat Nikolai V. Ivanyushin Wszebor Boksa Adi Cretu Roman Vynar Andreu Sanchez Joe Cooper Guilherme Veloso Neves Oliveira Filippo Grassilli l4teral@gmail.com sarg-2.3.11/COPYING000066400000000000000000000430761324060677300136070ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. sarg-2.3.11/ChangeLog000066400000000000000000002030721324060677300143200ustar00rootroot00000000000000SARG ChangeLog Jan-14-2018 Version 2.3.11 - Update translations. - Update gettext. Apr-12-2015 Version 2.3.10 - Greatly reduce the complexity and the number of messages to translate. - Fix a couple of minor programming errors. Sep-21-2014 Version 2.3.9 - Fix various small compile and link time errors. - Add some code to help in diagnosing an error with the number of old reports to keep. Feb-08-2014 Version 2.3.8 - Process downloaded volume bigger than 2GB (thanks to РуÑтам МуÑа-Ðхунов). May-30-2013 Version 2.3.7 - Backport a fix to accept a per user limit over 2GB. Apr-26-2013 Version 2.3.6 - Store the IP address in the per user limit file (thanks to xeus). Jan-11-2013 Version 2.3.5 - Fix an issue when creating the redirector report. Sarg was not creating the unsorted file as expected. That regression was introduced in sarg 2.3.4. Jan-05-2012 Version 2.3.4 - Fix an error occuring when serveral user's ID contain at least two consecutive non alphanumeric characters. In that case, the mangled file name is not unique. Thanks to Fabiola and Pecha for reporting this bug. - Remove a warning about the redirector file that can't be deleted when it is not created. Nov-13-2012 Version 2.3.3 - Don't abort the report generation due to an error in a squidGuard error (wrapped over log lines). - Support for gd, ldap and iconv can be disabled during configuration. - Suppress the blank line breaking the header of the e-mail report. - Add many debug messages to help understanding why some parts of the report are not produced. Considering all the options and various conditions that are involved in the creation of a report, that help is welcome. - Fix the report generation if users_sites is disabled. - Avoid a possible name clash among the temporary files if a user happen to have the same name as one of the files sarg generates. - Fix various links and reports when some options are disabled. - Accept regular expressions in the hostalias file. - URL in SquidGuard logs sometime don't have a scheme. This is now handled properly. - Exclude hosts based on the IPv4 address even if a port number is suffixed after the IP address. (thanks to Mark Easter for reporting the bug). - IP addresses can be resolved to host names using an external program. - Limit the maximum line length read from the input log to avoid consuming all the memory when reading a corrupted or invalid file. The limit is set to 10MB per line. - Protect the temporary directory against unsafe deletion (if the temporary path is set to a wrong location, sarg won't blindly wipe the directory). - The smartfilter might be fixed (I need test logs to validate this change. If you have some, please send them to fmarchal at users.sourceforge.net). - The top sites report can be sorted according to the number of users who visited each site. - The two options --convert and --split can read the log file from stdin. - Display execution statistics with --statistics. Only useful to test for regressions during development. Dec-07-2011 Version 2.3.2 - Add support for sorttable.js (http://www.kryogenix.org/code/browser/sorttable/) to dynamically sort some tables (thanks to Éric). - Add the two command line options --lastlog and --keeplogs to set the number of reports to keep or to keep all the reports respectively (thanks to Emmanuel Lacour for the suggestion). - Report the user ID in the e-mail report. - Add an option to sort the top sites by time. - Delete unused files from the directory containing the user report (thanks to alf-man). - Add the index_fields option to hide the directory size column in the index sorted by date. - Split the input log file in several files each containing one day worth of data (thanks to Mauricio Silveira). - Take the date_format into account when converting a log file. - Accept IPv6 addresses in the realtime report. - Don't fail for an empty report directory when building the index. - Fix a read error when parsing the time of a common log format (thanks to Richard P Scott). - Use anonymous file and directory names in the report to hide the identity of the user whose report is displayed and shorten the total path length. - More robust calls to external sort commands (guard against buffer overflows and use tab as column separator). - Replace host names by aliases and group identically aliased host names. - IPv6 is accepted in the hosts exclusion list. - Discriminate between users whose name produce the same mangled temporary file name. - Write a note about the number of entries ignored in the reports (thanks to Iain Lopata). - Command line option -z output some messages to explain why the reports are not generated due to the configuration. - The Sites & Users report page links to the user's page if the user is listed in the Top Users page. Sep-18-2010 Version 2.3.1 - Remove the distinct printf for the alpha architecture as it doesn't work anymore and is not necessary anyway. - Don't abort if "onload" or "script" is found in the user agent string. - Take the configured locale path into account when installing sarg. - Fix the realtime and e-mail reports. - Allow for the translation of the sort criterion on the report pages. - The mail_utility command isn't quoted any more so it is possible to add some command line arguments. - Fix a wrongly reported error if the two "hours" and "weekdays" options are enabled in sarg.conf (thanks to guyizsolt). - Add a link on the denied page to link the page to the corresponding user. - Fix a problem with the progress indicator when reading from a compressed log file. - Report an error if the output directory is a subdirectory of the temporary directory. - Use a more robust protection against an attack using javascript in the useragent string. - Prevent a segfault if the parameter passed to command line option -d is invalid (thanks to ItalianPenguin). - Check for the return code of the tail command to generate the realtime report. - Escape the invalid characters in the LDAP search string instead of truncating it at the first invalid character (thanks to mouchar for reporting the problem and testing the fix). Jun-21-2010 Version 2.3 - LDAP usertab added. Now you can have your users in a LDAP Server. Use these tags in sarg.conf: LDAPHost, LDAPPort, LDAPBindDN, LDAPBindPW, LDAPBaseSearch, LDAPFilterSearch - Parse the string flags from sarg.conf once during the reading of sarg.conf instead of manipulating and duplicating the tests of the strings where they are used. - Useragent report limited to requested date range. - Link to external css file instead of including it verbatim in each HTML file (thanks to Maxim Britov). - Enable gettext configuration for autotools. - Use gettext translations instead of the custom languages files. - Keep the user name unchanged in the report (suppress the replacement of some characters by underscores). - Try to resolve a user's IP address only once and store the result. It can speed up the processing a lot. - Resolve IPv6 addresses (to be tested). - Don't limit the maximum length of a URL (the only limit is that a single line of text from the log file must fit in memory). - The creation of the datafile is working again. - Use a template to build the .htaccess file of each report. - Accept spaces in the replacement label of the usertab file (thanks to Alex Sav). - Change the version number of the release candidate to conform to the numbering of the translationproject.org. - Store the period internaly and get rid of the sarg-period file. - Display the period using the locale's month name in the HTML files. - Check the correct writing of the HTML files (thanks to Markus Elfring). - Use the word "Redirector" instead of mentioning explicitly squidGuard in the reports as at least Rejik is compatible with sarg (thanks to Maxim Britov). - The date range passed as argument is not restricted to the actual range covered by the log files any more. - Fix the exclusion of status codes to exclude more than one code. - Accept date ranges for -d command line option as day-n, week-n and month-n where n is the number of backward days, weeks and months to report. - Strengthen the making of the report file name to drastically limit the characters from the user ID that can appear in the file name. The presence of an unescaped backquote in the user ID would execute the rest of the name as a shell command (fixes bug #2997707 reported by anonymous). - Purge the content of sarg-general to free a lot of disk space. - Use parameteric dimensions in the graph creation instead of hard coded constants. - Remove the temporary file and sorting in graph creation. - Add the redirector_log option in sarg.conf to read a log file created by squidGuard or Rejik (thanks to Maxim Britov for pointing out this missing option). - Allow up to 64 redirector log files to be passed through the command line option -L and the sarg.conf option redirector_log. - Configuration option squidguard_log_format renamed into redirector_log_format for equity with the various redirectors that can be used with sarg. - Read a compressed log file through a pipe. - The graph was wrong. The bars were not reaching the correct height with respect to the Y axis. - Use a computed logarithmic scale for the Y axis when plotting bytes data instead of a fixed scale. - Show the time when plotting the elapsed time. - Fix the reporting of only one user with command line option -u. - Output both date/time textual and graphical reports. - Sarg log file now stores the date in the format dd/mm/yyyy and doesn't change it depending on the current date representation selected in sarg.conf. It will break existing sarg log files. - Intermediary log files store the date as dd/mm/yyyy irrespective of the current date representation in sarg.conf. - Fix a regression to accept any directory name length in the index. - Change the CSS template file and cleanup of the hardcoded styles (thanks to Maxim Britov). - Accept unlimited line length when converting or splitting the log file. - Use long options on the command line. - Sarg can output the internal css inlined in the reports. It replaces the css.tpl distributed with the sources. - Command line option -l is optional. The input log files may be named on the command line without prefixing them with -l. It allows the use of wildcards in the command line. - Accept unlimited URL length in the redirector log (thanks to Joseph L Casale). - Replace redirector_ignore_date by redirector_filter_out_date that behave as the name implies. - Replace dansguardian_ignore_date by dansguardian_filter_out_date that behave as the name implies. Feb-10-2010 Version 2.2.7.1 - Fixed compilation error reported by some compilers due to an sizeof in a fprintf (thanks to Maxim Britov and Renato Botelho). - The path to the font used to create the graphs can be set in sarg.conf. - The installation of our fonts can be disabled with --disable-fontdir. Feb-05-2010 Version 2.2.7 - Extra compile and run time protection (FORTIFY_SOURCE) fixed in configure. - Use tabulations as columns separator in intermediary files to avoid problems when a field of the log contains a space. - Input log file type detection partly rewritten to clearly distinguish which type is processed where. - Read the input log file from standard input if log file name is -. - Use string pointers in getword instead of copying the strings over and over. - Use LC_TIME to format some dates and times in the report according to the selected locale. - Sarg.conf can list up to 255 access.log files. - Downloaded files suffixes are matched against a sorted list and use a dichotomic search. - Added getword_atoll to read a number directly from a file without an intermediary string storage. - Use boolean to enable the options instead of string compares. - Accept an absolute path for the language file in sarg.conf. - Experimental: Can show the backtrace of the program when a getword loop is detected to help in locating the origin of the error. - Protect the creation of the index against invalid directories. - Only copy the files (not the subdirs) when creating the directory with the images to include in the reports. - Directories deleted without using the rm system command. - Index created using an internal sort algorithm instead of a system call. - Fixed Debian bug #408577 (changed exclude_hosts to exclude subdomains and IPv4 subnets). - Replace --enable-htmldir by --enable-sargphp to avoid confusion on the name (thanks to Peter Nixon). - Installation of sarg-php can be disabled with --disable-sargphp. - Fixed empty entries in squidGuard log when the URL doesn't start with protocol://. - Fixed regressions in creation and reading of a sarg parsed log (thanks to Joao Alves). - Does not report URLs consisting of only a host name ending with .com as a downloaded file. - Mangle the $ and @ signs in user ID to make the resulting file name valid in shell commands. - Fixed a regression in the default value of --enable-sargphp. - Increase the maximum size of a line read from access.log and detect longer lines that were silently splitted in previous versions. Jan-06-2010 Version 2.2.6.1 - Remove unnecessary dependency on off_t. - Configuration doesn't fail if rlim_t is not available. - Test for the availability of -Werror=implicit-function-declaration and -Werror=format flags in gcc (thanks to Murilo Moreira de Oliveira and pjetko). - Fix sort delimiter when reading useragent log (thanks to Maxim Britov). - Fix user agent report font size and statistics on user agent. - Test for the availability of -Werror=format-security in gcc (thanks to Maxim Britov). - Test the existence of bzero with autoconf and don't redefine it (thanks to Maxim Britov). - Remove warnings if libgd is not available. - The date stored in sarg-date is now stored in a more machine readable form (thanks to rcastanheira for pointing this out). - The date read from sarg-date was not properly parsed and would produce a wrongly sorted index across a year change (thanks to rcastanheira for pointing this out). - my_mkdir changed to avoid the use of getword, be simpler and, maybe, work reliably on windows. - Makefile supports DESTDIR for easy package creation (thanks to Erjo). - Real time report honour the user_ip flag of the configuration file and the -l and -n passed on command line. - Fix usage of -Werror and detection of fopen64 with old compilers not supporting -Werror=implicit-function-declaration. Oct-14-2009 Version 2.2.6 - Protection against buffer overflows in getword and friends and report the origin of the error instead of always blaming access.log. - Patch #2224623 applied. - Updated to autoconf 2.61. - Detect external commands failures and print the exact command that produced the error. The offending file is kept for debugging if possible. - The format of the date written in sarg-date is forced to prevent a failure if the locale is not en_US. - Removed the duplicate file opening that resulted in a resource leak. - Patch #1945235 applied. - Patch #1918397 applied. - Limit the content of the squidguard log file to the date of the day being processed. - Removed fscanf that is prone to buffer overflows. - Size of buffers increased. - Protect ip2name against buffer overflows. - Replace characters that are valid in URL but not in file names when building a file name from a URL. - Patch #2657320 applied. - Fix #else #if into #elif. - Remove all the compilation warnings (inspired from patch #1771501). - Fixed the real time report. - Fixed the same bug as patch #1733337 but in a cleaner way. - All the sprintf/fputs have been replaced by fprintf to avoid an intermediary buffer and possible buffer overflow. - Moved all the functions declarations from conf.h to defs.h for consistency. - Fixed bug #2089451. - Fixed Debian bug #444845. - Replaced the ifdef FOPEN64 by a single call to MY_FOPEN for code clarity. - User IP/ID is searched only in the first column of the usertab file. - Some of indentation fixes. - Speed up by removing two unnecessary ip resolutions. - Applied debian patches: sarg-polish.patch, sarg-turkish.patch - Applied debian patch: opensuse_2_enlarge_report_buffers.patch - Applied debian patch: opensuse_3_too_small_font_buffer.patch - Applied debian patch: opensuse_4_enlarge_log_buffer.patch - Applied and extended debian patch: opensuse_5_limit_sprintf.patch - Function debuga format the output string itself, so there is no need to use sprintf. - Applied debian patch: opensuse_7_year_assertion.patch - Removed a few unnecessary strings copy. - Embryo of documentation for the code with doxygen. - Changed subs to replace the string in place and avoid allocating a memory that was freed on only one occasion. - A few improvements on strings manipulations. - Fixed debian bug #504749. - Detect downloaded suffix bigger than 3 characters, don't match the cases and don't stop on a partial match. - Fixed bug #2716729. - Sanitized a little bit the generated HTML. - Don't reject URL without directories. - Use the correct format for off_t on amd64. - Use the mechanism provided by configure to set the directories of the application instead of the custom variables. - Fixed bug #1814212. - Fixed bug #1847374. - Partly applied advice of bug #1659784. - Fixed bug #1740268. - Applied suggestion of bug #2830643. - Fixed bug #2216451. - Fixed bug #2000178. - Protect the reading of the configuration file against buffer overflows. - Logo image height taken into account. - Accept longer mail utility name. - Fixed e-mail report (may also fix bug #2153024). - Fixed total and percentages of topuser page. - Applied Gentoo patch 10_all_sarg-2.2.5-enlarge-day-mon-buffers.patch. - Applied Gentoo patch 12_all_sarg-2.2.5-enlarge-ntemp.patch. - Open only once the denied.log and authfail.log when parsing more than one access.log. - Use configurable paths for the files that used to reside in SYSCONFDIR. - Add cmake configuration files. - Compute the report date without resorting to the system command. - Allow the use of spaces in the temporary directory. - Fixed bug #2863485. - Removed misplaced off_t as suggested in bug #2864425. - Z files are uncompressed by zcat to avoid deleting the original log file. - Compressed log files are uncompressed in /tmp/sarg to delete the file when the process completes. - Fixed several memory leaks. Mar-03-2008 Version 2.2.5 - new fix to the script insertion vulnerability via user-agent report. javascript can still be executed via e.g. the "" scheme Thanks to Alin Rad Pop, Security Specialist, Secunia, Denmark Mar-02-2008 version 2.2.4 - security issues can be exploited to execute arbitrary code when sarg is used with malicious input files. The vulnerability within the processing of the useragent.log is rather critical, as this can be exploited by passing a long user agent string when browsing via a squid proxy. the manipulated GET request in the access log would not be accepted by squid, so that file has to be specially crafted. Thank you to L4teral l4teral@gmail.com - French language fixed. Thanks to Nicod - Fixed: Segfault in x86_64 Jan-02-2007 version 2.2.3.1 - fixed -m option to show all the used tags - date period invalid in download reports - wrong results when userid contain '%20' character - previous reports info wrong in index.html Dec/23/2006 Version 2.2.3 - gd graph font change from FreeSans.ttf to DejaVuSans.ttf - minor fixes when only denied records in access.log file. - ulimit tag changed. If you run sarg with a low privilege user, set to 'none' to disable ulimit. Thanks to Jorge Morgado - Russian_UTF-8 language fixed by Igor Ageikin - realtime_unauthenticated_records tag changed to show by default. - chmod 755 in sarg-php due to errors in rpmbuild. Thanks to Davide Madrisan - when the keyword "anonymous" is used in squidGuard.conf, Sarg does not find the log-files anymore. Thanks to Daniel Vogel - after reading the squidGuard configuration, the data read from the usertab file was corrupted. Thanks to Daniel Vogel - millisec values showed as bytes. Thanks to Carlos - with squidGuard, you can log groups in only one log file. We must parse each log files only one time. Thanks to Christophe BADINA - error message(removetmp) Cannot open /tmp/sarg_tmp/../general when sending report by email. Thanks to Peter Volkov - incorrect off_t size in printf. In FreeBSD off_t is 64bit long long, but sarg always use %d to display off_t in log processing. This cause garbage while reading log files on a freebsd, and possible crash. Thanks to Alex Samorukov - squid24 on/off tag added in sarg.conf to implement compatibility if using squid <= 2.4 and using squid common logs. Thanks to Valter Dal Bo - exclude_hosts and some code errors fixed by Alexander Kozlov . Many thanks. - temporary file names changed to sarg-... to avoid conflicts with usernames. Thanks to Ukrainian Elephant - SARG support Japanese wordset but not support charset. submitted by anonymous at sourceforge.net Many thanks. - support for utf-8 character set added by Peter Warasin . Many thanks. - if all the data is at the hour each day, totaliza_day() treats it all as being on the last day. This is observed for users which only download via a cron job at the same time each day. Now the date and time will be checked to see if changed. Thanks to Ian Dall - greport_day() doesn't add the volume for the first hour of each day to the total. Thanks to Ian Dall - Russian_koi8 and Russian_windows1251 languages updated by Stas Degteff . Many thanks - realtime reporting is sorted by URL, and not by Date/Time. Thanks to Puce-Xcit Aug/29/2006 Version 2.2.2 - malloc test implemented to avoid high-memory consuming. Thanks to Rodrigo Rubira Branco - Czech UTF8 language added by Josef Karliak - fixed: parsed mismatch in realtime_access_log_lines and access_log_lines tags. Thanks to Kuznetsov Andrey - changed: realtime report sort changed by date/time Thanks to Leonardo Buonsanti - GD minor fixes added. - bug fixed. *** buffer overflow detected ***: sarg terminated in Fedora Core 5 when using -D FORTIFY_SOURCE in gcc or in kernel. May/19/2006 Version 2.2.1 - iconv problems fixed in Freebsd and Slackware. Thanks to Grigory Trenin . - new word added to languages: Topuser - missing fclose fp-in in css.c Thanks to Renato Botelho . - index.c fixed. Missing -r in reverse sort. Thanks to Fernando Lemes da Silva - wrong values in columns in-cache and out-cache. Thanks to Hugo P S Costa May/17/2006 Version 2.2 - sarg ported to 64 bits. Thanks to Antonio F. Zago to share your Fedora Core 5 64 bits with me. - fixed conflict types for 'saverecs2' in .configure - fixed no index.html when lastlog tag is greater then 0, caused by some debug messages. - removed some development debug message - user_limit_block script added to block users when limit exceeded - fixed wrong sort in index.html - removed '+' argument to sort utility. Thanks to Julio Cesar Covolato - fixed "file too long" messages when using long_url Thanks to Fabio Lo Votrico - fixes and improvements from Oleg - Tanks. . fprintf faster than sprintf+fputs (fixed in some places); . strcpy+strcat is faster than sprintf (fixed in some places); . unused variables removed; . fixed headers look and feel (); . fixed word 'BYTES' localization for datetime user report; . fixed corrupted top header on index, denied, download and tt-reports; . fixed "No" table header in topsites; . fixed user report table look; . fixed floating point exception on long url (added checks for division by zero); . fixed incorrect long url view; . fixed too wide table entries in user report by adding url_limit internal parameter in html.c (default 40); . fixed charset.c file (was in MS-DOS text format); . also included all previous fixes by other people (from datafile.patch and lastlog.patch files). Nov/29/2005 version 2.1 - index_tree tag added. Look at TAG: index_tree in sarg.conf file default is file - old format. - realtime report added. sarg -r option Look at these tags ion sarg.conf file: TAG: realtime_refresh_time num sec TAG: realtime_access_log_lines num TAG: realtime_types: GET,PUT,CONNECT,ICP_QUERY,POST TAG: realtime_unauthenticated_records: ignore|show - garbage in topuser report with uninitialized variable. Thanks to Craig Brockmeier - memory leaks caused by a wrong variable size Fixed by Klaus Singvogel . Thanks. - ignoring users with '.' in password file. Thanks to Emerson Valdir Pellis - error with "resolve_ip" with "user_authentication yes" Fixed by Grigory Trenin . Thanks. - long url causing fault. Thanks to Vassily Andin - hanging on a log file containing space. Thanks to Fabio Lo Votrico - bug fixed in squidguard report module - squidguard_ignore_date on|off tag added to sarg.conf file You can ignore the squidguard log record date if outside of date range in squid access.log file. - alternate squidguard log added using -L option on sarg command line. Thanks to Dave Karlson - fixed malloc without free. - datafile-url ip|name added to sarg.conf file - saves ip address or name in url when using datafile tag. Thanks to Calvin Muller - wrong link point in Generated by sarg-2.. Thanks to Markus Hoffmann - Russian_UTF-8 language added by Alex Deiter Aug/04/2005 version 2.0.9 - dansguardian_report_limit missing in sarg.conf file. - ntlm domain+user format added. - index date sort fixed by Olivier JAVAUX. Thanks - Improve broken record detection Thanks to Artem Korneev - sort open failed causing an empty topuser report - sarg losslessly size optimized images Thanks to Tonda M��ek and Luigi Gangitano. - sarg calling sort without quoting filenames Thanks to Luigi Gangitano. - download_report_limit tag added. Thanks to Leonardo Rodrigues - logo css class defined but never used. Thanks to Roger Favero May/29/2005 version 2.0.8 - verdana.ttf font removed to avoid patent infringement issues. Now sarg uses a GPL FreeSans font from http://savannah.gnu.org - ISA report with wrong date in date/time report. Thanks to Richard Berndt - connect records ignored when using emulate_http_log on in squid.conf file. Thanks to Dusan Woletz - bug that prevents the correct usage of switch -d when using an "emulate_httpd_log on" logfile and some performance improvements added. Thanks to Filippo Grassilli - Spanish language fixed by Jos� Luis Hern�ndez L�pez. Thanks. - url variable size changed to accommodate big urls with coded symbols and some minor changes in util.c file. Thanks to Oleg - download suffixes improved by Oleg . Thanks. Now sarg uses these suffixes: 7z,ace,arj,avi,bat,bin,bz2,bzip,cab,com,cpio,dll,doc,dot,exe,gz,iso, lha,lzh,mdb,mov,mp3,mpeg,mpg,mso,nrg,ogg,ppt,rar,rtf,shs,src,sys,tar, tgz,vcd,vob,wma,wmv,zip May/02/2005 version 2.0.7 - DansGuardian report added. Thanks to Adolfas Kupliauskas for the access.log - Slovak language added by Dusan Woletz Thank you - wrong usertab user on topuser report. Thanks to Marcos Favoretto - ntlm_user_format added to sarg.conf. Now you can choose the following formats for the username on reports: user|domainname+user Suggested by Roger Favero - exclude_users ignored in some situations. - Fixes by Sapon Oleg from Russia: . there are two equal lines about Evren Yurtesen in CONTRIBUTORS file. . Internationalization of SARG user graph added, using iconv function, which is presented only in Linux, so I add required #ifdef and other stuff to clean compile code on other platforms. . Fixed two issues: - '?' symbol problems for apache and other cgi-supporting web server which doesn't support '?' symbol in links (all of them interpret this like parameter to cgi script); - some good optimization to all three similar cicles in these files by reducing false checks in 'if ...' strings. . Fixes segfault, produced by improper use of strncpy functions, look - strncpy doesn't copy leading '\0' symbol! . Just localization support for repday report. . Support usertab IP->USERNAME change in siteuser report. . Just proper Russian koi8 localization. Apr/22/2005 version 2.0.6 - Greek language by Antonis Maglaras Thank you. - time period added to -t option. Now you can use -t HH-HH, HH:MM-HH:MM - support to isa proxy 2004 log added. Thanks to William da Rocha Lima - French language fixed by Alexey Znamerovskiy Thanks - internal LC_ALL=C removed to avoid errors on Solaris. Thanks to Hraska, Frantisek - non authenticated records removed from Topuser report. Thanks to Brian - Compilation error on FreeBSD > 5 - log.c:645: error: `RLIMIT_OFILE' undeclared - Sarg abbreviation values improved. Mar/21/2005 version 2.0.5 - fixed: some changes to avoid segmentation fault. - fixed: some changes to avoid compilation errors on freeBSD. - fixed: exclude_hosts not excluding correctly. Feb/17/2005 version 2.0.4 - exclude hosts not excluding correctly. Thanks to Oleg - download report showing jpeg files. - support to Microsoft isa proxy log files added. Thanks to Trankov Vladislav - fixed: error when using relative paths in -o and -w options. Just absolute paths can be used now. Thanks to Andreas Grosse - fixed: segfault fix in vrfydir() in util.c Prevent buffer overflow in subs(); replace one constant with sizeof() in my_lltoa(). vrfydir(): fix segfault if sub-directory "images" is not exists function builddia() don't check the parameters. Result: segmentation fault in some cases. Thanks to Stas Degteff stas_degteff@users.sourceforge.net for the fixes. - fixed: wrong date period in squidguard_log when using European date format. Thanks to Guenther Mair - ulimit tag added on sarg.conf to avoid "Too many open files" error. Thanks to Paulo Pires Feb/02/2005 version 2.0.3 - squidguard parse logs method changed. Thanks to Joao Mendes Thanks to Guenther Mair - wrong results in -v option. - fixed: error when using -u (include user) Thanks to Bochkarev Vladimi - export LC_ALL=C will be issued before sort to avoid high cpu usage Nov/22/2004: version 2.0.2 - grepday with invalid font path. Thanks to Marcelo Ricardo Leitner - -v option added to display Sarg version on console - Segmentation fault caused by an unclosed file. Thanks to Pustovalov Leonid - SquidGuard log formats added. Thanks to Kolotov Alexandr - time field added to topsites report Thanks to Miles Roper - fixtime function with wrong definition, changed to long long Thanks to Valery from Russia - Solaris 9 compiling error: error: conflicting types for 'my_mkdir' Thanks to Brad Larden - segfaults if the denied report is disabled in sarg.conf. Thanks to Filippo Carletti - reading performance improved by Francesco Perrillo Thanks - Russian sarg-php translation added. Thanks to Michael Stepanenko Oct/04/2004: version 2.0.1 - configure error with no gd installed. - graph with no text when using --enable-sysconfdir - graph day incorrect when using dd/mm/yy date format - show_sarg_logo yes|no added - site_user_time_date with wrong patch. Thanks to Ricardo R. Hoffmann Sep/29/2004: - version 2.0 - Internal/External css implemented - User authentication access (htaccess) implemented - large file support added - Report limits implemented - Download report implemented - Sarg logo by Osamu Matsuzaki added. - Internal mkdir added to easy port to various platform. - long url now show only accessed site and module name. - now you can add a user report url to a flat file to be blocked by some Squid acl. Request by Francesco Collini - remove temporary files, if already exist, to avoid conflicts with a previous sarg process.. Thanks to Renato Leon - squidGuard improved - now only records with the same period from access.log will be in squidGuard report. - squidGuard limit report - now you can save some urls in squidGuard db using sarg-squidguard PHP utility. bug fixed: fault caused by rewinddir after closedir. Thanks to Lucas Bocchi and to Freek Fixed: - missing tags in all HTML pages - missing tag in some HTML pages - missing DOCTYPE in all HTML pages - grammar in man page - URL Links to SourceForge http://sarg.sourceforge.net/ Added: - Included more detailed information in man the page Thanks to Billy Newsom of U.S. To Do: - There are still major validation problems in the HTML generated Apr/25/2003: - fixed: - link error to denied site in squidGuard report - resolve name error in squidGuard report - some fixes to HPUX. Thanks to Miles Roper - index_sort_order tag don't work correctly. - too many open files fixed. Thanks to Francesco Perrillo - Ukrainian_windows1251 included in sarg.conf file - exclude_string don�t work correctly. Thanks to Modric Kristijan Mar/17/2003: - Release 1.4 Added: Now you can choose the fields that will be in User Reports. Look at user_report_fields tag in sarg.conf file Implementation requested by Daniel T. Joye Added: Now sarg saves the processed log in a sarg format after parsing the squid log file. This allow futures sarg reprocess and data will be smaller than Squid the log files Look at parsed_output_log directory and parsed_output_log_compress tags in sarg.conf file Implementation requested by Joe Cooper . Many thanks for the donation. Added: Now sarg can display the report values in abbreviation format. Look at displayed_values in sarg.conf Added: Ukrainian_windows1251 language by Roman Vynar Thank you. Added: Catalan language by Andreu Sanchez Thank you. Nov/16/2002: - Fixed: squidGuard report fail with non authenticated users. Thanks to Dan Ratzlaff Fixed: Turkish language by Evren Yurtesen . Thanks Fixed: English language by Luigi Gangitano . Thanks Fixed: "CONNECT" average values are incorrectly calculated. Arvids . Thanks Oct/15/2002: - Added: sarg man page created by Luigi Gangitano Added: Reading statistics, show_read_statistics tag Added: Index sort order. See index_sort_order tag Added: squidGuard report - squidguard_log_path tag Added: show_sarg_info on report bottom optional - show_sarg_info tag Changed: gzipped file will be decompressed using zcat bzipped file will be decompressed using bzcat Changed: new sort routine added. Changed: strsep changed to getnumlist function by Robert Tiismus Jun/02/2002: - Added: save the results in a flat file to use to populate some database. Look at these tags in sarg.conf file: TAG: datafile file TAG: datafile_delimiter ";" TAG: datafile_fields all Added: logic to detect a broken record in access.log file and ignore it. Added: now you can select the records to be processed by week and/or time using these tags in sarg.conf file: TAG: weekdays TAG: hours Thanks to Robert Tiismus from Institute of Physics, University of Tartu, Estonia. , and for the repday.c improvements. Apr/03/2002: - bug fixed: cannot create temporary file when url contain '/' and using long_url Thanks to Enrico Sorge Dez/10/2001: - Added: sarg now shows statistics when reading the log file if running with -x option Dez/05/2001: - bug fixed: - loop process when using "tmp" chars in usernames Thanks to Jasper vd Heijden new tag added: show_successful_message yes Show "Successful report generated on dir" message at end of process. Requested by: Wendell Schubert Mauricio Felizardo dos Santos bug fixed: core dump when removing auth_failures report from report_type tag. Thanks to Leonardo Rodrigues bug fixed: core dump with a big number of users. Thanks to Zverev, Alexandr V. new tags added: topuser_fields topuser_num Now you can choose which fields must be in Topuser report and how many users. Requested by Hidde Beumer bug fixed: auth_failures report missing Thanks to Clary Harridge Polish language added by Wszebor Boksa Thank you. Romanian language added by Adi Cretu Thank you. Jul/03/2001: - new report added: site/user/date/time Now report_type tag has the following default setup: report_type topsites sites_users date_time denied auth_failures site_user_date_time - bug fixed - error when using squid-ntlm authenticator (domain\user) Thanks to Jakob Curdes - ignoring changes in report_type tag - Site&Users report with users shifted down one row. Thanks to Jason Urkow - some temporary files not removed. - site/user/date/time report without and May/30/2001: - bug fixed: - user table garbage - chmod 644 removed from makefile - ignoring first user in usertable - ignoring users names with dots (".") Thanks to Daniel Malmgren - same values for connect and bytes fields in reports on Solaris 8 Thanks to Craig Brockmeier New tag added: user_invalid_char "&/" To avoid core dumps, records that contain invalid characters in userid will be ignored by Sarg. New tag added: privacy yes|no privacy_string "***.***.***.***" privacy_string_color blue In some countries the sysadm cannot see the visited sites by a restrictive law. Using privacy yes the visited url will be changed by privacy_string and the link will be removed from reports. Requested by Diaolin (Natali Giuliano) New tag added: include_users "user1:user2:...:usern" Reports will be generated only for listed users. exclude_string "string1:string2:...:stringn" Records from access.log file that contain one of listed strings will be ignored. Requested by Michael Koptyaev Apr/02/2001: - implementation of --enable-bindir and --enable-sysconfdir in configure script. Thanks to Sergei Dushenkov - bug fixed: getword excessive long string detection function fixed. Thanks to Junghausz Norbert - bug fixed: wrong charset for windows-1251 and koi8 Russian languages. Thanks to Alexey Zhigayev - bug fixed: - Help page (-h) is empty because at start (log.c) program doesn't load definitions to text[][] array. - Definitions for Russian language doesn't have last 2 lines. - Definitions of Charset field for Russian language is not so correct. Better is 'windows-1251' or 'koi8-r' - I think in topuser.c the definition of wheader[] is too short for words on some languages - Initialization and use of variables TopuserSortField and TopuserSortOrder is mismatch Thanks to Alex Voronin - bug fixed: core dump with big user table. Thanks to Jorge Cuellar Martinez - Latvian languages by Juris Valdovskis Thank you Mar/22/2001: - Now the user can choose the language using the language TAG in /usr/local/sarg/sarg.conf file. There is no more --enable-language in configure script. - New report added: Authentication Failures Requested by Sergei Dushenkov - NONE/400 (bad request) is excluded by default (/usr/local/sarg/exclude_codes) - Now sarg support big numbers (64 bits) in any platform. - Date/Time report now use bytes or elapsed time as specified in date_time_by tag in sarg.conf Requested by Inters - bug fixed: sites&users report sorted on the User field rather than the Site field Thanks to Simon Bryan - sites&users report was changed. - Russian_windows125 language fixed. Thanks to Dima I. Allaverdov (rasa) - bug fixed: getconf was catching a wrong value in replace_index tag Thanks to vrush_22@softhome.net - bug fixed: per_user_limit file with duplicate users. - Russian languages fixed by Nikolai V. Ivanyushin . Thank you. - charset TAG added to sarg.conf file. The following charsets are available: Latin1 (West European), Latin2 (East European), Latin3 (South European) Latin4 (North European), Cyrillic, Arabic, Greek, Hebrew Latin5 (Turkish), Latin6 (Nordic) Requested by Nikolai V. Ivanyushin - configure now accept only two options: --enable-bindir - where sarg binary will be saved --enable-sysconfdir - where the configuration directory is Mar/09/2001: Sqmgrlog has gained a new name: SARG - Squid Analysis Report Generator. Many people have asked me about why sqmgrlog. I really don�t know. No inspiration I think. SARG was suggested by an user from Philippines, but, I lost his email and don�t remember his name. Thank you anyway. sqmgrlog ChangeLog Feb/06/2001: Version 3.0 released: - Denied report added. Request by Jason Staudenmayer - User table added. You can override your userid or IP Address with a real user name. TAG usertab added to sqmgrlog.conf - Now you can have the long url in reports TAG long_url added to sqmgrlog.conf - Now you can choose the report types TAG report_type added to sqmgrlog.conf - sqmgrlog.conf file now will be in 644 mod. Request by Michail Vidiassov - sqmgrlog coredumps if there is a very long line in the config file. Thank you to Michail Vidiassov - Url parser changed to get connect records from a better way Thanks to Sergey Erokhin - Michail Vidiassov made gcc -Wall ... happy on FreeBSD 4.1 Thank you - Russian_Koi8 language fixed by Andrew Okhmat . Thank you. Maks Nefedchenko . Thank you. - Russian and Bulgarian language fixed by Nikolai V. Ivanyushin Nov/09/2000: Two patches form Brad Guillory added: 1. max-elapsed tag added to sqmgrlog.conf file: # TAG: max_elapsed milliseconds # If elapsed time is recorded in log is greater than max_elapsed use 0 for elapsed time. # Use 0 for no checking # #max_elapsed 0 # 8 Hours max_elapsed 28800000 2. day report (the one that looks like a calendar) changed: Every minute that a request is logged your time is incremented by the smaller of 1 minute or the total time for the requests. Thank you Brad. Brad Guillory is the newest sqmgrlog contributor. Changed: sort now compare according to arithmetic value. Jul/11/2000: Dutch language fixed by Pieter Kooistra Thank you. Changed: Russian_koi8 changed to Russian_Koi8. Thank you to Eugene AKA Kevin Kevin Slightly changed Czech language Added: TAG: replace_index Replace "index.html" in the main index file with this string Vladimir Smelhaus Bug fixed: For some reason, Squid occasionally logs a blank line. Running sqmgrlog against a log containing a blank line causes sqmgrlog to take 99+% CPU Thanks to Giese, Bill Added: now every squid code that contain the MISS word will be counted as out cache. Thanks to Kostya Panov Jun/09/2000: Bug fixed: abnormal end if userid contain ';' Thanks to Victor Feoktistov Japanese language fixed by Akira Kitamura Takamatsu-City Kagawa Japan Bug fixed: Wrong date when setting date_format u in sqmgrlog.conf file Thanks to Dale Perkel , Marcio Rodrigo Bordignon Mar/15/2000: Japanese language added by Akira Kitamura Takamatsu-City Kagawa Japan Thank you. Serbian language added by Radovan Drobnjakovic Thank you. Bug fixed: wrong sort field when lower case used in sort tags. Thanks to Scott Larsen and to WOLETZ, Dusan Abuse report removed. Changed: report1_sort_field TAG in sqmgrlog.conf changed to topuser_sort_field Changed: report2_sort_field TAG in sqmgrlog.conf changed to user_sort_field Added: topsites sort field options added: # TAG: topsites_sort_order CONNECT|BYTES A|D # Sort for topsites report, where A=Ascendant, D=Descendant # #topsite_sort_oder CONNECT D Implementation requested by Michael G. Koch Feb/26/2000: Bulgarian-windows1251 language added by Ivan Minchev . Thank you. French language updated by Olivier Rousselot Thank you. Feb/15/2000: SmarfFilter report added. Implementation requested by Andrew Bradshaw Bug fixed: files created with 09Feb2000-09022000 instead 09Feb2000-09Feb2000 Thanks to Andy Parfenov Changed: ignore records with HTTP/0.0 string. Implementation requested by Bernd Kossmann Changed: some code added to ignore broken records in access.log file Bug fixed: removing old file with lastlog dont work. Thanks to Evren Yurtesen Jan/20/2000: Indonesian language added by V Gatut Harijoso Thank you. Fixed: change in conf.h to compile on OpenBSD 2.6 system. Thanks to Kenneth Ingham Fixed: small bug, which fills the "periodo" with "01Jan2000-20000101" instead of "01Jan2000-01Jan2000". Thanks to Schlosser, Carsten ECOFIS Fixed: After calling system function malloc, variable excludecode have some symbols inside (excludecode wasn't zeroed). Thanks to Andrew Katkov Dec/29/1999: Czech language added by Milos Prudek Thank you. Russian-windows1251 language added by Dima I. Allaverdov Thank you. Changed: Russian language changed to Russian_koi8 language. Bug fixed: Sites&Users report dont resolve ip address. Thanks to Pavel Jezek Nov/29/1999: Bug fixed: DENIED word translated to another language never printed. Thanks to Rodolphe SIBERT New report added: Sites & Users Implementation requested by Rodolphe SIBERT Added: The date format now also has the option "w" for week. The report is then 1999.47-1999.47 for instance. Implemented by Seth Mos , thank you for the patch. Dutch language added by Seth Mos Thank you. Added: new tag on sqmgrlog.conf, named user_ip, for setting a system wire -p, use ip address instead userid. Implemented by Carlo Marcelo Arenas Belon Thank you for the patch. Added: new tag on sqmgrlog.conf, exclude_codes pointing to a file with codes to be ignored by sqmgrlog. Eg.: NONE/400 Implementation asked by Doug Burks Sep/28/1999: Bug fixed: -split and -convert dont work with multiples -l options. Thanks to G. Kelana Sudibyo" Bug fixed: Bytes and Average corrupted in index.html after second execution. Thanks to Rob Glasser Sep/13/1999: Bug fixed: get wrong access.log file when using access_log in sqmgrlog.conf file. Thanks to Michael G. Koch Sep/10/1999: Spanish language added by Leonardo A. D'Angelo Thank you. New report added: topsites. This report show the top n sites accessed. You can set the top num sites in topuser_num tag in sqmgrlog.conf file. Bug fixed: wrong userid when using Samba authenticator. Thanks to klaubert@bcb.gov.br (Klaubert Herr da Silveira) Changed: -v option removed. No more support for Squid-1 log format. Thanks to Nik Oxley Aug/18/1999: New fields added to sqmgrlog.conf: - lastlog n With lastlog you can tell to sqmgrlog to remove old reports files. Usage: lastlog 0 - no remove nothing lastlog 10 - maintain only the last 10 reports Implementation requested by Evren Yurtesen Thank you for your help. - remove_temp_files yes|no Remove temporary files: geral, usuarios, top, periodo from root report directory. Implementation requested by Fred Pacquier - index yes|no|only Usage: index yes - will generate the main index.html in reports index no - dont generate the main index.html in reports index only - generate only the main index.html in reports Implementation asked by Fred Pacquier - overwrite_report yes|no If yes and the report already exist for that date, the reports will be overwritten. If no and the report already exist, that report will be renamed to filename.n, filename.n+1 Implementation requested by Eugeny Kuzakov - records_without_userid ignore|ip|everybody What can I do with records without user id (no authentication) in access.log file ? ignore - This record will be ignored. ip - Use ip address instead. (default) everybody - Use "everybody" instead. - use_comma Use comma instead point in reports. Eg.: use_comma yes => 23,450,110 use_comma no => 23.450.110 - mail_utility mail|mailx Which mail command must I use to send reports ? Added: now every squid code that contain the MISS word will be counted as out cache. Implementation requested by Eugeny Kuzakov Thank you for your help and for share your FreeBSD with me. Changed: the field url was changed to 8192 bytes to support big urls. Thanks to Eugeny Kuzakov Changed: the header "TIME SPENT" changed to "USED TIME" in topuser report. Changed: no more nouser will be in reports but IP address instead. Changed: no more squid 1 log format supported. Bug fixed: wrong reports when using common log format (emulate_http on). Thanks to Patrick LIN Aug/06/1999: French language added by Fred Pacquier Thank you Bug fixed: negative percentage in IN-CACHE-OUT. Thanks to brad@baileylink.net Bug fixed: wrong directory name created when using -g e and -d Thanks to Fred Pacquier Changed: atol use to get total bytes changed to atoll. Thanks to brad@baileylink.net for the patch. Changed: now use ',' as separator instead '.' when using US date (-g u) Implementations requested by brad@baileylink.net Changed: added -convert and -split to usage help (-h) new messages added to easy translation. Implementations requested by Fred Pacquier Jul/29/1999: Changed: convert userid to lowercase to disable username case-sensitivity when using auth_smb. Implementations requested by Doug Burks Changed: the sqmgrlog.conf now installs into /usr/local/etc Implementations requested by Daniel L Sjvsvdrd Jul/06/1999: Y2K bug fixes. Thanks to askat@crimea.net (JSC CRELCOM) Bug fixed: special character in userid cause core dump. Thanks to Rick_Barzilli@xircom.com Splitlog function added: -split will split the log file by date in -d parameter. Eg.: sqmgrlog -split -d 01/07/1999-02/07/1999 [-convert] [-g e] Jun/14/1999: German language added by Andreas Piesk Thank you Some minor changes made by Andreas Piesk, thanks for the patches. Jun/09/1999: Bug fixed: to send reports via mail, use mail instead mailx in FreeBSD. Thanks to Evren Yurtesen to share your FreeBSD with me. Bug fixed: wrong userid when using smb_auth authenticator. The userid will be changed from NTDOMAIN\username to NTDOMAIN.username. Thanks to Jouko Ylikulju Jun/04/1999: Y2K compliance implemented. Bug fixed: wrong report created when using common log format. Thanks to Carlos Santillana Bug fixed: wrong fopen with "rt", must be "r". Thanks to Wayne Bastow May/31/1999: Turkish language added by Evren Yurtesen Thank you Bug fixed: users in exclude_users file were not removed from reports. Thanks to Arthur S. Petrossian Thanks to Evren Yurtesen Bug fixed: core dump when using output_email parm and mailx not installed. Thanks to Evren Yurtesen Thanks to Evren Yurtesen to share your FreeBSD with me. May/20/1999: New report field added: IN CACHE and OUT CACHE. This field show how many bytes (percent) was retrieved from the cache. Implementations requested by Arthur S. Petrossian May/14/1999: Bug fixed. Abnormal End when using -i option Thanks to Carlos Canau for the patch. Bug fixed. Sqmgrlog freeze if some records are broken in access.log file. Thanks to Rick_Barzilli@xircom.com Bugfix that prevents sqmgrlog from freezing up if a log file has "holes" (sequences of zeros) (caused by filesystem crash). Thanks to drdivano@mail.axon.ru for the patch. Apr/14/1999: Per user limit added. If the user exceed the limit, userid will be saved in a file that can be used in squid acl. Field per_user_limit added to sqmgrlog.conf: per_user_limit file limit file : where userid must be saved limit: in MB Eg. 40 will limit in 40 MB. Implementation requested by Csaba Kabai Mar/11/1999: Field exclude_users now accept indexonly to create only index.html report. Implementation requested by Hanni Daniel Bug fixed for FreeBSD. Missing \n on topuser. Thanks to Andrew for share your FreeBSD-3.1 Some minors fixes and changes in html layout. Thanks to Andrew Barnes Mar/03/1999: Bug fixed. Wrong href link if userid in format userid.name... Thanks to Manon Goo Some changes on variable translations. Thanks to Matteo Colombo Russian language (KOI8-R) added by Palamarchuk Eugen Thank you Field exclude_users added to sqmgrlog.conf. Users within the file will be excluded from reports. Implementation requested by Hanni Daniel Feb/26/1999: New date/time report added. Look at http://www.orso.x5.net/squid-reports/1999Feb01-1999Feb08/duser24.html -d option now accept from-until (dd/mm/yy-dd/mm/yy) dates. Requested by Eric V. Pino Feb/10/1999: Italian language added by Matteo Colombo Thank you. -convert option added. Convert the access.log file to a legible date and time format. May be used with -l and/or -g options. Feb/05/1999: Field date_format added to sqmgrlog.conf. date_format u: reports with USA format mm/dd/yy date_format e: reports with Europe format dd/mm/yy Implementation requested by Matteo Colombo Bug fixed: temporary file cannot be created if not run in root. Thanks to Carlos Canau for the patch. Changes from Tony Lorime : use atoll instead atol in Solaris : ignore .htaccess when selecting files Thank you. Dec/21/1998: -b option added. Generate useragent report. field useragent_log added to sqmgrlog.conf Implementation requested by Alp -j option added. Generate a kind of abuse report. Implementation requested by Alp To use this feature you must apply a patch (http://www.orso.x5.net/patches) on Squid. -c exclude option improved. Now you can exclude B classes Implementation requested by Yin Jun Bug fixed for Solaris. Must user -lsocket and -lnsl to resolve names. Thanks to Ryan Roehrich Dec/11/1998: Bug fixed for long long int in Alpha Digital Thanks to Ilya V. Komarov for share your Digital server. Dec/10/1998: Version 2.2 released -n option added. Resolve domain name for reports with IP Address. Field resolve_ip added to sqmgrlog.conf Sort report by header fields implemented Fields report1_sort_field and report2_sort_field added to sqmgrlog.conf -f option added. Allow config file override Exclude hosts implemented Field exclude_hosts file added to sqmgrlog.conf. Exclude ips, names, subnets from reports. Implementations requested by Arthur S. Petrossian Dec/07/1998: Version 2.1 released sqmgrlog now can read log file in gzip or compress format. Implementation requested by Alp Nov/09/1998: Version 2.0 released -p option added. Allow redirect output report to email address. sqmgrlog.conf with colors, headers, title, font size, background color, text color, background image, font face, etc... added. Reports will be generated only for users in passwd file (tag password in sqmgrlog.conf). Many changes in html output layout. Thanks to Alp Oct/19/1998: Bug fixed by Maxim Berlin for long long int in FreeBsd. Many thanks. Thanks to Ilya V. Komarov to share your FreeBSD 3.0 server to help on fixing. Sep/28/1998: Bug fixed for log with emulate http on (Squid 1.2.beta) Thanks to Alp -p option added. Generated reports with IP Address instead Userid. Use this option if you do not use Proxy authentication on Squid. Implementation requested by Szalma Zoltan Aug/11/1998: Bug fixed for memory slack. Thanks to kevin@mcpeake.net Jose Luiz Patrick Darden Steve Chan Jul/07/1998: Spent time added for native Squid log format (emulate_httpd_log off). Connect added. Layout change in html reports. Jun/02/1998: -o option added. Allow output dir override. Implemented index.html on root output dir. Implemented auto rename if output dir already exist. bug fixed, link error if user change output dir in conf.h Thanks to Alp May/28/1998: -v option added. Allow Squid version override. May/28/1998: Bug fixed in common log format Thanks to Tony Lorimer Alp Carlos Santillana Apr/15/1998: -z option added (debug) Apr/07/1998: top.html changed to index.html Mar/31/1998: index.html added Mar/25/1998: sqmgrlog was created sarg-2.3.11/DONATIONS000066400000000000000000000001211324060677300140150ustar00rootroot00000000000000If you like SARG please contribute, go to http://sarg.sourceforge.net Thank you sarg-2.3.11/Doxyfile000066400000000000000000001640361324060677300142620ustar00rootroot00000000000000# Doxyfile 1.5.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = Sarg # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 1 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, # and Ukrainian. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 3 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = YES # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = YES # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = doxygen.log #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = . include documentation # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.c *.h *.txt # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentstion. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to FRAME, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. Other possible values # for this tag are: HIERARCHIES, which will generate the Groups, Directories, # and Class Hiererachy pages using a tree view instead of an ordered list; # ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which # disables this behavior completely. For backwards compatibility with previous # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. GENERATE_TREEVIEW = NONE # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is enabled by default, which results in a transparent # background. Warning: Depending on the platform used, enabling this option # may lead to badly anti-aliased labels on the edges of a graph (i.e. they # become hard to read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO sarg-2.3.11/LICENSE000066400000000000000000000430761324060677300135610ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. sarg-2.3.11/Makefile.in000066400000000000000000000103671324060677300146160ustar00rootroot00000000000000# Makefile.in for sarg prefix=@prefix@ datarootdir=@datarootdir@ datadir=@datadir@ exec_prefix=@exec_prefix@ PACKAGE_TARNAME=@PACKAGE_TARNAME@ docdir = @docdir@ CC = @CC@ bindir = @bindir@ mandir = @mandir@ man1dir = $(mandir)/man1 sysconfdir = @sysconfdir@ SARGPHPDIR = @SARGPHPDIR@ FONTDIR = @FONTDIR@ IMAGEDIR = @IMAGEDIR@ IBINDIR = -DBINDIR=\"@bindir@\" ISYSCONFDIR = -DSYSCONFDIR=\"@sysconfdir@\" ISARGPHPDIR = -DSARGPHPDIR=\"@SARGPHPDIR@\" IFONTDIR = -DFONTDIR=\"@FONTDIR@\" IIMAGEDIR = -DIMAGEDIR=\"@IMAGEDIR@\" ILOCALEDIR = -DLOCALEDIR=\"@localedir@\" CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ DEFS = $(IBINDIR) $(ISYSCONFDIR) $(IFONTDIR) $(IIMAGEDIR) $(ISARGPHPDIR) $(ILOCALEDIR) @DEFS@ LIBS = @LIBS@ -lm SRCDIR = . VPATH = . INSTALL = cp XSL_MAN_STYLESHEET=@XSL_MAN_STYLESHEET@ XSL_HTML_STYLESHEET=@XSL_HTML_STYLESHEET@ INSTALL_PROGRAM = $(INSTALL) SRCS = util.c log.c report.c topuser.c email.c sort.c html.c \ index.c getconf.c usage.c decomp.c ip2name.c ip2name_dns.c \ useragent.c exclude.c convlog.c totday.c repday.c datafile.c\ indexonly.c splitlog.c lastlog.c topsites.c siteuser.c css.c \ smartfilter.c denied.c authfail.c charset.c dichotomic.c \ redirector.c auth.c download.c grepday.c ip2name_exec.c \ dansguardian_log.c dansguardian_report.c realtime.c btree_cache.c \ usertab.c userinfo.c longline.c url.c OBJS = $(SRCS:.c=.o) DISTFILES = $(SRCS) ABOUT-NLS SUBDIRS = po .PHONY: all install clean uninstall mostlyclean distclean update-po doc $(SUBDIRS) all: sarg .c.o: $(CC) -c -I. $(CPPFLAGS) $(DEFS) $(CFLAGS) $< *.o: include/conf.h include/info.h include/defs.h sarg: $(OBJS) $(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS) $(LIBCRYPT) $(SUBDIRS): $(MAKE) -C $@ doc: sarg.1 sarg_manpage.html sarg.1: sarg_manpage.xml echo "Making manual page" xmllint --nonet --valid --noout $< xsltproc --stringparam man.output.encoding latin1 --nonet "$(XSL_MAN_STYLESHEET)" $< # docbook2man.pl $< sarg_manpage.html: sarg_manpage.xml echo "Making html manual page" xmllint --nonet --valid --noout $< xsltproc --stringparam use.id.as.filename 1 --stringparam root.filename sarg_manpage --nonet "$(XSL_HTML_STYLESHEET)" $< install: all install-po -@if test ! -d $(DESTDIR)$(bindir); then \ echo "creating $(DESTDIR)$(bindir)"; \ mkdir -p $(DESTDIR)$(bindir); \ fi -@if test ! -d $(DESTDIR)$(man1dir); then \ echo "creating $(DESTDIR)$(man1dir)"; \ mkdir -p $(DESTDIR)$(man1dir); \ fi -@if test ! -d $(DESTDIR)$(sysconfdir); then \ echo "creating $(DESTDIR)$(sysconfdir)"; \ mkdir -p $(DESTDIR)$(sysconfdir); \ fi -@if test ! -d $(DESTDIR)$(IMAGEDIR); then \ echo "Creating $(DESTDIR)$(IMAGEDIR)"; \ mkdir -p $(DESTDIR)$(IMAGEDIR); \ fi $(INSTALL_PROGRAM) sarg $(DESTDIR)$(bindir)/sarg chmod 755 $(DESTDIR)$(bindir)/sarg $(INSTALL_PROGRAM) sarg.1 $(DESTDIR)$(man1dir)/sarg.1 chmod 755 $(DESTDIR)$(man1dir)/sarg.1 @if test ! -f $(DESTDIR)$(sysconfdir)/sarg.conf; then \ echo "cp $(DESTDIR)$(sysconfdir)/sarg.conf"; \ cp sarg.conf $(DESTDIR)$(sysconfdir)/sarg.conf; \ else \ cp sarg.conf $(DESTDIR)$(sysconfdir)/sarg.conf.default; \ fi cp ./exclude_codes $(DESTDIR)$(sysconfdir); cp ./user_limit_block $(DESTDIR)$(sysconfdir); cp -r ./images/* $(DESTDIR)$(IMAGEDIR); -@if test -n "$(FONTDIR)" ; then \ if test ! -d "$(DESTDIR)$(FONTDIR)" ; then \ echo "Creating $(DESTDIR)$(FONTDIR)"; \ mkdir -p "$(DESTDIR)$(FONTDIR)"; \ fi; \ cp -r ./fonts/* "$(DESTDIR)$(FONTDIR)"; \ fi cp -r ./css.tpl $(DESTDIR)$(sysconfdir); -@if test -n "$(SARGPHPDIR)" -a -d "$(DESTDIR)$(SARGPHPDIR)"; then \ cp -r ./sarg-php $(DESTDIR)$(SARGPHPDIR); \ fi uninstall: uninstall-po rm -f $(DESTDIR)$(bindir)/sarg rm -f $(DESTDIR)$(man1dir)/sarg.1 TAGS: $(SRCS) etags $(SRCS) clean: clean-po rm -f sarg *.o core mostlyclean: clean distclean: clean rm -f Makefile config.status config.cache config.log realclean: distclean rm -f TAGS install-po: cd po ; $(MAKE) install uninstall-po: cd po ; $(MAKE) uninstall clean-po: cd po ; $(MAKE) clean update-po: cd po ; $(MAKE) update-po po-from-tp: @echo "Fetching latest po files from translationprojetc.org" rsync -Lrtvz -u translationproject.org::tp/latest/sarg/ po sarg-2.3.11/PROGRAMMERS000066400000000000000000000001271324060677300142630ustar00rootroot00000000000000Pedro Orso Frederic Marchal sarg-2.3.11/README000066400000000000000000000154471324060677300134350ustar00rootroot00000000000000Sarg is a Squid Analysis Report Generator that allow you to view "where" your users are going to on the Internet. Sarg generates reports in html, with many fields, like: users, IP Addresses, bytes, sites and times. Source: http://sourceforge.net/projects/sarg/ Installation ------------ 1. run ./configure Useful configure options: --prefix - The root directory of the installation default: /usr/local --bindir - where sarg binary will be saved default: /usr/local/bin --sysconfdir - where the configuration directory is default: /usr/local/etc --mandir - where the sarg man page will be saved default: /usr/local/share/man --enable-sargphp - where to install sarg-php (--disable-sargphp don't install sarg-php) default: /var/www/html --enable-fontdir - where to find the fonts for the reports (--diable-fontdir don't install the fonts) default: /usr/local/share/sarg/fonts --enable-imagedir - where sarg take the images to include in the reports default: /usr/local/share/sarg/images --enable-extraprotection - compile sarg with extra GCC options for increased security default: use standard compilation warnings and no protection If compilation fails, try to configure sarg without this flag. For a complete list of all the options, run ./configure --help. Example: ./configure --prefix=/usr --sysconfdir=/etc/sarg --enable-extraprotection 3. make 4. sudo make install 5. Go to /usr/local/sarg (or the path defined with --sysconfdir on configure) and change sarg.conf to your liking. You may use sarg.conf provided along with the sources as a template for your new sarg.conf. In any case, have a look at the sample sarg.conf for new options. 6. Install cron jobs to generate the reports. For instance, create a file named /etc/cron.daily/sarg with the content: #!/bin/sh sarg -d day-1 -w /tmp/sarg.daily -o /var/www/squid-reports/Daily /var/log/squid3/access.log* A weekly report is produced by /etc/cron.weekly/sarg: #!/bin/sh sarg -d week-1 -w /tmp/sarg.weekly -o /var/www/squid-reports/Weekly /var/log/squid3/access.log* And the monthly report is created with /etc/cron.monthly/sarg: #!/bin/sh sarg -d month-1 -w /tmp/sarg.monthly -o /var/www/squid-reports/Monthly /var/log/squid3/access.log* Make sure all those files are executable: chmod 755 /etc/cron.daily/sarg /etc/cron.weekly/sarg /etc/cron.monthly/sarg Usage: sarg -h Sorttable.js ------------ Starting with sarg v2.3.2-pre2, a javascript is distributed along with sarg to dynamically sort the reports. It is sorttable.js written by Stuart Langridge and available at http://www.kryogenix.org/code/browser/sorttable/. The version included with sarg contains some fixes and improvements over the original version. The patches have been reported to the author but he doesn't seem to support it any more. To use sorttable.js (or any other script including your own custom made script), simply copy it to your website and edit sarg.conf to point the sorttable option to the location of the script on your website. The path indicated in sarg.conf must be the path as seen by a client visiting your server. Translations ------------ As of March 14th, 2010 (sarg 2.3), the translations have been ported to gettext. This makes it easier to translate all the messages (the number of translated messages went from 144 to 448). Therefore, the old language files are obsolete. The old translated message have been converted automatically to gettext but due to the changes made to the strings in the program after the automatic conversion, it is likely that the old messages are, at best, meaningless. Translations are handled at http://translationproject.org/domain/sarg.html. If your language is not yet supported or the current translation is obsolete, please check with the team working on your language at the Translation Project to be sure nobody is assigned to sarg. If necessary, contact the coordinator of that team to join the team and be assigned to sarg. If no po file exists for you language, download the latest sarg.pot on this page http://translationproject.org/domain/sarg.html and rename it as YourLanguageCode.po. See http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes for the list of the valid languages codes. Translate YourLanguageCode.po (see http://www.gnu.org/software/gettext/manual/gettext.html for more informations). Submit the translated po file to robot@translationproject.org. You must be a member of the team working on the language for which you are submitting the po file or the robot will reject your file. It is not necessary to fill the disclaimer to translate sarg. Special thanks to: Matteo Colombo - Italian language Evgeniy Yakushev - Russian language Csaba Kabai - Hungarian language Evren Yurtesen - Turkish language Mario Blättermann - German language Javier Polo Cózar - Spanish language Benno Schulenberg - Dutch language Milos Prudek - Czech language V Gatut Harijiso - Indonesian language Ivan Minchev - Bulgarian_windows1251 language Akira Kitamura - Japanese language МироÑлав Ðиколић - Serbian language Juris Valdovskis - Latvian language Jordan Kanev - Bulgarian language fix MichaÅ‚ Trzebiatowski - Polish language Adi Cretu - Romanian language Roman Vynar - Ukrainian_windows1251 language Andreu Sanchez - Catalan language Antonis Maglaras - Greek language Dusan Woletz - Slovak Language Javier Polo Cózar - Spanish language fix Josef Karliak - Czech UTF-8 Joe Hansen - Danish language Marcio Fernandes da Costa - Brazilian Portuguese language Suggestions or remarks ---------------------- Any suggests or comments may be posted on the forum http://sourceforge.net/projects/sarg/forums/forum/363374 or sent to Frederic Marchal (fmarchal@users.sourceforge.net) sarg-2.3.11/README_cmake000066400000000000000000000154411324060677300145670ustar00rootroot00000000000000WHY SWITCH TO CMAKE I (Frederic Marchal) could not make the autotools work with msys+mingw. The choices reduced to: fight some more time with the autotools; wait until the msys port evolved or switch to cmake. Despite not being familiar with cmake, I decided to give it a chance and was surprised to come up within a few hours with something capable of compiling sarg. Now, that doesn't mean that the autotools are to be discarded on the spot. The two systems may coexist for some times especially since it is my first project with cmake and I'm sure it is done in an definitely autotoolistic way. Any comment about the usage of cmake is welcome. CONFIGURING SARG It is recommended to build sarg out of the source directory. It makes it easier to delete the build directory completely and restart the configuration from scratch if the first attempt doesn't produce the expected result. If you intent to use both cmake and the autotools, then you MUST build sarg out of the source directory as it will overwrite the original stub config.h in the source directory and you won't be able to use the autotools afterward. To build sarg out of source, create a build directory and cd into that directory. For instance, assuming your prompt is in the source directory, run mkdir build cd build Configure sarg with the command (assuming the case of a build directory one level below the sources of sarg): ccmake .. On the first run, it will report that the cache is empty. Press 'c' to configure the cache. Then ccmake will display an interface to select some configuration options. You should set the CMAKE_INSTALL_PREFIX to the root of the directory to install sarg, for instance: /usr. You may also need to change SYSCONFDIR to /etc/sarg to install the configuration files at that location. Then press 'c' again to reconfigure sarg. Four more configuration variables appear. They are build from the paths you provided for the installation directories of the components. These are the absolute paths sarg will use to find the corresponding files. You then have the opportunity to adjust them if the final location of the files it not what is resolved with the installed configuration. Finally, press 'g' to generate the final configuration. Compile with make Install with make install CONFIGURATION VARIABLES These configuration variables are available on the first configuration run. CMAKE_INSTALL_PREFIX - The root of the installation. default: /usr/local SYSCONFDIR - The directory with the configuration files relative to the installation prefix. default: etc/sarg BINDIR - The directory to copy sarg executable to. default: bin MANDIR - The directory to install the man page. default: share/man FONTDIR - The directory where the fonts for the reports are located. default: share/sarg/fonts IMAGEDIR - The directory containing the images to use in the reports. default: share/sarg/images SARGPHPDIR - The directory to install sarg-php. default: share/sarg/sarg-php ENABLE_EXTRA_PROTECT - Compile sarg with some GCC options to increase the security (tolerate no compilation warning, use the stack smashing protection, improved printf check, and so on). default: use standard warnings and no protection. These variables are initialized with the values of the above variables and are available on the second run. SYSCONFDIR_SOURCE - The full path to the configuration files to compile in sarg. default: CMAKE_INSTALL_PREFIX/SYSCONFDIR FONTDIR_SOURCE - The full path to the fonts to compile in sarg. default: CMAKE_INSTALL_PREFIX/FONTDIR IMAGEDIR_SOURCE - The full path to the images to compile in sarg. default: CMAKE_INSTALL_PREFIX/IMAGEDIR There are other configuration variables whose documentation is visible during the configuration with ccmake. COMPILATION WITH MSYS+MINGW The autotools don't compile sarg with msys. You have to use cmake in an msys terminal. If cmake is not already installed on your system, download and uncompress the cmake sources in your home directory then run the following commands in an msys terminal: configure make make install Permanently add the path to cmake.exe by appending this line at the end of your profile file (c:/msys/1.0/etc/profile): export PATH="$PATH:/c/Program files/CMake/bin" Reopen the msys terminal or run the above command in the same terminal to register the new path. Get the sources of sarg and uncompress them in your home directory. Let's assume they are in a directory named "sarg". Create a separate build directory and change to that directory. For instance, assuming your prompt is in the sarg directory, run the following commands: mkdir build cd build Configure, compile and install sarg: cmake .. -G "MSYS Makefiles" make make install This will compile sarg outside of the sources and install it in c:\Program Files\sarg. If the compilation fails because mkstemp cannot be found, ensure that the LIB and INCLUDE environment variables are set properly to the lib and include directories of mingw. For instance, type the following two commands and run make again: export LIB=c:/mingw/lib export INCLUDE=c:/mingw/include You can make them permanent by appending those two commands at the end of the profile file in c:/msys/1.0/etc/profile. CONFIGURING SARG TO RUN ON WINDOWS Cmake install a sample configuration file in c:/Program Files/sarg/etc/sarg/sarg.conf.exemple. Rename it as sarg.conf and edit it. You must change the following options: access_log c:/Program Files/sarg/log/access.log temporary_dir c:/Program Files/sarg/tmp output_dir c:/Program Files/sarg/www/squid-reports Adjust and create the directories according to your configuration. You may have to adjust other options to suit your needs. If sarg complains about a missing sort command, then you have to install the unxtools or run sarg from msys. If you want to run sarg from a regular dos prompt, download UnxUtils.zip from http://unxutils.sourceforge.net/ and uncompress it somewhere. Change the system path to include the usr\local\wbin directory before the Windows system directory. You must be sure that the unxutils are found before the windows native commands. To check this, open a dos prompt and type ls If it list the content of the directory, then the unxutils are found. Then type sort --help It should display the help of the sort command if the unxutils command is found first. If the windows command is found first, it will complain that the --help file cannot be found. Finally, if sort complains that it cannot write in the /tmp directory, either create that directory or set TMPDIR like this: set TMPDIR=c:/Program Files/sarg/tmp It may be set to your TMP or TEMP directory or the temporary directory you named in your sarg.conf file. sarg-2.3.11/aclocal.m4000066400000000000000000002750771324060677300144240ustar00rootroot00000000000000# generated automatically by aclocal 1.15 -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) # gettext.m4 serial 68 (gettext-0.19.8) dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value '$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ]])], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ]])], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ]])], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) AC_SUBST([POSUB]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) # iconv.m4 serial 19 (gettext-0.18.2) dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);]])], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);]])], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, dnl Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #ifndef ICONV_CONST # define ICONV_CONST $ac_iconv_const #endif ]], [[int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\263"; char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; ]])], [am_cv_func_iconv_works=yes], , [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) test "$am_cv_func_iconv_works" = no || break done LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST([LIBICONV]) AC_SUBST([LTLIBICONV]) ]) dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to dnl avoid warnings like dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". dnl This is tricky because of the way 'aclocal' is implemented: dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. dnl Otherwise aclocal's initial scan pass would miss the macro definition. dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. dnl Otherwise aclocal would emit many "Use of uninitialized value $1" dnl warnings. m4_define([gl_iconv_AC_DEFUN], m4_version_prereq([2.64], [[AC_DEFUN_ONCE( [$1], [$2])]], [m4_ifdef([gl_00GNULIB], [[AC_DEFUN_ONCE( [$1], [$2])]], [[AC_DEFUN( [$1], [$2])]])])) gl_iconv_AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ]], [[]])], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) dnl Also substitute ICONV_CONST in the gnulib generated . m4_ifdef([gl_ICONV_H_DEFAULTS], [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) if test -n "$am_cv_proto_iconv_arg1"; then ICONV_CONST="const" fi ]) fi ]) # intlmacosx.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on Mac OS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in Mac OS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[CFPreferencesCopyAppValue(NULL, NULL)]])], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in Mac OS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[CFLocaleCopyCurrent();]])], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) # lib-ld.m4 serial 6 dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid dnl collision with libtool.m4. dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], [# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 /dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been dnl computed. So it has to be reset here. HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) # lib-prefix.m4 serial 7 (gettext-0.18) dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates dnl - a variable acl_libdirstem, containing the basename of the libdir, either dnl "lib" or "lib64" or "lib/64", dnl - a variable acl_libdirstem2, as a secondary possible value for dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. dnl On glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine dnl the compiler's default mode by looking at the compiler's library search dnl path. If at least one of its elements ends in /lib64 or points to a dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. dnl Otherwise we use the default, namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) # po.m4 serial 24 (gettext-0.19) dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.60]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl AC_REQUIRE([AC_PROG_SED])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" gt_tab=`printf '\t'` cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" tab=`printf '\t'` if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. AC_PREREQ([2.50]) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) fi AC_SUBST([$1])dnl ]) sarg-2.3.11/auth.c000066400000000000000000000042021324060677300136450ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void htaccess(const struct userinfostruct *uinfo) { char htname[MAXLEN]; char line[MAXLEN]; FILE *fp_in; FILE *fp_auth; size_t i,nread; if(!UserAuthentication) return; if (snprintf(htname,sizeof(htname),"%s/%s/.htaccess",outdirname,uinfo->filename)>=sizeof(htname)) { debuga(_("Path too long: ")); debuga_more("%s/%s/.htaccess\n",outdirname,uinfo->filename); exit(EXIT_FAILURE); } if((fp_auth=fopen(htname,"w"))==NULL) { debugapos("auth",_("Cannot open file \"%s\": %s\n"),htname,strerror(errno)); exit(EXIT_FAILURE); } if ((fp_in=fopen(AuthUserTemplateFile,"r"))==NULL) { debugapos("auth",_("Cannot open file \"%s\": %s\n"),AuthUserTemplateFile,strerror(errno)); exit(EXIT_FAILURE); } while((nread=fread(line,1,sizeof(line),fp_in))!=0) { for (i=0 ; iid,fp_auth); i++; } else { fputc(line[i],fp_auth); } } fclose(fp_auth); fclose(fp_in); return; } sarg-2.3.11/authfail.c000066400000000000000000000154311324060677300145070ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" static void show_ignored_auth(FILE *fp_ou,int count) { char ignored[80]; snprintf(ignored,sizeof(ignored),ngettext("%d more authentication failure not shown here…","%d more authentication failures not shown here…",count),count); fprintf(fp_ou,"%s\n",ignored); } void authfail_report(void) { FILE *fp_in = NULL, *fp_ou = NULL; char *buf; char *url; char authfail_in[MAXLEN]; char report[MAXLEN]; char ip[MAXLEN]; char oip[MAXLEN]; char user[MAXLEN]; char ouser[MAXLEN]; char ouser2[MAXLEN]; char data[15]; char hora[15]; char tmp4[MAXLEN]; char csort[MAXLEN]; int z=0; int count=0; int cstatus; int day,month,year; bool new_user; struct getwordstruct gwarea; longline line; struct userinfostruct *uinfo; struct tm t; if(DataFile[0] != '\0') return; ouser[0]='\0'; ouser2[0]='\0'; oip[0]='\0'; snprintf(tmp4,sizeof(tmp4),"%s/authfail.int_unsort",tmp); if(authfail_count == 0) { if (!KeepTempLog && unlink(tmp4)) { debuga(_("Cannot delete \"%s\": %s\n"),tmp4,strerror(errno)); } if (debugz) debugaz(_("Authentication failures report not produced because it is empty\n")); return; } snprintf(authfail_in,sizeof(authfail_in),"%s/authfail.int_log",tmp); snprintf(report,sizeof(report),"%s/authfail.html",outdirname); snprintf(csort,sizeof(csort),"sort -b -t \"\t\" -T \"%s\" -k 3,3 -k 5,5 -o \"%s\" \"%s\"", tmp, authfail_in, tmp4); cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if((fp_in=MY_FOPEN(authfail_in,"r"))==NULL) { debugapos("authfail",_("Cannot open file \"%s\": %s\n"),authfail_in,strerror(errno)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(tmp4)) { debuga(_("Cannot delete \"%s\": %s\n"),tmp4,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debugapos("authfail",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } /* TRANSLATORS: This is a column header */ write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 3 : 1,_("Authentication Failures"),HTML_JS_NONE); fputs("",fp_ou); fprintf(fp_ou,_("Period: %s"),period.html); fputs("\n",fp_ou); fprintf(fp_ou,"%s\n",_("Authentication Failures")); close_html_header(fp_ou); fputs("
\n",fp_ou); fprintf(fp_ou,"\n",_("USERID"),_("IP/NAME"),_("DATE/TIME"),_("ACCESSED SITE")); if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),authfail_in); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(data,sizeof(data),&gwarea,'\t')<0) { debuga(_("Invalid date in file \"%s\"\n"),authfail_in); exit(EXIT_FAILURE); } if (getword(hora,sizeof(hora),&gwarea,'\t')<0) { debuga(_("Invalid time in file \"%s\"\n"),authfail_in); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("Invalid user in file \"%s\"\n"),authfail_in); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid IP address in file \"%s\"\n"),authfail_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),authfail_in); exit(EXIT_FAILURE); } if (sscanf(data,"%d/%d/%d",&day,&month,&year)!=3) continue; computedate(year,month,day,&t); strftime(data,sizeof(data),"%x",&t); uinfo=userinfo_find_from_id(user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),user,authfail_in); exit(EXIT_FAILURE); } new_user=false; if(z == 0) { strcpy(ouser,user); strcpy(oip,ip); z++; new_user=true; } else { if(strcmp(ouser,user) != 0) { strcpy(ouser,user); new_user=true; } if(strcmp(oip,ip) != 0) { strcpy(oip,ip); new_user=true; } } if(AuthfailReportLimit>0) { if(strcmp(ouser2,uinfo->label) == 0) { count++; } else { if(count>AuthfailReportLimit && AuthfailReportLimit>0) show_ignored_auth(fp_ou,count-AuthfailReportLimit); count=1; strcpy(ouser2,uinfo->label); } if(count > AuthfailReportLimit) continue; } fputs("",fp_ou); if (new_user) fprintf(fp_ou,"",uinfo->label,ip); else fputs("",fp_ou); fprintf(fp_ou,"\n",fp_ou); } fclose(fp_in); longline_destroy(&line); if(count>AuthfailReportLimit && AuthfailReportLimit>0) show_ignored_auth(fp_ou,count-AuthfailReportLimit); fputs("
%s%s%s%s
%s%s%s-%s",data,hora); if(BlockIt[0]!='\0' && url[0]!=ALIAS_PREFIX) { fprintf(fp_ou," ",fp_ou); } output_html_link(fp_ou,url,100); fputs("
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),report); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),report,strerror(errno)); if (!KeepTempLog && unlink(authfail_in)) { debuga(_("Cannot delete \"%s\": %s\n"),authfail_in,strerror(errno)); exit(EXIT_FAILURE); } return; } sarg-2.3.11/btree_cache.c000066400000000000000000000147701324060677300151430ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #define AVL_SINGLE_RIGHT_ROTATION 1 #define AVL_SINGLE_LEFT_ROTATION 2 #define AVL_DOUBLE_RIGHT_ROTATION 3 #define AVL_DOUBLE_LEFT_ROTATION 4 struct bt { char value[64], targetattr[256]; struct bt *left, *right; int balanceinfo; }; struct bt *root_bt = NULL; int sizeof_bt; FILE *dbgfp = NULL; void set_balance_info(struct bt *node); struct bt *get_disbalanced_node(struct bt *node); void balance_node(struct bt *node); struct bt *insert_node(struct bt *root, const char *item, const char *value) { struct bt *new_item_bt = NULL; if (!root) { new_item_bt = malloc(sizeof_bt); new_item_bt->left = NULL; new_item_bt->right = NULL; safe_strcpy(new_item_bt->value, item, sizeof(new_item_bt->value)); safe_strcpy(new_item_bt->targetattr, value, sizeof(new_item_bt->targetattr)); new_item_bt->balanceinfo = 0; return new_item_bt; } else { int result = strncmp(root->value, item, 64); if ( result > 0 ) { new_item_bt = insert_node(root->left, item, value); if (!root->left) root->left = new_item_bt; } else if (result < 0) { new_item_bt = insert_node(root->right, item, value); if (!root->right) root->right = new_item_bt; } else return NULL; } return new_item_bt; } void balance_tree(struct bt *node) { struct bt *disbalanced_node = NULL; do { set_balance_info(root_bt); disbalanced_node = get_disbalanced_node(root_bt); if (disbalanced_node) balance_node(disbalanced_node); } while (disbalanced_node); set_balance_info(root_bt); } void delete_tree(struct bt *root) { if (root) { delete_tree(root->left); delete_tree(root->right); free(root); root = NULL; } } struct bt *search_item(struct bt *root, const char *item) { int result; while (root && (result = strncmp(root->value, item, 64))) { if (result > 0) root = root->left; else root = root->right; } return root; } int get_length(struct bt *node, int d) { int l_depth = d, r_depth = d; if (node->left) l_depth = get_length(node->left, d+1); if (node->right) r_depth = get_length(node->right, d+1); return( ( l_depth > r_depth ) ? l_depth : r_depth ); } struct bt *get_parent(struct bt *node) { if (node == root_bt) return NULL; else { int result; struct bt *prev = root_bt, *tmp = root_bt; while (tmp && (result = strncmp(node->value, tmp->value,64))) { if (result < 0) { prev = tmp; tmp = tmp->left; } else { prev = tmp; tmp = tmp->right; } } if (tmp) return prev; else return NULL; } } void set_balance_info(struct bt *node) { int l_depth = 0, r_depth = 0; if (node->left) { l_depth = get_length(node->left, 1); set_balance_info(node->left); } if (node->right) { r_depth = get_length(node->right, 1); set_balance_info(node->right); } node->balanceinfo = r_depth - l_depth; } void rotate_right(struct bt *node) { struct bt *left, *right, *tmp, *parent = get_parent(node); left = node->left; right = node->left->right; tmp = node; node = left; tmp->left = right; node->right = tmp; if (root_bt == tmp) root_bt = node; else { if (parent->left == tmp) parent->left = node; else if (parent->right == tmp) parent->right = node; } } void rotate_left(struct bt *node) { struct bt *left, *right, *tmp, *parent = get_parent(node); left = node->right->left; right = node->right; tmp = node; node = right; tmp->right = left; node->left = tmp; if (root_bt == tmp) root_bt = node; else { if (parent->left == tmp) parent->left = node; else if (parent->right == tmp) parent->right = node; } } int get_disbalance_type(struct bt *node) { if (node->balanceinfo < 0) if (node->left->balanceinfo > 0) return AVL_DOUBLE_RIGHT_ROTATION; else return AVL_SINGLE_RIGHT_ROTATION; else if (node->right->balanceinfo < 0) return AVL_DOUBLE_LEFT_ROTATION; else return AVL_SINGLE_LEFT_ROTATION; } void balance_node(struct bt *node) { switch (get_disbalance_type(node)) { case AVL_SINGLE_RIGHT_ROTATION: rotate_right(node); break; case AVL_SINGLE_LEFT_ROTATION: rotate_left(node); break; case AVL_DOUBLE_RIGHT_ROTATION: rotate_right(node); rotate_right(node); break; case AVL_DOUBLE_LEFT_ROTATION: rotate_left(node); rotate_left(node); break; default: exit(EXIT_FAILURE); break; } } struct bt *get_disbalanced_node(struct bt *node) { struct bt *rdn; if (fabs(node->balanceinfo) > 1) return node; if (node->left) { rdn = get_disbalanced_node(node->left); if (rdn) return rdn; } if (node->right) { rdn = get_disbalanced_node(node->right); if (rdn) return rdn; } return NULL; } void init_cache(void) { root_bt = NULL; sizeof_bt = sizeof(struct bt); } int insert_to_cache(const char *key, const char *value) { struct bt *root = NULL; char strict_chars[] = " ~!@^&(){}|<>?:;\"\'\\[]`,\r\n\0", *strict_chars_ptr; strict_chars_ptr = strict_chars; while (*strict_chars_ptr) { char *strict_chr_ptr = strchr(key, *strict_chars_ptr); if (strict_chr_ptr) *strict_chr_ptr = '\0'; strict_chars_ptr++; } if ((root = (insert_node(root_bt, key, value)))) { if (!root_bt) root_bt = root; balance_tree(root_bt); return 0; } else return 1; } char *search_in_cache(const char *key) { struct bt *node; if ((node = search_item(root_bt, key))) { return node->targetattr; } else return NULL; } void destroy_cache(void) { delete_tree(root_bt); root_bt = NULL; } sarg-2.3.11/cfgaux/000077500000000000000000000000001324060677300140175ustar00rootroot00000000000000sarg-2.3.11/cfgaux/compile000066400000000000000000000053261324060677300154000ustar00rootroot00000000000000#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. # Copyright 1999, 2000 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Usage: # compile PROGRAM [ARGS]... # `-o FOO.o' is removed from the args passed to the actual compile. prog=$1 shift ofile= cfile= args= while test $# -gt 0; do case "$1" in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we do something ugly here. ofile=$2 shift case "$ofile" in *.o | *.obj) ;; *) args="$args -o $ofile" ofile= ;; esac ;; *.c) cfile=$1 args="$args $1" ;; *) args="$args $1" ;; esac shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$prog" $args fi # Name of file we expect compiler to create. cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` # Create the lock directory. # Note: use `[/.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d while true; do if mkdir $lockdir > /dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir $lockdir; exit 1" 1 2 15 # Run the compile. "$prog" $args status=$? if test -f "$cofile"; then mv "$cofile" "$ofile" fi rmdir $lockdir exit $status sarg-2.3.11/cfgaux/config.guess000066400000000000000000001275341324060677300163500ustar00rootroot00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-01-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: sarg-2.3.11/cfgaux/config.rpath000066400000000000000000000442161324060677300163330ustar00rootroot00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2016 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; nagfor*) wl='-Wl,-Wl,,' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; xl* | bgxl* | bgf* | mpixl*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ F* | *Sun*Fortran*) wl= ;; *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; newsos6) ;; *nto* | *qnx*) ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) wl='-Qoption ld ' ;; *) wl='-Wl,' ;; esac ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; haiku*) ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd2.[01]*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) case "$host_cpu" in powerpc*) library_names_spec='$libname$shrext' ;; m68k) library_names_spec='$libname.a' ;; esac ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd[23].*) library_names_spec='$libname$shrext$versuffix' ;; freebsd* | dragonfly*) library_names_spec='$libname$shrext' ;; gnu*) library_names_spec='$libname$shrext' ;; haiku*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; tpf*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: sarg-2.3.11/cfgaux/depcomp000066400000000000000000000275251324060677300154040ustar00rootroot00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects # Copyright 1999, 2000 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # `libtool' can also be set to `yes' or `no'. depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. This file always lives in the current directory. # Also, the AIX compiler puts `$object:' at the start of each line; # $object doesn't have directory information. stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; tru64) # The Tru64 AIX compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. tmpdepfile1="$object.d" tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` if test "$libtool" = yes; then "$@" -Wc,-MD else "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi if test -f "$tmpdepfile1"; then tmpdepfile="$tmpdepfile1" else tmpdepfile="$tmpdepfile2" fi if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a space and a tab in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the proprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. test -z "$dashmflag" && dashmflag=-M ( IFS=" " case " $* " in *" --mode=compile "*) # this is libtool, let us make it quiet for arg do # cycle over the arguments case "$arg" in "--mode=compile") # insert --quiet before "--mode=compile" set fnord "$@" --quiet shift # fnord ;; esac set fnord "$@" "$arg" shift # fnord shift # "$arg" done ;; esac "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" ) & proc=$! "$@" stat=$? wait "$proc" if test "$stat" != 0; then exit $stat; fi rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) # X makedepend ( shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift;; -*) ;; *) set fnord "$@" "$arg"; shift;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" ) & proc=$! "$@" stat=$? wait "$proc" if test "$stat" != 0; then exit $stat; fi rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tail +3 "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the proprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. ( IFS=" " case " $* " in *" --mode=compile "*) for arg do # cycle over the arguments case $arg in "--mode=compile") # insert --quiet before "--mode=compile" set fnord "$@" --quiet shift # fnord ;; esac set fnord "$@" "$arg" shift # fnord shift # "$arg" done ;; esac "$@" -E | sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" ) & proc=$! "$@" stat=$? wait "$proc" if test "$stat" != 0; then exit $stat; fi rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the proprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. ( IFS=" " case " $* " in *" --mode=compile "*) for arg do # cycle over the arguments case $arg in "--mode=compile") # insert --quiet before "--mode=compile" set fnord "$@" --quiet shift # fnord ;; esac set fnord "$@" "$arg" shift # fnord shift # "$arg" done ;; esac "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" ) & proc=$! "$@" stat=$? wait "$proc" if test "$stat" != 0; then exit $stat; fi rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 sarg-2.3.11/cfgaux/install-sh000066400000000000000000000127361324060677300160310ustar00rootroot00000000000000#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 sarg-2.3.11/cfgaux/missing000066400000000000000000000212311324060677300154120ustar00rootroot00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.3 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar ${1+"$@"} && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar ${1+"$@"} && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 sarg-2.3.11/cfgaux/mkinstalldirs000066400000000000000000000013261324060677300166240ustar00rootroot00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.1 2009-06-25 09:39:47 fmarchal Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here sarg-2.3.11/charset.c000066400000000000000000000040761324060677300143460ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void ccharset(char *CharSet) { if(strcmp(CharSet,"Latin2") == 0) strcpy(CharSet,"ISO-8859-2"); else if(strcmp(CharSet,"Latin3") == 0) strcpy(CharSet,"ISO-8859-3"); else if(strcmp(CharSet,"Latin4") == 0) strcpy(CharSet,"ISO-8859-4"); else if(strcmp(CharSet,"Cyrillic") == 0) strcpy(CharSet,"ISO-8859-5"); else if(strcmp(CharSet,"Arabic") == 0) strcpy(CharSet,"ISO-8859-6"); else if(strcmp(CharSet,"Greek") == 0) strcpy(CharSet,"ISO-8859-7"); else if(strcmp(CharSet,"Hebrew") == 0) strcpy(CharSet,"ISO-8859-8"); else if(strcmp(CharSet,"Latin5") == 0) strcpy(CharSet,"ISO-8859-9"); else if(strcmp(CharSet,"Latin6") == 0) strcpy(CharSet,"ISO-8859-10"); else if(strcmp(CharSet,"Windows-1251") == 0) strcpy(CharSet,"Windows-1251"); else if(strcmp(CharSet,"Japan") == 0) strcpy(CharSet,"EUC-JP"); else if(strcmp(CharSet,"Koi8-r") == 0) strcpy(CharSet,"KOI8-R"); else if(strcmp(CharSet,"UTF-8") == 0) strcpy(CharSet,"UTF-8"); return; } sarg-2.3.11/config.h000066400000000000000000000003201324060677300141530ustar00rootroot00000000000000/* Stub file that should be used when the program is not configured by cmake. If you use cmake to configure sarg, a config.h file will be created in ${CMAKE_BINARY_DIR} and should be used before this one. */ sarg-2.3.11/configure000077500000000000000000010322341324060677300144560ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for sarg 2.3.11. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sarg' PACKAGE_TARNAME='sarg' PACKAGE_VERSION='2.3.11' PACKAGE_STRING='sarg 2.3.11' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="log.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gt_needs= ac_subst_vars='LTLIBOBJS LIBOBJS VERSION PACKAGE XSL_HTML_STYLESHEET XSL_MAN_STYLESHEET IMAGEDIR FONTDIR SARGPHPDIR POSUB LTLIBINTL LIBINTL INTLLIBS INTL_MACOSX_LIBS XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS SED MKDIR_P INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM SET_MAKE LTLIBICONV LIBICONV EGREP GREP CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_gcc with_gd with_ldap with_iconv with_gnu_ld enable_rpath with_libiconv_prefix with_pcre enable_nls with_libintl_prefix enable_largefile enable_sargphp enable_fontdir enable_imagedir enable_extraprotection enable_doublecheck enable_xsl_man enable_xsl_html ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures sarg 2.3.11 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/sarg] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of sarg 2.3.11:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support --disable-largefile omit support for large files --enable-sargphp=sargphpdir Select sargphpdir as the directory to install sarg-php into --enable-fontdir=fontdir Select fontdir as the directory with the fonts to use in the reports --enable-imagedir=imagedir Select imagedir as the directory with the images to use in the reports --enable-extraprotection Enable compile and runtime extra protections --enable-doublecheck Make sarg double check the data it manipulates and output a warning if an error is found --enable-xsl-man=man-xsl-style-sheet Select the directory containing the the XSL stylesheets to convert DocBook into man page --enable-xsl-html=html-xsl-style-sheet Select the directory containing the the XSL stylesheets to convert DocBook into html page Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-gcc use CC to compile --with-gd Compile with support for the graphical gd library --with-ldap Compile with LDAP support --with-iconv Compile with support for iconv --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-pcre Compile with support for the Perl Compatible Regular Expressions library --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF sarg configure 2.3.11 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including # INCLUDES, setting cache variable VAR accordingly. ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (sizeof ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else eval "$4=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 $as_echo_n "checking whether $as_decl_name is declared... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { #ifndef $as_decl_name #ifdef __cplusplus (void) $as_decl_use; #else (void) $as_decl_name; #endif #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by sarg $as_me 2.3.11, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in cfgaux "$srcdir"/cfgaux; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in cfgaux \"$srcdir\"/cfgaux" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Check whether --with-gcc was given. if test "${with_gcc+set}" = set; then : withval=$with_gcc; fi test -n "$CC" && cc_specified=yes case ${with_gcc} in yes ) CC=gcc ;; no ) CC=cc ;; * ) ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if ${ac_cv_prog_cc_c99+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then : fi # Report more warnings to improve code quality. CFLAGS="${CFLAGS} -Wall -Wno-sign-compare" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra warnings flag in $CC" >&5 $as_echo_n "checking for extra warnings flag in $CC... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_extra_warnings="yes" else have_extra_warnings="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_extra_warnings" >&5 $as_echo "$have_extra_warnings" >&6; } if test "$have_extra_warnings" = "no" ; then CFLAGS="${saved_CFLAGS}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for implicit-function-declaration error flag in $CC" >&5 $as_echo_n "checking for implicit-function-declaration error flag in $CC... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Werror=implicit-function-declaration" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_implicit_function_declaration="yes" else have_implicit_function_declaration="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_implicit_function_declaration" >&5 $as_echo "$have_implicit_function_declaration" >&6; } if test "$have_implicit_function_declaration" = "no" ; then CFLAGS="${saved_CFLAGS}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for format error flag in $CC" >&5 $as_echo_n "checking for format error flag in $CC... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Werror=format" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_error_format="yes" else have_error_format="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_error_format" >&5 $as_echo "$have_error_format" >&6; } if test "$have_error_format" = "no" ; then CFLAGS="${saved_CFLAGS}" fi case "$host" in *-solaris*) LDFLAGS="${LDFLAGS} -lsocket -lnsl" CFLAGS="-DSOLARIS ${CFLAGS}" ;; esac #dnl Checks for programs. #AC_PROG_CC ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> int main () { if ((DIR *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_ac_Header { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF ac_header_dirent=$ac_hdr; break fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' dir; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' x; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in stdio.h stdlib.h string.h strings.h sys/time.h time.h unistd.h sys/dirent.h \ dirent.h sys/types.h sys/socket.h netdb.h arpa/inet.h netinet/in.h sys/stat.h \ ctype.h errno.h sys/resource.h sys/wait.h stdarg.h inttypes.h limits.h locale.h \ execinfo.h math.h libintl.h libgen.h stdbool.h getopt.h fcntl.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_getopt_h = "no" ; then as_fn_error $? "\"getopt.h is required to compile sarg\"" "$LINENO" 5 fi # Build with gd # Check whether --with-gd was given. if test "${with_gd+set}" = set; then : withval=$with_gd; else with_gd=check fi if ( test "x$with_gd" != "xno" ) ; then for ac_header in gd.h gdfontl.h gdfontt.h gdfonts.h gdfontmb.h gdfontg.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if ( test "x$ac_cv_header_gd_h" = "xyes" ) ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdImagePng in -lgd" >&5 $as_echo_n "checking for gdImagePng in -lgd... " >&6; } if ${ac_cv_lib_gd_gdImagePng+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gdImagePng (); int main () { return gdImagePng (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_gd_gdImagePng=yes else ac_cv_lib_gd_gdImagePng=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdImagePng" >&5 $as_echo "$ac_cv_lib_gd_gdImagePng" >&6; } if test "x$ac_cv_lib_gd_gdImagePng" = xyes; then : LIBS="-lgd ${LIBS}"; HAVE_GD_LIB="yes" else HAVE_GD_LIB="" fi if ( test "x$HAVE_GD_LIB" != "xyes" ) ; then as_fn_error $? "ligbd is required to compile sarg with gd" "$LINENO" 5 fi else gd_status="not found" fi else gd_status="disabled" fi # Build with LDAP # Check whether --with-ldap was given. if test "${with_ldap+set}" = set; then : withval=$with_ldap; else with_ldap=check fi if ( test "x$with_ldap" != "xno" ) ; then for ac_header in ldap.h do : ac_fn_c_check_header_mongrel "$LINENO" "ldap.h" "ac_cv_header_ldap_h" "$ac_includes_default" if test "x$ac_cv_header_ldap_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LDAP_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_init in -lldap" >&5 $as_echo_n "checking for ldap_init in -lldap... " >&6; } if ${ac_cv_lib_ldap_ldap_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ldap_init (); int main () { return ldap_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ldap_ldap_init=yes else ac_cv_lib_ldap_ldap_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_init" >&5 $as_echo "$ac_cv_lib_ldap_ldap_init" >&6; } if test "x$ac_cv_lib_ldap_ldap_init" = xyes; then : LIBS="-lldap ${LIBS}"; HAVE_LDAP="yes" else HAVE_LDAP="" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: Not building with LDAP support as requested on the configuration command line" >&5 $as_echo "$as_me: Not building with LDAP support as requested on the configuration command line" >&6;} fi # Build with iconv # Check whether --with-iconv was given. if test "${with_iconv+set}" = set; then : withval=$with_iconv; else with_iconv=check fi if ( test "x$with_iconv" != "xno" ) ; then if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 $as_echo_n "checking for 64-bit host... " >&6; } if ${gl_cv_solaris_64bit+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 sixtyfour bits #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "sixtyfour bits" >/dev/null 2>&1; then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 $as_echo "$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifndef ICONV_CONST # define ICONV_CONST $ac_iconv_const #endif int main () { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\263"; char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi test "$am_cv_func_iconv_works" = no || break done LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_cv_proto_iconv_arg1="" else am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_proto_iconv" >&5 $as_echo " $am_cv_proto_iconv" >&6; } cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF fi if test -n "$LIBICONV" ; then LIBS="$LIBS $LIBICONV" fi for ac_header in iconv.h do : ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" if test "x$ac_cv_header_iconv_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ICONV_H 1 _ACEOF fi done else { $as_echo "$as_me:${as_lineno-$LINENO}: Not building with iconv as requested on the configuration command line" >&5 $as_echo "$as_me: Not building with iconv as requested on the configuration command line" >&6;} fi # Build with pcre # Check whether --with-pcre was given. if test "${with_pcre+set}" = set; then : withval=$with_pcre; else with_pcre=check fi if ( test "x$with_pcre" != "xno" ) ; then for ac_header in pcre.h do : ac_fn_c_check_header_mongrel "$LINENO" "pcre.h" "ac_cv_header_pcre_h" "$ac_includes_default" if test "x$ac_cv_header_pcre_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PCRE_H 1 _ACEOF fi done if ( test "x$ac_cv_header_pcre_h" = "xyes" ) ; then LIBS="$LIBS $(pcre-config --libs)" CFLAGS="$CFLAGS $(pcre-config --cflags)" else pcre_status="not found" fi else pcre_status="disabled" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi # Change the gettext version according to the available version on your system. # It should not be necessary to change it unless you run autoreconf -fi. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.19 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if ${am_cv_func_iconv_works+:} false; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do if test "$cross_compiling" = yes; then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifndef ICONV_CONST # define ICONV_CONST $ac_iconv_const #endif int main () { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\263"; char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi test "$am_cv_func_iconv_works" = no || break done LIBS="$am_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi # Check whether fopen64 is available and whether _LARGEFILE64_SOURCE # needs to be defined for it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fopen64" >&5 $as_echo_n "checking for fopen64... " >&6; } if ${bu_cv_have_fopen64+:} false; then : $as_echo_n "(cached) " >&6 else noerror_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen64 ("/tmp/foo","r");fclose(f); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : bu_cv_have_fopen64=yes else CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen64 ("/tmp/foo","r");fclose(f); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE" else CFLAGS=$noerror_CFLAGS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen64 ("/tmp/foo","r");fclose(f); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : bu_cv_have_fopen64="yes without -Werror" werror_status="fail" else CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen64 ("/tmp/foo","r");fclose(f); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE and no -Werror" werror_status="fail" else bu_cv_have_fopen64=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS=$noerror_CFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bu_cv_have_fopen64" >&5 $as_echo "$bu_cv_have_fopen64" >&6; } if test "$bu_cv_have_fopen64" != no; then $as_echo "#define HAVE_FOPEN64 1" >>confdefs.h if test "$bu_cv_have_fopen64" = "need -D_LARGEFILE64_SOURCE"; then $as_echo "#define _LARGEFILE64_SOURCE 1" >>confdefs.h fi fi for ac_func in bzero do : ac_fn_c_check_func "$LINENO" "bzero" "ac_cv_func_bzero" if test "x$ac_cv_func_bzero" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BZERO 1 _ACEOF fi done for ac_func in backtrace do : ac_fn_c_check_func "$LINENO" "backtrace" "ac_cv_func_backtrace" if test "x$ac_cv_func_backtrace" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BACKTRACE 1 _ACEOF fi done for ac_func in symlink do : ac_fn_c_check_func "$LINENO" "symlink" "ac_cv_func_symlink" if test "x$ac_cv_func_symlink" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYMLINK 1 _ACEOF fi done for ac_func in lstat do : ac_fn_c_check_func "$LINENO" "lstat" "ac_cv_func_lstat" if test "x$ac_cv_func_lstat" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LSTAT 1 _ACEOF fi done for ac_func in getnameinfo do : ac_fn_c_check_func "$LINENO" "getnameinfo" "ac_cv_func_getnameinfo" if test "x$ac_cv_func_getnameinfo" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETNAMEINFO 1 _ACEOF fi done for ac_func in getaddrinfo do : ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo" if test "x$ac_cv_func_getaddrinfo" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETADDRINFO 1 _ACEOF fi done for ac_func in mkstemp do : ac_fn_c_check_func "$LINENO" "mkstemp" "ac_cv_func_mkstemp" if test "x$ac_cv_func_mkstemp" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_MKSTEMP 1 _ACEOF fi done ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_len" "ac_cv_member_struct_sockaddr_storage_ss_len" "$ac_includes_default" if test "x$ac_cv_member_struct_sockaddr_storage_ss_len" = xyes; then : $as_echo "#define HAVE_SOCKADDR_SA_LEN 1" >>confdefs.h fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of rlim_t" >&5 $as_echo_n "checking size of rlim_t... " >&6; } if ${ac_cv_sizeof_rlim_t+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (rlim_t))" "ac_cv_sizeof_rlim_t" "#if HAVE_SYS_RESOURCE_H #include #endif "; then : else if test "$ac_cv_type_rlim_t" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (rlim_t) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_rlim_t=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_rlim_t" >&5 $as_echo "$ac_cv_sizeof_rlim_t" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_RLIM_T $ac_cv_sizeof_rlim_t _ACEOF if test $ac_cv_sizeof_rlim_t = "4"; then $as_echo "#define RLIM_STRING \"%d\"" >>confdefs.h elif test $ac_cv_sizeof_rlim_t = "8"; then $as_echo "#define RLIM_STRING \"%lli\"" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: can not detect the size of your system\'s rlim_t type" >&5 $as_echo "$as_me: WARNING: can not detect the size of your system\'s rlim_t type" >&2;} fi ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include " if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then : HAVE_LLONG_MAX="yes" else HAVE_LLONG_MAX="no" fi if ( test "x$ac_cv_have_decl_LLONG_MAX" != "xyes" ) ; then as_fn_error $? "LLONG_MAX is not defined on your system." "$LINENO" 5 fi # Check whether --enable-sargphp was given. if test "${enable_sargphp+set}" = set; then : enableval=$enable_sargphp; if test "$enableval" -a "x$enableval" != "xno" ; then SARGPHPDIR=$enableval fi else SARGPHPDIR="/var/www/html" fi if test "$SARGPHPDIR" ; then echo "using $SARGPHPDIR as the directory to install sarg-php" fi # Check whether --enable-fontdir was given. if test "${enable_fontdir+set}" = set; then : enableval=$enable_fontdir; if test "$enableval" -a "x$enableval" != "xno" ; then FONTDIR=$enableval fi else FONTDIR="${datarootdir}/sarg/fonts" fi if test "$FONTDIR" ; then if test "x$prefix" = "xNONE" ; then tempfullpath=`prefix=$ac_default_prefix ; eval "echo $FONTDIR"` else tempfullpath=`eval "echo $FONTDIR"` fi echo "using $tempfullpath as the directory of the fonts" fi # Check whether --enable-imagedir was given. if test "${enable_imagedir+set}" = set; then : enableval=$enable_imagedir; if test "$enableval"; then IMAGEDIR=$enableval fi else IMAGEDIR="${datarootdir}/sarg/images" fi if test "x$prefix" = "xNONE" ; then tempfullpath=`prefix=$ac_default_prefix ; eval "echo $IMAGEDIR"` else tempfullpath=`eval "echo $IMAGEDIR"` fi echo "using $tempfullpath as the directory of the images" # Check whether --enable-extraprotection was given. if test "${enable_extraprotection+set}" = set; then : enableval=$enable_extraprotection; if test "$enableval"; then # _FORTIFY_SOURCE may have been defined by the system. It must be undefined before it is changed to the value we want. CFLAGS="${CFLAGS} -fstack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" if test "x$werror_status" != "xfail" ; then CFLAGS="${CFLAGS} -Werror" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for format security flag in $CC" >&5 $as_echo_n "checking for format security flag in $CC... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Wformat -Werror=format-security" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_format_security="yes" else have_format_security="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_format_security" >&5 $as_echo "$have_format_security" >&6; } if test "$have_format_security" = "no" ; then CFLAGS="${saved_CFLAGS}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for empty body flag in $CC" >&5 $as_echo_n "checking for empty body flag in $CC... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Wempty-body" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_empty_body="yes" else have_empty_body="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_empty_body" >&5 $as_echo "$have_empty_body" >&6; } if test "$have_empty_body" = "no" ; then CFLAGS="${saved_CFLAGS}" fi fi fi # Check whether --enable-doublecheck was given. if test "${enable_doublecheck+set}" = set; then : enableval=$enable_doublecheck; if test "$enableval"; then $as_echo "#define ENABLE_DOUBLE_CHECK_DATA 1" >>confdefs.h fi fi # Check whether --enable-xsl-man was given. if test "${enable_xsl_man+set}" = set; then : enableval=$enable_xsl_man; if test "$enableval"; then XSL_MAN_STYLESHEET=$enableval fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl" >&5 $as_echo_n "checking for /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl... " >&6; } if ${ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl+:} false; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl"; then ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl=yes else ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl" >&5 $as_echo "$ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl" >&6; } if test "x$ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__USR_SHARE_SGML_DOCBOOK_STYLESHEET_XSL_NWALSH_MANPAGES_DOCBOOK_XSL 1 _ACEOF # debian XSL_MAN_STYLESHEET="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl" >&5 $as_echo_n "checking for /usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl... " >&6; } if ${ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl+:} false; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl"; then ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl=yes else ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl" >&5 $as_echo "$ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl" >&6; } if test "x$ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__USR_SHARE_SGML_DOCBOOK_XSL_STYLESHEETS_MANPAGES_DOCBOOK_XSL 1 _ACEOF # gentoo XSL_MAN_STYLESHEET="/usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl" fi fi fi # Check whether --enable-xsl-html was given. if test "${enable_xsl_html+set}" = set; then : enableval=$enable_xsl_html; if test "$enableval"; then XSL_HTML_STYLESHEET=$enableval fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/html/onechunk.xsl" >&5 $as_echo_n "checking for /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/html/onechunk.xsl... " >&6; } if ${ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl+:} false; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/html/onechunk.xsl"; then ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl=yes else ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl" >&5 $as_echo "$ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl" >&6; } if test "x$ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__USR_SHARE_SGML_DOCBOOK_STYLESHEET_XSL_DOCBOOK_XSL_HTML_ONECHUNK_XSL 1 _ACEOF # debian XSL_HTML_STYLESHEET="/usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/html/onechunk.xsl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/sgml/docbook/xsl-stylesheets/html/onechunk.xsl" >&5 $as_echo_n "checking for /usr/share/sgml/docbook/xsl-stylesheets/html/onechunk.xsl... " >&6; } if ${ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl+:} false; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/sgml/docbook/xsl-stylesheets/html/onechunk.xsl"; then ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl=yes else ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl" >&5 $as_echo "$ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl" >&6; } if test "x$ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__USR_SHARE_SGML_DOCBOOK_XSL_STYLESHEETS_HTML_ONECHUNK_XSL 1 _ACEOF # gentoo XSL_HTML_STYLESHEET="/usr/share/sgml/docbook/xsl-stylesheets/html/onechunk.xsl" fi fi fi PACKAGE="$PACKAGE_NAME" VERSION="$PACKAGE_VERSION" ac_config_files="$ac_config_files Makefile po/Makefile.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by sarg $as_me 2.3.11, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ sarg config.status 2.3.11 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" gt_tab=`printf '\t'` cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi if ( test "x$gd_status" = "xdisabled" ) ; then { $as_echo "$as_me:${as_lineno-$LINENO}: Not building with gd as requested on the configuration command line" >&5 $as_echo "$as_me: Not building with gd as requested on the configuration command line" >&6;} elif ( test "x$gd_status" = "xnot found" ) ; then { $as_echo "$as_me:${as_lineno-$LINENO}: gd.h was not found so the graphs won't be available in the report" >&5 $as_echo "$as_me: gd.h was not found so the graphs won't be available in the report" >&6;} fi if ( test "x$pcre_status" = "xdisabled" ) ; then { $as_echo "$as_me:${as_lineno-$LINENO}: Not building with pcre as requested on the configuration command line" >&5 $as_echo "$as_me: Not building with pcre as requested on the configuration command line" >&6;} elif ( test "x$pcre_status" = "xnot found" ) ; then { $as_echo "$as_me:${as_lineno-$LINENO}: pcre.h was not found so the regexp won't be available in the hostalias" >&5 $as_echo "$as_me: pcre.h was not found so the regexp won't be available in the hostalias" >&6;} fi sarg-2.3.11/configure.ac000066400000000000000000000276401324060677300150410ustar00rootroot00000000000000dnl Process this file with autoconf or autoreconf to produce a configure script. AC_INIT([sarg],[2.3.11]) AC_CONFIG_SRCDIR([log.c]) AC_CONFIG_AUX_DIR(cfgaux) AC_CANONICAL_HOST AC_ARG_WITH(gcc, AS_HELP_STRING([--without-gcc],[use CC to compile])) test -n "$CC" && cc_specified=yes case ${with_gcc} in yes ) CC=gcc ;; dnl yes ) CC=g++ ;; no ) CC=cc ;; * ) AC_PROG_CC;; dnl * ) AC_PROG_CXX ;; esac dnl The purpose of the following condition is unknown but it is obsolete as it is. dnl The -Aa option produces an error claiming that some argument are missing. dnl if test "${CC}" = "cc" ; then dnl CFLAGS="${CFLAGS} -g -O2 -Aa" dnl fi dnl C99 support is required to define LLONG_MAX (at least on CentOS 5.7) AC_PROG_CC_C99 # Report more warnings to improve code quality. CFLAGS="${CFLAGS} -Wall -Wno-sign-compare" dnl Check for supported compiler options AC_MSG_CHECKING([for extra warnings flag in $CC]) saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter" AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_extra_warnings="yes"],[have_extra_warnings="no"]) AC_MSG_RESULT($have_extra_warnings) if test "$have_extra_warnings" = "no" ; then CFLAGS="${saved_CFLAGS}" fi AC_MSG_CHECKING([for implicit-function-declaration error flag in $CC]) saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Werror=implicit-function-declaration" AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_implicit_function_declaration="yes"],[have_implicit_function_declaration="no"]) AC_MSG_RESULT($have_implicit_function_declaration) if test "$have_implicit_function_declaration" = "no" ; then CFLAGS="${saved_CFLAGS}" fi AC_MSG_CHECKING([for format error flag in $CC]) saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Werror=format" AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_error_format="yes"],[have_error_format="no"]) AC_MSG_RESULT($have_error_format) if test "$have_error_format" = "no" ; then CFLAGS="${saved_CFLAGS}" fi case "$host" in *-solaris*) LDFLAGS="${LDFLAGS} -lsocket -lnsl" CFLAGS="-DSOLARIS ${CFLAGS}" ;; esac #dnl Checks for programs. #AC_PROG_CC dnl Check for headers AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS(stdio.h stdlib.h string.h strings.h sys/time.h time.h unistd.h sys/dirent.h \ dirent.h sys/types.h sys/socket.h netdb.h arpa/inet.h netinet/in.h sys/stat.h \ ctype.h errno.h sys/resource.h sys/wait.h stdarg.h inttypes.h limits.h locale.h \ execinfo.h math.h libintl.h libgen.h stdbool.h getopt.h fcntl.h) if test $ac_cv_header_getopt_h = "no" ; then AC_MSG_ERROR("getopt.h is required to compile sarg") fi # Build with gd AC_ARG_WITH([gd], AS_HELP_STRING([--with-gd],[Compile with support for the graphical gd library]), [],[with_gd=check]) if ( test "x$with_gd" != "xno" ) ; then AC_CHECK_HEADERS(gd.h gdfontl.h gdfontt.h gdfonts.h gdfontmb.h gdfontg.h) if ( test "x$ac_cv_header_gd_h" = "xyes" ) ; then AC_CHECK_LIB(gd, gdImagePng,LIBS="-lgd ${LIBS}"; HAVE_GD_LIB="yes", HAVE_GD_LIB="") if ( test "x$HAVE_GD_LIB" != "xyes" ) ; then AC_MSG_ERROR([ligbd is required to compile sarg with gd]) fi else gd_status="not found" fi else gd_status="disabled" fi # Build with LDAP AC_ARG_WITH([ldap], AS_HELP_STRING([--with-ldap],[Compile with LDAP support]), [],[with_ldap=check]) if ( test "x$with_ldap" != "xno" ) ; then AC_CHECK_HEADERS(ldap.h) AC_CHECK_LIB(ldap, ldap_init,LIBS="-lldap ${LIBS}"; HAVE_LDAP="yes", HAVE_LDAP="") else AC_MSG_NOTICE([Not building with LDAP support as requested on the configuration command line]) fi # Build with iconv AC_ARG_WITH([iconv], AS_HELP_STRING([--with-iconv],[Compile with support for iconv]), [],[with_iconv=check]) if ( test "x$with_iconv" != "xno" ) ; then dnl Check for iconv AM_ICONV if test -n "$LIBICONV" ; then LIBS="$LIBS $LIBICONV" fi AC_CHECK_HEADERS(iconv.h) else AC_MSG_NOTICE([Not building with iconv as requested on the configuration command line]) fi # Build with pcre AC_ARG_WITH([pcre], AS_HELP_STRING([--with-pcre],[Compile with support for the Perl Compatible Regular Expressions library]), [],[with_pcre=check]) if ( test "x$with_pcre" != "xno" ) ; then AC_CHECK_HEADERS(pcre.h) if ( test "x$ac_cv_header_pcre_h" = "xyes" ) ; then LIBS="$LIBS $(pcre-config --libs)" CFLAGS="$CFLAGS $(pcre-config --cflags)" else pcre_status="not found" fi else pcre_status="disabled" fi dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_STRUCT_TM # Change the gettext version according to the available version on your system. # It should not be necessary to change it unless you run autoreconf -fi. AM_GNU_GETTEXT_VERSION([0.19.8]) AM_GNU_GETTEXT([external]) AC_SYS_LARGEFILE # Check whether fopen64 is available and whether _LARGEFILE64_SOURCE # needs to be defined for it AC_MSG_CHECKING([for fopen64]) AC_CACHE_VAL(bu_cv_have_fopen64, [noerror_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -Werror" AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[FILE *f = fopen64 ("/tmp/foo","r");fclose(f);]])],[bu_cv_have_fopen64=yes], [CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" AC_TRY_LINK([#include ], [FILE *f = fopen64 ("/tmp/foo","r");fclose(f);], bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE", CFLAGS=$noerror_CFLAGS AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[FILE *f = fopen64 ("/tmp/foo","r");fclose(f);]])],[bu_cv_have_fopen64="yes without -Werror" werror_status="fail"], [CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" AC_TRY_LINK([#include ], [FILE *f = fopen64 ("/tmp/foo","r");fclose(f);], bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE and no -Werror" werror_status="fail", bu_cv_have_fopen64=no)])) ]) CFLAGS=$noerror_CFLAGS]) AC_MSG_RESULT($bu_cv_have_fopen64) if test "$bu_cv_have_fopen64" != no; then AC_DEFINE([HAVE_FOPEN64], 1, [Is fopen64 available?]) if test "$bu_cv_have_fopen64" = "need -D_LARGEFILE64_SOURCE"; then AC_DEFINE([_LARGEFILE64_SOURCE], 1, [Enable LFS]) fi fi dnl check for functions AC_CHECK_FUNCS(bzero) AC_CHECK_FUNCS(backtrace) AC_CHECK_FUNCS(symlink) AC_CHECK_FUNCS(lstat) AC_CHECK_FUNCS(getnameinfo) AC_CHECK_FUNCS(getaddrinfo) AC_CHECK_FUNCS(mkstemp) dnl check for structure members AC_CHECK_MEMBER([struct sockaddr_storage.ss_len],[AC_DEFINE([HAVE_SOCKADDR_SA_LEN],1,[ss_len in sockaddr_storage])]) dnl check for the rlim_t size AC_CHECK_SIZEOF(rlim_t,1,[#if HAVE_SYS_RESOURCE_H #include #endif ]) if test $ac_cv_sizeof_rlim_t = "4"; then AC_DEFINE(RLIM_STRING, "%d", [Rlim string]) elif test $ac_cv_sizeof_rlim_t = "8"; then AC_DEFINE(RLIM_STRING, "%lli", [Rlim string]) else AC_MSG_WARN([can not detect the size of your system\'s rlim_t type]) fi dnl check for the long long int max constant AC_CHECK_DECL(LLONG_MAX,HAVE_LLONG_MAX="yes",HAVE_LLONG_MAX="no",[[#include ]]) if ( test "x$ac_cv_have_decl_LLONG_MAX" != "xyes" ) ; then AC_MSG_ERROR([LLONG_MAX is not defined on your system.]) fi dnl Select sarg-php directory AC_ARG_ENABLE(sargphp, AS_HELP_STRING([--enable-sargphp=sargphpdir], [Select sargphpdir as the directory to install sarg-php into]), [ if test "$enableval" -a "x$enableval" != "xno" ; then SARGPHPDIR=$enableval fi ],[SARGPHPDIR="/var/www/html"]) if test "$SARGPHPDIR" ; then echo "using $SARGPHPDIR as the directory to install sarg-php" AC_SUBST(SARGPHPDIR) fi dnl Select fonts dir AC_ARG_ENABLE(fontdir, AS_HELP_STRING([--enable-fontdir=fontdir], [Select fontdir as the directory with the fonts to use in the reports]), [ if test "$enableval" -a "x$enableval" != "xno" ; then FONTDIR=$enableval fi ],[FONTDIR="${datarootdir}/sarg/fonts"]) if test "$FONTDIR" ; then if test "x$prefix" = "xNONE" ; then tempfullpath=`prefix=$ac_default_prefix ; eval "echo $FONTDIR"` else tempfullpath=`eval "echo $FONTDIR"` fi echo "using $tempfullpath as the directory of the fonts" AC_SUBST(FONTDIR) fi dnl Select images dir AC_ARG_ENABLE(imagedir, AS_HELP_STRING([--enable-imagedir=imagedir], [Select imagedir as the directory with the images to use in the reports]), [ if test "$enableval"; then IMAGEDIR=$enableval fi ],[IMAGEDIR="${datarootdir}/sarg/images"]) if test "x$prefix" = "xNONE" ; then tempfullpath=`prefix=$ac_default_prefix ; eval "echo $IMAGEDIR"` else tempfullpath=`eval "echo $IMAGEDIR"` fi echo "using $tempfullpath as the directory of the images" AC_SUBST(IMAGEDIR) dnl Enable extra compile and run time protection AC_ARG_ENABLE(extraprotection, AS_HELP_STRING([--enable-extraprotection], [Enable compile and runtime extra protections]), [ if test "$enableval"; then # _FORTIFY_SOURCE may have been defined by the system. It must be undefined before it is changed to the value we want. CFLAGS="${CFLAGS} -fstack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2" if test "x$werror_status" != "xfail" ; then CFLAGS="${CFLAGS} -Werror" fi AC_MSG_CHECKING([for format security flag in $CC]) saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Wformat -Werror=format-security" AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_format_security="yes"],[have_format_security="no"]) AC_MSG_RESULT($have_format_security) if test "$have_format_security" = "no" ; then CFLAGS="${saved_CFLAGS}" fi AC_MSG_CHECKING([for empty body flag in $CC]) saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Wempty-body" AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_empty_body="yes"],[have_empty_body="no"]) AC_MSG_RESULT($have_empty_body) if test "$have_empty_body" = "no" ; then CFLAGS="${saved_CFLAGS}" fi fi ]) dnl Enable double check of the data written in the reports AC_ARG_ENABLE(doublecheck, AS_HELP_STRING([--enable-doublecheck], [Make sarg double check the data it manipulates and output a warning if an error is found]), [ if test "$enableval"; then AC_DEFINE(ENABLE_DOUBLE_CHECK_DATA) fi ]) dnl Get the xsl stylesheet to produce the manpage AC_ARG_ENABLE(xsl-man, AS_HELP_STRING([--enable-xsl-man=man-xsl-style-sheet], [Select the directory containing the the XSL stylesheets to convert DocBook into man page]), [ if test "$enableval"; then XSL_MAN_STYLESHEET=$enableval AC_SUBST(XSL_MAN_STYLESHEET) fi ], AC_CHECK_FILES([/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl], [ # debian XSL_MAN_STYLESHEET="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl" AC_SUBST(XSL_MAN_STYLESHEET) ], [ AC_CHECK_FILES([/usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl], [ # gentoo XSL_MAN_STYLESHEET="/usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl" AC_SUBST(XSL_MAN_STYLESHEET) ],) ])) dnl Get the xsl stylesheet to produce the html page AC_ARG_ENABLE(xsl-html, AS_HELP_STRING([--enable-xsl-html=html-xsl-style-sheet], [Select the directory containing the the XSL stylesheets to convert DocBook into html page]), [ if test "$enableval"; then XSL_HTML_STYLESHEET=$enableval AC_SUBST(XSL_HTML_STYLESHEET) fi ], AC_CHECK_FILES([/usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/html/onechunk.xsl], [ # debian XSL_HTML_STYLESHEET="/usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/html/onechunk.xsl" AC_SUBST(XSL_HTML_STYLESHEET) ], [ AC_CHECK_FILES([/usr/share/sgml/docbook/xsl-stylesheets/html/onechunk.xsl], [ # gentoo XSL_HTML_STYLESHEET="/usr/share/sgml/docbook/xsl-stylesheets/html/onechunk.xsl" AC_SUBST(XSL_HTML_STYLESHEET) ],) ])) AC_SUBST(PACKAGE,"$PACKAGE_NAME") AC_SUBST(VERSION,"$PACKAGE_VERSION") AC_CONFIG_FILES([Makefile po/Makefile.in]) AC_OUTPUT if ( test "x$gd_status" = "xdisabled" ) ; then AC_MSG_NOTICE([Not building with gd as requested on the configuration command line]) elif ( test "x$gd_status" = "xnot found" ) ; then AC_MSG_NOTICE([gd.h was not found so the graphs won't be available in the report]) fi if ( test "x$pcre_status" = "xdisabled" ) ; then AC_MSG_NOTICE([Not building with pcre as requested on the configuration command line]) elif ( test "x$pcre_status" = "xnot found" ) ; then AC_MSG_NOTICE([pcre.h was not found so the regexp won't be available in the hostalias]) fi sarg-2.3.11/convlog.c000066400000000000000000000046751324060677300143710ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void convlog(const char *arq, char *df, int dfrom, int duntil) { FILE *fp_in; char *buf; char data[30]; char dia[11]; time_t tt; int idata=0; struct tm *t; struct getwordstruct gwarea; longline line; if(arq[0] == '\0') arq="/var/log/squid/access.log"; if (arq[0]=='-' && arq[1]=='\0') { fp_in=stdin; } else if((fp_in=MY_FOPEN(arq,"r"))==NULL) { debugapos("convlog",_("Cannot open file \"%s\": %s\n"),arq,strerror(errno)); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),arq); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(data,sizeof(data),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } tt=atoi(data); t=localtime(&tt); if(dfrom) { idata=(t->tm_year+1900)*10000+(t->tm_mon+1)*100+t->tm_mday; if(idata < dfrom || idata > duntil) continue; } if(df[0]=='e') strftime(dia, sizeof(dia), "%d/%m/%Y", t); else strftime(dia, sizeof(dia), "%m/%d/%Y", t); printf("%s %02d:%02d:%02d %s\n",dia,t->tm_hour,t->tm_min,t->tm_sec,gwarea.current); } longline_destroy(&line); if (fp_in!=stdin && fclose(fp_in)==EOF) { debuga(_("Failed to close file \"%s\": %s\n"),arq,strerror(errno)); } } sarg-2.3.11/css.c000066400000000000000000000130421324060677300134760ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void css_content(FILE *fp_css) { fprintf(fp_css,".logo {font-family:Verdana,Tahoma,Arial;font-size:11px;color:%s;text-align:center;vertical-align:middle;border:none;padding:0px;margin-bottom:5px;}\n",LogoTextColor); fprintf(fp_css,".logo th {padding:0px;}\n"); fprintf(fp_css,".logo img {vertical-align:middle;padding:0px;border:0px none;}\n"); fprintf(fp_css,".body {font-family:%s;font-size:%s;color:%s;background-color:%s;background-image:url(%s);}\n",FontFace,TitleFontSize,TxColor,BgColor,BgImage); fprintf(fp_css,".info {font-family:%s;font-size:10px;text-align:center;margin-top:1em;margin-bottom:1em;}\n", FontFace); fprintf(fp_css,".info a:link,a:visited {font-family:%s;color:#0000FF;font-size:10px;text-decoration:none;}\n", FontFace); fprintf(fp_css,".title {width:100%%;text-align:center;margin-bottom:1em;}\n"); fprintf(fp_css,"div.title > table {margin:auto;}\n"); fprintf(fp_css,".title_c {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:center;}\n",FontFace,TitleFontSize,TiColor,BgColor); fprintf(fp_css,".title_l {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:left;}\n",FontFace,TitleFontSize,TiColor,BgColor); fprintf(fp_css,".title_r {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:right;}\n",FontFace,TitleFontSize,TiColor,BgColor); fprintf(fp_css,".index {width:100%%;text-align:center;}\n"); fprintf(fp_css,"div.index > table {margin:auto;}\n"); fprintf(fp_css,".report {width:100%%;text-align:center;}\n"); fprintf(fp_css,"div.report > table {margin:auto;}\n"); fprintf(fp_css,".header_l {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor); fprintf(fp_css,".header_r {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor); fprintf(fp_css,".header_c {font-family:%s;font-size:%s;color:%s;background-color:%s;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;}\n",FontFace,HeaderFontSize,HeaderColor,HeaderBgColor); fprintf(fp_css,".data {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:right;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor); fprintf(fp_css,".data a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;background-color:%s;text-align:right;text-decoration:none;}\n", FontFace, FontSize, TxBgColor); fprintf(fp_css,".data2 {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:left;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor); fprintf(fp_css,".data2 a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;text-align:left;background-color:%s;text-decoration:none;}\n", FontFace, FontSize, TxBgColor); fprintf(fp_css,".data3 {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:center;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;}\n", FontFace, TxColor, FontSize, TxBgColor); fprintf(fp_css,".data3 a:link,a:visited {font-family:%s;color:#0000FF;font-size:%s;text-align:center;background-color:%s;text-decoration:none;}\n", FontFace, FontSize, TxBgColor); fprintf(fp_css,".text {font-family:%s;color:%s;font-size:%s;background-color:%s;text-align:right;}\n", FontFace, TxColor, FontSize, TxBgColor); fprintf(fp_css,".more {font-style: italic;color:#777;}\n"); fprintf(fp_css,".link {font-family:%s;font-size:%s;color:#0000FF;}\n", FontFace, FontSize); fprintf(fp_css,".link a:link,a:visited {font-family:%s;font-size:%s;color:#0000FF;text-decoration:none;}\n", FontFace, FontSize); fprintf(fp_css,"a > img {border:none;}\n"); fputs(".warn {margin:0.5em;}\n",fp_css); fprintf(fp_css,".warn > span {padding:0.5em;border:2px solid black;background-color:orange;font-family:%s;font-size:%s;}\n",FontFace,FontSize); if (SortTableJs[0]) { fprintf(fp_css,".sorttable_nosort {cursor:default !important;}\n"); fprintf(fp_css,".sortable thead th {cursor:pointer;}\n"); } } void css(FILE *fp_css) { if(ExternalCSSFile[0] != '\0') { fprintf(fp_css,"\n",ExternalCSSFile); return; } fprintf(fp_css,"\n",fp_css); } sarg-2.3.11/css.tpl000066400000000000000000000056761324060677300140710ustar00rootroot00000000000000.logo {font-family:Verdana,Tahoma,Arial;font-size:11px;color:#006699;text-align:center;vertical-align:middle;border:none;padding:0px;margin-bottom:5px;} .logo th {padding:0px;} .logo img {vertical-align:middle;padding:0px;border:0px none;} .body {font-family:Tahoma,Verdana,Arial;font-size:11px;color:#000000;background-color:white;background-image:url();} .info {font-family:Tahoma,Verdana,Arial;font-size:10px;text-align:center;margin-top:1em;margin-bottom:1em;} .info a:link,a:visited {font-family:Tahoma,Verdana,Arial;color:#0000FF;font-size:10px;text-decoration:none;} .title {width:100%;text-align:center;margin-bottom:1em;} div.title > table {margin:auto;} .title_c {font-family:Tahoma,Verdana,Arial;font-size:11px;color:green;background-color:white;text-align:center;} .title_l {font-family:Tahoma,Verdana,Arial;font-size:11px;color:green;background-color:white;text-align:left;} .title_r {font-family:Tahoma,Verdana,Arial;font-size:11px;color:green;background-color:white;text-align:right;} .index {width:100%;text-align:center;} div.index > table {margin:auto;} .report {width:100%;text-align:center;} div.report > table {margin:auto;} .header_l {font-family:Tahoma,Verdana,Arial;font-size:9px;color:darkblue;background-color:blanchedalmond;text-align:left;border-right:1px solid #666666;border-bottom:1px solid #666666;} .header_r {font-family:Tahoma,Verdana,Arial;font-size:9px;color:darkblue;background-color:blanchedalmond;text-align:right;border-right:1px solid #666666;border-bottom:1px solid #666666;} .header_c {font-family:Tahoma,Verdana,Arial;font-size:9px;color:darkblue;background-color:blanchedalmond;text-align:center;border-right:1px solid #666666;border-bottom:1px solid #666666;} .data {font-family:Tahoma,Verdana,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:right;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;} .data a:link,a:visited {font-family:Tahoma,Verdana,Arial;color:#0000FF;font-size:9px;background-color:lavender;text-align:right;text-decoration:none;} .data2 {font-family:Tahoma,Verdana,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:left;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;} .data2 a:link,a:visited {font-family:Tahoma,Verdana,Arial;color:#0000FF;font-size:9px;text-align:left;background-color:lavender;text-decoration:none;} .data3 {font-family:Tahoma,Verdana,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:center;border-right:1px solid #6A5ACD;border-bottom:1px solid #6A5ACD;} .data3 a:link,a:visited {font-family:Tahoma,Verdana,Arial;color:#0000FF;font-size:9px;text-align:center;background-color:lavender;text-decoration:none;} .text {font-family:Tahoma,Verdana,Arial;color:#000000;font-size:9px;background-color:lavender;text-align:right;} .link {font-family:Tahoma,Verdana,Arial;font-size:9px;color:#0000FF;} .link a:link,a:visited {font-family:Tahoma,Verdana,Arial;font-size:9px;color:#0000FF;text-decoration:none;} a > img {border:none;} sarg-2.3.11/dansguardian_log.c000066400000000000000000000122111324060677300162040ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void dansguardian_log(void) { FILE *fp_in = NULL, *fp_ou = NULL, *fp_guard = NULL; char buf[MAXLEN]; char guard_in[MAXLEN]; char guard_ou[MAXLEN]; char loglocation[MAXLEN] = "/var/log/dansguardian/access.log"; int year, mon, day; int hour; char minsec[15]; char user[MAXLEN], code1[255], code2[255]; char ip[45]; char *url; char tmp6[MAXLEN]; int idata=0; int cstatus; int dfrom, duntil; struct getwordstruct gwarea; dfrom=(period.start.tm_year+1900)*10000+(period.start.tm_mon+1)*100+period.start.tm_mday; duntil=(period.end.tm_year+1900)*10000+(period.end.tm_mon+1)*100+period.end.tm_mday; snprintf(guard_in,sizeof(guard_in),"%s/dansguardian.int_unsort",tmp); snprintf(guard_ou,sizeof(guard_ou),"%s/dansguardian.int_log",tmp); if((fp_guard=fopen(DansGuardianConf,"r"))==NULL) { debugapos("dansguardian",_("Cannot open file \"%s\": %s\n"),DansGuardianConf,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(guard_in,"a"))==NULL) { debugapos("dansguardian",_("Cannot open file \"%s\": %s\n"),guard_in,strerror(errno)); exit(EXIT_FAILURE); } while(fgets(buf,sizeof(buf),fp_guard)!=NULL) { fixendofline(buf); if(buf[0]=='#') continue; if(strstr(buf,"loglocation ") != 0) { getword_start(&gwarea,buf); if (getword_skip(MAXLEN,&gwarea,'\'')<0 || getword(loglocation,sizeof(loglocation),&gwarea,'\'')<0) { debuga(_("Invalid record in file \"%s\"\n"),DansGuardianConf); exit(EXIT_FAILURE); } if (debug) debuga(_("Using the dansguardian log file \"%s\" found in your configuration file \"%s\"\n"), loglocation,DansGuardianConf); break; } } if(debug) debuga(_("Reading DansGuardian log file \"%s\"\n"),loglocation); if((fp_in=MY_FOPEN(loglocation,"r"))==NULL) { debugapos("dansguardian",_("Cannot open file \"%s\": %s\n"),loglocation,strerror(errno)); exit(EXIT_FAILURE); } while(fgets(buf,sizeof(buf),fp_in) != NULL) { if(strstr(buf," *DENIED* ") == 0) continue; getword_start(&gwarea,buf); if (getword_atoi(&year,&gwarea,'.')<0 || getword_atoi(&mon,&gwarea,'.')<0 || getword_atoi(&day,&gwarea,' ')<0) { debuga(_("Invalid date in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } if (getword_atoi(&hour,&gwarea,':')<0 || getword(minsec,sizeof(minsec),&gwarea,' ')<0) { debuga(_("Invalid time in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("Invalid user in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,' ')<0) { debuga(_("Invalid IP address in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } if (getword_skip(MAXLEN,&gwarea,'/')<0 || getword_skip(MAXLEN,&gwarea,'/')<0) { debuga(_("Invalid record in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,' ')<0) { debuga(_("Invalid url in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } if (getword_skip(255,&gwarea,' ')<0 || getword(code1,sizeof(code1),&gwarea,' ')<0 || getword(code2,sizeof(code2),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),loglocation); exit(EXIT_FAILURE); } idata = year*10000+mon*100+day; if(DansguardianFilterOutDate) { if(idata < dfrom || idata > duntil) continue; } if (strcmp(user,"-") == 0) { strcpy(user,ip); ip[0]='\0'; } fprintf(fp_ou,"%s\t%d\t%02d:%s\t%s\t%s\t%s\t%s\n",user,idata,hour,minsec,ip,url,code1,code2); dansguardian_count++; } if(fp_in) fclose(fp_in); if(fp_guard) fclose(fp_guard); if(fp_ou) fclose(fp_ou); if(debug) debuga(_("Sorting file \"%s\"\n"),guard_ou); snprintf(tmp6,sizeof(tmp6),"sort -t \"\t\" -k 1,1 -k 2,2 -k 4,4 \"%s\" -o \"%s\"",guard_in, guard_ou); cstatus=system(tmp6); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),tmp6); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(guard_in)) { debuga(_("Cannot delete \"%s\": %s\n"),guard_in,strerror(errno)); exit(EXIT_FAILURE); } } sarg-2.3.11/dansguardian_report.c000066400000000000000000000132351324060677300167450ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" static void show_ignored_dansguardian(FILE *fp_ou,int count) { char ignored[80]; snprintf(ignored,sizeof(ignored),ngettext("%d more dansguardian entry not shown here…","%d more dansguardian entries not shown here…",count),count); fprintf(fp_ou,"%s\n",ignored); } void dansguardian_report(void) { FILE *fp_in = NULL, *fp_ou = NULL; char buf[MAXLEN]; char *url; char dansguardian_in[MAXLEN]; char report[MAXLEN]; char ip[MAXLEN]; char rule[255]; char oip[MAXLEN]; char user[MAXLEN]; char ouser[MAXLEN]; char date[15]; char date2[15]; char hour[15]; char ouser2[255]; int z=0; int count=0; struct getwordstruct gwarea; ouser[0]='\0'; snprintf(dansguardian_in,sizeof(dansguardian_in),"%s/dansguardian.int_log",tmp); if(!dansguardian_count) { if (!KeepTempLog && unlink(dansguardian_in)) debuga(_("Cannot delete \"%s\": %s\n"),dansguardian_in,strerror(errno)); if (debugz) debugaz(_("Dansguardian report not generated because it is empty\n")); return; } sprintf(report,"%s/dansguardian.html",outdirname); if((fp_in=MY_FOPEN(dansguardian_in,"r"))==NULL) { debugapos("dansguardian_report",_("Cannot open file \"%s\": %s\n"),dansguardian_in,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debugapos("dansguardian_report",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 3 : 1,_("DansGuardian"),HTML_JS_NONE); fputs("",fp_ou); fprintf(fp_ou,_("Period: %s"),period.html); fputs("\n",fp_ou); fprintf(fp_ou,"%s\n",_("DansGuardian")); close_html_header(fp_ou); fputs("
\n",fp_ou); fprintf(fp_ou,"\n",_("USERID"),_("IP/NAME"),_("DATE/TIME"),_("ACCESSED SITE"),_("CAUSE")); while(fgets(buf,sizeof(buf),fp_in)!=NULL) { getword_start(&gwarea,buf); if (getword(user,sizeof(user),&gwarea,'\t')<0 || getword(date2,sizeof(date2),&gwarea,'\t')<0 || getword(hour,sizeof(hour),&gwarea,'\t')<0 || getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),dansguardian_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),dansguardian_in); exit(EXIT_FAILURE); } if (getword(rule,sizeof(rule),&gwarea,'\n')<0) { debuga(_("Invalid rule in file \"%s\"\n"),dansguardian_in); exit(EXIT_FAILURE); } if(UserIp) strcpy(user,ip); bzero(date, 15); if(strncmp(df,"u",1) != 0) { strncpy(date,date2+6,2); strcat(date,"/"); strncat(date,date2+4,2); strcat(date,"/"); strncat(date,date2,4); } else { strncpy(date,date2+4,2); strcat(date,"/"); strncat(date,date2+6,2); strcat(date,"/"); strncat(date,date2,4); } if(Ip2Name) ip2name(ip,sizeof(ip)); if(!z) { strcpy(ouser,user); strcpy(oip,ip); z++; } else { if(strcmp(ouser,user) == 0) user[0]='\0'; if(user[0] != '\0') strcpy(ouser,user); if(strcmp(oip,ip) == 0) ip[0]='\0'; if(ip[0] != '\0') strcpy(oip,ip); } user_find(name, sizeof(name), user); if(DansGuardianReportLimit) { if(strcmp(ouser2,name) == 0) { count++; } else { if(count>DansGuardianReportLimit && DansGuardianReportLimit>0) show_ignored_dansguardian(fp_ou,count-DansGuardianReportLimit); count=1; strcpy(ouser2,name); } if(count > DansGuardianReportLimit) continue; } fprintf(fp_ou,"\n",rule); } fclose(fp_in); if(count>DansGuardianReportLimit && DansGuardianReportLimit>0) show_ignored_dansguardian(fp_ou,count-DansGuardianReportLimit); fputs("
%s%s%s%s%s
%s%s%s-%s",name,ip,date,hour); output_html_link(fp_ou,url,100); fprintf(fp_ou,"%s
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),report); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),report,strerror(errno)); if (!KeepTempLog && unlink(dansguardian_in)) { debuga(_("Cannot delete \"%s\": %s\n"),dansguardian_in,strerror(errno)); exit(EXIT_FAILURE); } return; } sarg-2.3.11/datafile.c000066400000000000000000000162601324060677300144640ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void saverecs(FILE *fp_ou, const struct userinfostruct *uinfo, long long int nacc, char *url, long long int nbytes, char *ip, char *hora, char *dia, long long int nelap, long long int incache, long long int oucache); void data_file(char *tmp) { FILE *fp_in, *fp_ou=NULL; char *buf; char accdia[11], acchora[9], accip[MAXLEN], *accurl; char oldaccdia[11], oldacchora[9], oldaccip[MAXLEN]; char *oldurl; char acccode[50], oldacccode[50]; char ipantes[MAXLEN], nameantes[MAXLEN]; char accsmart[MAXLEN]; char crc2[50]; char *str; char tmp3[MAXLEN]; char u2[MAX_USER_LEN]; userscan uscan; long long int nbytes=0; long long int nelap=0; long long int nacc=0; int rtotal=0; long long int incache=0; long long int oucache=0; long long int accbytes; long long int accelap; int new_user; int same_url; int url_len; int ourl_size; struct getwordstruct gwarea; struct userinfostruct *uinfo; longline line; ipantes[0]='\0'; nameantes[0]='\0'; oldurl=NULL; ourl_size=0; uscan=userinfo_startscan(); if (uscan == NULL) { debuga(_("Cannot enumerate the user list\n")); exit(EXIT_FAILURE); } while ( (uinfo = userinfo_advancescan(uscan)) != NULL ) { strcpy(u2,uinfo->id); if(Ip2Name && uinfo->id_is_ip) { strcpy(ipantes,u2); ip2name(u2,sizeof(u2)); strcpy(nameantes,u2); } user_find(uinfo->label,MAX_USER_LEN, u2); if(debug) debuga(_("Reading user file \"%s/%s\"\n"),tmp,uinfo->filename); sort_users_log(tmp,debug,uinfo); if (snprintf(tmp3,sizeof(tmp3),"%s/%s.user_log",tmp,uinfo->filename)>=sizeof(tmp3)) { debugapos("datafile",_("Path too long: ")); debuga_more("%s/%s.user_log\n",tmp,uinfo->filename); exit(EXIT_FAILURE); } if((fp_in=MY_FOPEN(tmp3,"r"))==NULL){ debugapos("datafile",_("Cannot open file \"%s\": %s\n"),tmp3,strerror(errno)); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } ttopen=0; new_user=1; while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(accdia,sizeof(accdia),&gwarea,'\t')<0 || getword(acchora,sizeof(acchora),&gwarea,'\t')<0 || getword(accip,sizeof(accip),&gwarea,'\t')<0 || getword_ptr(buf,&accurl,&gwarea,'\t')<0 || getword_atoll(&accbytes,&gwarea,'\t')<0 || getword(acccode,sizeof(acccode),&gwarea,'\t')<0 || getword_atoll(&accelap,&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_skip(20000,&gwarea,'"')<0 || getword(accsmart,sizeof(accsmart),&gwarea,'"')<0) { debuga(_("Invalid smart info in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if(Ip2Name) { if(strcmp(accip,ipantes) != 0) { strcpy(ipantes,accip); ip2name(accip,sizeof(accip)); strcpy(nameantes,accip); } else strcpy(accip,nameantes); } if(!rtotal){ url_len=strlen(accurl); if (!oldurl || url_len>=ourl_size) { ourl_size=url_len+1; oldurl=realloc(oldurl,ourl_size); if (!oldurl) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(oldurl,accurl); strcpy(oldacccode,acccode); strcpy(oldaccip,accip); strcpy(oldaccdia,accdia); strcpy(oldacchora,acchora); new_user=0; rtotal++; } same_url=(strcmp(oldurl,accurl) == 0); if(!same_url || new_user){ if(!fp_ou && (fp_ou=MY_FOPEN(DataFile,"w"))==NULL){ debugapos("datafile",_("Cannot open file \"%s\": %s\n"),DataFile,strerror(errno)); exit(EXIT_FAILURE); } saverecs(fp_ou,uinfo,nacc,oldurl,nbytes,oldaccip,oldacchora,oldaccdia,nelap,incache,oucache); nacc=0; nbytes=0; nelap=0; incache=0; oucache=0; new_user=0; } nacc++; nbytes+=accbytes; nelap+=accelap; strcpy(crc2,acccode); str=strchr(crc2,'/'); if (str) *str='\0'; if(strstr(crc2,"MISS") != 0) oucache+=accbytes; else incache+=accbytes; if (!same_url) { url_len=strlen(accurl); if (url_len>=ourl_size) { ourl_size=url_len+1; oldurl=realloc(oldurl,ourl_size); if (!oldurl) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(oldurl,accurl); } new_user=0; strcpy(oldacccode,acccode); strcpy(oldaccip,accip); strcpy(oldaccdia,accdia); strcpy(oldacchora,acchora); } fclose(fp_in); longline_destroy(&line); } userinfo_stopscan(uscan); if (oldurl) free(oldurl); if (fp_ou) fclose(fp_ou); if(debug) debuga(_("Datafile \"%s\" written successfully\n"),DataFile); } void saverecs(FILE *fp_ou, const struct userinfostruct *uinfo, long long int nacc, char *url, long long int nbytes, char *ip, char *hora, char *dia, long long int nelap, long long int incache, long long int oucache) { char val[20]; char name[512]; if((DataFileFields & DATA_FIELD_USER) != 0) { fputs(uinfo->label,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_DATE) != 0) { fputs(dia,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_TIME) != 0) { fputs(hora,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_URL) != 0) { url_hostname(url,name,sizeof(name)); if (DataFileUrl == DATAFILEURL_IP) name2ip(name,sizeof(name)); fputs(name,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_CONNECT) != 0) { my_lltoa(nacc,val,sizeof(val),0); fputs(val,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_BYTES) != 0) { my_lltoa(nbytes,val,sizeof(val),0); fputs(val,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_IN_CACHE) != 0) { my_lltoa(incache,val,sizeof(val),0); fputs(val,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_OUT_CACHE) != 0) { my_lltoa(oucache,val,sizeof(val),0); fputs(val,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } if((DataFileFields & DATA_FIELD_ELAPSED) != 0) { my_lltoa(nelap,val,sizeof(val),0); fputs(val,fp_ou); fputc(DataFileDelimiter[0],fp_ou); } fputc('\n',fp_ou); } sarg-2.3.11/decomp.c000066400000000000000000000046611324060677300141640ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" FILE *decomp(const char *arq, bool *pipe) { char cmd[1024]; int arqlen; if(access(arq, R_OK) != 0) { debuga(_("File \"%s\" not found\n"),arq); exit(EXIT_FAILURE); } arqlen=strlen(arq); if(arqlen>3 && strcmp(arq+arqlen-3,".gz") == 0) { /* TRANSLATORS: The last %s is the decompression program such as zcat or bzcat */ debuga(_("Decompressing log file \"%s\" with %s\n"),arq,"zcat"); if (snprintf(cmd,sizeof(cmd),"zcat \"%s\"",arq)>=sizeof(cmd)) { debuga(_("Decompression command too long for log file \"%s\"\n"),arq); exit(EXIT_FAILURE); } *pipe=true; return(popen(cmd,"r")); } if(arqlen>4 && strcmp(arq+arqlen-4,".bz2") == 0) { debuga(_("Decompressing log file \"%s\" with %s\n"),arq,"bzcat"); if (snprintf(cmd,sizeof(cmd),"bzcat \"%s\"",arq)>=sizeof(cmd)) { debuga(_("Decompression command too long for log file \"%s\"\n"),arq); exit(EXIT_FAILURE); } *pipe=true; return(popen(cmd,"r")); } if(arqlen>2 && strcmp(arq+arqlen-2,".Z") == 0) { debuga(_("Decompressing log file \"%s\" with %s\n"),arq,"zcat"); if (snprintf(cmd,sizeof(cmd),"zcat \"%s\"",arq)>=sizeof(cmd)) { debuga(_("Decompression command too long for log file \"%s\"\n"),arq); exit(EXIT_FAILURE); } *pipe=true; return(popen(cmd,"r")); } *pipe=false; return(MY_FOPEN(arq,"r")); } sarg-2.3.11/denied.c000066400000000000000000000135411324060677300141420ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" static void show_ignored_denied(FILE *fp_ou,int count) { char ignored[80]; snprintf(ignored,sizeof(ignored),ngettext("%d more denied access not shown here…","%d more denied accesses not shown here…",count),count); fprintf(fp_ou,"%s\n",ignored); } void gen_denied_report(void) { FILE *fp_in = NULL, *fp_ou = NULL; char *buf; char *url; char denied_in[MAXLEN]; char report[MAXLEN]; char ip[MAXLEN]; char oip[MAXLEN]; char user[MAXLEN]; char ouser[MAXLEN]; char ouser2[MAXLEN]; char data[15]; char hora[15]; bool z=false; int count=0; int day,month,year; bool new_user; struct getwordstruct gwarea; longline line; struct userinfostruct *uinfo; struct tm t; ouser[0]='\0'; ouser2[0]='\0'; sprintf(denied_in,"%s/denied.int_log",tmp); if (!denied_count) { if (!KeepTempLog && unlink(denied_in)) debuga(_("Cannot delete \"%s\": %s\n"),denied_in,strerror(errno)); if (debugz) debugaz(_("Denied report not produced because it is empty\n")); return; } sprintf(report,"%s/denied.html",outdirname); if((fp_in=MY_FOPEN(denied_in,"r"))==NULL) { debugapos("denied",_("Cannot open file \"%s\": %s\n"),denied_in,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debugapos("denied",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 3 : 1,_("Denied"),HTML_JS_NONE); fputs("",fp_ou); fprintf(fp_ou,_("Period: %s"),period.html); fputs("\n",fp_ou); fprintf(fp_ou,"%s\n",_("Denied")); close_html_header(fp_ou); fputs("
\n",fp_ou); fprintf(fp_ou,"\n",_("USERID"),_("IP/NAME"),_("DATE/TIME"),_("ACCESSED SITE")); if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),denied_in); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(data,sizeof(data),&gwarea,'\t')<0 || getword(hora,sizeof(hora),&gwarea,'\t')<0 || getword(user,sizeof(user),&gwarea,'\t')<0 || getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),denied_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),denied_in); exit(EXIT_FAILURE); } if (sscanf(data,"%d/%d/%d",&day,&month,&year)!=3) continue; computedate(year,month,day,&t); strftime(data,sizeof(data),"%x",&t); uinfo=userinfo_find_from_id(user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),user,denied_in); exit(EXIT_FAILURE); } new_user=false; if(!z) { strcpy(ouser,user); strcpy(oip,ip); z=true; new_user=true; } else { if(strcmp(ouser,user) != 0) { strcpy(ouser,user); new_user=true; } if(strcmp(oip,ip) != 0) { strcpy(oip,ip); new_user=true; } } if(DeniedReportLimit) { if(strcmp(ouser2,uinfo->label) == 0) { count++; } else { if(count>DeniedReportLimit && DeniedReportLimit>0) show_ignored_denied(fp_ou,count-DeniedReportLimit); count=1; strcpy(ouser2,uinfo->label); } if(count > DeniedReportLimit) continue; } fputs("",fp_ou); if (new_user) { if (uinfo->topuser) fprintf(fp_ou,"",uinfo->filename,uinfo->filename,uinfo->label,ip); else fprintf(fp_ou,"",uinfo->label,ip); } else fputs("",fp_ou); fprintf(fp_ou,"\n",fp_ou); } fclose(fp_in); longline_destroy(&line); if(count>DeniedReportLimit && DeniedReportLimit>0) show_ignored_denied(fp_ou,count-DeniedReportLimit); fputs("
%s%s%s%s
%s%s%s%s%s-%s",data,hora); if(BlockIt[0] != '\0' && url[0]!=ALIAS_PREFIX) { fprintf(fp_ou," ",ImageFile); } output_html_link(fp_ou,url,100); fputs("
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),report); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),report,strerror(errno)); if (!KeepTempLog && unlink(denied_in)==-1) debuga(_("Cannot delete \"%s\": %s\n"),denied_in,strerror(errno)); return; } sarg-2.3.11/dichotomic.c000066400000000000000000000111211324060677300150240ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #include "include/dichotomic.h" /*! One key/value pair stored in the sorted list. */ struct DichotomicItemStruct { //! The key. const char *Key; //! The value. const char *Value; }; struct DichotomicStruct { //! The array containing the sorted pairs. struct DichotomicItemStruct *Items; //! The number of pairs in the array. int NItems; //! The size of the array. int NAllocated; }; /*! Create an object to store key/value pairs and retrieve them. \return The object to pass to the functions in this module. The returned pointer is NULL if there is not enough memory to allocate the object. The object must be freed with a call to Dichotomic_Destroy(). */ DichotomicObject Dichotomic_Create(void) { DichotomicObject Obj; Obj=malloc(sizeof(*Obj)); if (!Obj) { return(NULL); } memset(Obj,0,sizeof(*Obj)); return(Obj); } /*! Destroy an object created by Dichotomic_Create(). \param ObjPtr The pointer to the variable containing the object to destroy. The pointer is reset to NULL by this function. It is safe to pass NULL or a NULL pointer. */ void Dichotomic_Destroy(DichotomicObject *ObjPtr) { DichotomicObject Obj; int i; if (!ObjPtr || !*ObjPtr) return; Obj=*ObjPtr; *ObjPtr=NULL; if (Obj->Items) { for (i=0 ; iNItems ; i++) { free((void*)Obj->Items[i].Key); free((void*)Obj->Items[i].Value); } free(Obj->Items); } free(Obj); } static int Dichotomic_FindKeyPos(DichotomicObject Obj,const char *key,bool *Found) { int down,up; int middle=0; int cmp=0; down=0; up=Obj->NItems-1; while (up>=down) { middle=(down+up)/2; cmp=strcasecmp(key,Obj->Items[middle].Key); if (!cmp) { *Found=true; return(middle); } if (cmp<0) up=middle-1; else down=middle+1; } *Found=false; if (cmp>0) middle++; return(middle); } /*! Insert a key/value pair into the array. \param Obj The object created by Dichotomic_Create(). \param key The key of the pair. \param value The value of the pair. \return \c True if the pair was inserted or \c false if it failed. */ bool Dichotomic_Insert(DichotomicObject Obj,const char *key, const char *value) { int Position; bool Found; int i; if (!Obj) return(false); if (Obj->Items) { Position=Dichotomic_FindKeyPos(Obj,key,&Found); if (Found) return(false); } else Position=0; if (Obj->NItems>=Obj->NAllocated) { struct DichotomicItemStruct *Items; Obj->NAllocated+=25; Items=realloc(Obj->Items,Obj->NAllocated*sizeof(*Items)); if (!Items) { debuga(_("Not enough memory to store the key/value pair %s/%s\n"),key,value); exit(EXIT_FAILURE); } Obj->Items=Items; } for (i=Obj->NItems ; i>Position ; i--) { Obj->Items[i].Key=Obj->Items[i-1].Key; Obj->Items[i].Value=Obj->Items[i-1].Value; } Obj->Items[Position].Key=strdup(key); Obj->Items[Position].Value=strdup(value); if (!Obj->Items[Position].Key || !Obj->Items[Position].Value) { debuga(_("Not enough memory to store the key/value pair %s/%s\n"),key,value); exit(EXIT_FAILURE); } Obj->NItems++; return(true); } /*! Search for the value of a key. \param Obj The object created by Dichotomic_Create(). \param key The key to search for. \return The value of the key or NULL if the key was not found. */ const char *Dichotomic_Search(DichotomicObject Obj,const char *key) { int Position; bool Found; if (!Obj) return(NULL); if (Obj->NItems==0 || !Obj->Items) return(NULL); Position=Dichotomic_FindKeyPos(Obj,key,&Found); if (!Found) return(NULL); return(Obj->Items[Position].Value); } sarg-2.3.11/documentation/000077500000000000000000000000001324060677300154135ustar00rootroot00000000000000sarg-2.3.11/documentation/conf.txt000066400000000000000000000014071324060677300171030ustar00rootroot00000000000000/*! \file conf.h \brief Include headers and define global variables. */ /*! \var DownloadSuffix A comma separated list of extensions to report as files downloaded by the user. The list is not case sensitive. */ /*! \var download_count The total number of files seen as downloaded. */ /*! \var LogoImage The image to link in the HTML files as the logo of the organisation generating the reports. */ /*! \var Width The width in pixel of the logo ::LogoImage to display in the HTML reports. */ /*! \var Height The height in pixel of the logo ::LogoImage to display in the HTML reports. */ /*! \var LogoText The text to display next to the logo of the organisation producing the reports. */ /*! \var LogoTextColor The color to write the text of the logo in ::LogoText. */ sarg-2.3.11/documentation/css.txt000066400000000000000000000006321324060677300167450ustar00rootroot00000000000000/*!\file css.c \brief Write the Content Style Sheet of the HTML reports. */ /*! \fn void css_content(FILE *fp_css) Write the content of the CSS in the file. \param fp_css The file to write the CSS to. */ /*! \fn void css(FILE *fp_css) Write the CSS in the file either as a link to an external file whose name is in ::ExternalCSSFile or as an inline text. \param fp_css The file to write the CSS to. */ sarg-2.3.11/documentation/decomp.txt000066400000000000000000000017221324060677300174250ustar00rootroot00000000000000/*!\file decomp.c \brief Handle compressed log files. */ /*! \fn FILE *decomp(const char *arq, bool *pipe) Open the log file. If it is compressed, uncompress it through a pipe. Log files compressed with gzip, bzip2 or compress are uncompressed with zcat or bzcat. If the log file does not exist, the process terminates with an error message. \param arq The log file to process. \param pipe A variable set to \c true if the log file is opened through a pipe or set to \c false if the file is open directly. \date 2009-09-24 - F Marchal\n This function used to uncompress .Z files in place using uncompress but that required a write access to the log directory, could conflict with logrotate and could leave the log file uncompressed if sarg crashed. According to the documentation, zcat is capable of uncompressing .Z files so it is now used. \date 2010-05-10 - F Marchal\n The function doesn't use a temporary file any more and read the compressed file through a pipe. */ sarg-2.3.11/documentation/denied.txt000066400000000000000000000006621324060677300174100ustar00rootroot00000000000000/*!\file denied.c \brief List the denied accesses made by the user. /*! \fn static void show_ignored_denied(FILE *fp_ou,int count) Append a line in the table to show how many entries have been ignored for the user. \parm fp_ou The html file with the denied report page. \param count The number of ignored entries. */ /*! \fn void gen_denied_report(void) Write the denied report page from the sorted denied list file. */ */ sarg-2.3.11/documentation/exclude.txt000066400000000000000000000043371324060677300176140ustar00rootroot00000000000000/*! \file exclude.c \brief Handle exclusion of sites and users from the report. */ /*!\fn static void store_exclude_ip4(unsigned short int *addr,int mask) Store an IPv4 address to exclude from the report. A mask may be provided to exclude a subnet. \param addr The numbers of the IP address. \param mask The number of bits to mask when matching the IP address. */ /*! \fn static void store_exclude_url(char *url,int length) Store an URL to exclude from the report. If the URL contains a wildcard (*), only the part of the URL after the first dot encountered after the wildcard is stored. It serves to exclude a subdomain. \param url The URL to exclude. \param length The length of the URL in bytes. */ /*!\fn static void gethexclude(const char *hexfile, int debug) Get the list of the hosts to exclude from the report. You must call free_exclude() to free the memory allocated by this function. \param hexfile The name of the file to read. There is one host per line. Any line containing a # anywhere in the line is a comment. \param debug Set to \c true to print debug informations. */ /*! \fn static void getuexclude(const char *uexfile, int debug) Get the list of the users to exclude from the report. You must call free_exclude() to free the memory allocated by this function. \param uexfile The name of the file to read. There is one user per line. Any line containing a # anywhere in the line is a comment. \param debug Set to \c true to print debug informations. */ /*! \fn int vhexclude(const char *url) Tell if the site accessed by the user is excluded from the report. \param url The URL to check. \retval 1 The site is not excluded. \retval 0 The site is excluded. */ /*! \fn int vuexclude(const char *user) Tell if the user is excluded from the report. \param user The user to check. \retval 1 The user is not excluded. \retval 0 The user is excluded. */ /*! \fn bool is_indexonly(void) Tell if the exclusion list of the users mention the word "indexonly" meaning that the user only want to produce the index.html. \return \c True if only the index is requested or \c false if normal processing is requested. */ /*! \fn void free_exclude(void) Free the memory allocated by gethexclude() and getuexclude(). */ sarg-2.3.11/documentation/getconf.txt000066400000000000000000000042551324060677300176070ustar00rootroot00000000000000/*! \file getconf.c \brief Configure sarg. */ /*! \fn static int is_param(const char *param,const char *buf) Tell if the buffer contains a line defining the given parameter. \param param The name of the parameter to find. \param buf The string read from the input file. \retval 1 Parameter match. \retval 0 The line is not for that parameter. */ /*! \fn static int getparam_string(const char *param,char *buf,char *value,int value_size) Extract a string value from a line if it is the right parameter. \param param The name of the parameter to find. \param buf The string read from the input file. \param value The buffer to store the value. \param value_size The size of the output buffer. \retval 1 Parameter match. \retval 0 The line is not for that parameter. */ /*! \fn static int getparam_quoted(const char *param,char *buf,char *value,int value_size) Extract a quoted string value from a line if it is the right parameter. \param param The name of the parameter to find. \param buf The string read from the input file. \param value The buffer to store the value. \param value_size The size of the output buffer. \retval 1 Parameter match. \retval 0 The line is not for that parameter. */ /*! \fn static int getparam_int(const char *param,char *buf,int *value) Extract an integer value from a line if it is the right parameter. \param param The name of the parameter to find. \param buf The string read from the input file. \param value The variable to store the value. \retval 1 Parameter match. \retval 0 The line is not for that parameter. */ /*! \fn static int getparam_bool(const char *param,char *buf,int *value) Extract a boolean flag from a line if it is the right parameter. \param param The name of the parameter to find. \param buf The string read from the input file. \param value The variable to store the value. \retval 1 Parameter match. \retval 0 The line is not for that parameter. */ /*! \fn static void parmtest(char *buf) Find what parameter is passed in the input buffer and store the value in memory. \param buf One line of text from the configuration file. */ /*! \fn void getconf(void) Read the configuration file whose name is in ::ConfigFile. */ sarg-2.3.11/documentation/grepday.txt000066400000000000000000000044221324060677300176110ustar00rootroot00000000000000/*!\file grepday.c \brief Produce the graphics of the reports. */ /*! \fn static void Sarg_gdImageStringFT (struct GraphDataStruct *gdata, int fg, char *fontlist, double ptsize, double angle, int x, int y, const char *string,enum TextRefPos RefPos) Draw a text on the GD image after converting the current character set defined by ::CharSet into UTF-8 as requested by libgd. \param gdata The data about the graphic. \param fg The color to render the text. \param fontlist The name of the font to use to render the text. \param ptsize A scale factor to scale the text. \param angle The angle to rotate the text counter-clockwise in radian. \param x The X position of the text on the image. \param y The Y position of the text on the image. \param string The string to write. \param RefPos How to lay out the text with respect of the (x,y) coordinate. \return The return code of \c gdImageStringFTEx. It is NULL on success or an error string on failure. \note See the official documentation of gdImageStringFT at http://www.libgd.org/Font#char_.2AgdImageStringFT.28gdImagePtr_im.2C_int_.2Abrect.2C_int_fg.2C_char_.2Afontname.2C_double_ptsize.2C_double_angle.2C_int_x.2C_int_y.2C_char_.2Astring.29_.28FUNCTION.29 */ /*! \fn static void bar(struct GraphDataStruct *gdata,int x1,long long int n) Draw one bar of the graph. \param gdata The data of the graphic. \param x1 The X position of the bar. \param n The height of the bar. */ /*! \fn void greport_prepare(void) Prepare the drawing of the graphics by checking the availability of the selected font and by preparing iconv to translate the strings from the locale character set to UTF-8. */ /*! \fn void greport_day(const struct userinfostruct *uinfo) Draw the graphic of the report for the user. The action must have been prepared by greport_prepare(). \param uinfo The informations about the user for which to draw the graphic. */ /*! \fn void greport_cleanup(void) Free the memory allocated internally by libgd and the resources prepared by greport_prepare(). It is not necessary to free up that memory as it is reclaimed by the kernel when sarg terminates but it clutters the valgrind reports. If this function is called before sarg terminates, the memory leaks reported by valgrind are to be addressed. */ sarg-2.3.11/documentation/index.txt000066400000000000000000000026031324060677300172640ustar00rootroot00000000000000/*!\file index.c \brief Create the HTML index of the reports */ /*! \fn void make_index(void) Create the main HTML index of the available reports. */ /*! \fn static void make_date_index(void) Create an index with the reports sorted hierarchicaly by date. A first level lists the year. The second level lists the months (possibly a range) and the third level lists the days or day ranges. */ /*! \fn static void make_file_index(void) Create an index with the reports sorted by directory name. There is only one level which is the name of the directory containing the report. */ /*! \fn static void file_index_to_date_index(const char *entry) Convert a report from the file tree into a report for a date tree. This function is invoked for each directory entry when ::IndexTree request a date index. The function has to opportunity to convert a previous entry created when ::IndexTree was requesting a file index. \param entry The directory name that may require to be converted. */ /*! \fn static void date_index_to_file_index(const char *entry) Convert a report from the date tree into a report for a file tree. This function is invoked for each directory entry when ::IndexTree request a file index. The function has to opportunity to convert a previous entry created when ::IndexTree was requesting a date index. \param entry The directory name that may require to be converted. */ sarg-2.3.11/documentation/log.txt000066400000000000000000000054751324060677300167500ustar00rootroot00000000000000/*! \file log.c \brief Program entry point */ /*! \fn int main(int argc,char *argv[]) Entry point of the program. See the man page for the accepted parameters. \param argc The number of arguments passed in \a argv to the program. \param argv The arguments passed to the program. This function parse and process the program's options. It also parse and read the log file to analyse. \section ReadAccessLog Reading of the access log file Sarg detects the type of log that is provided. Although sarg can process multiple log files in one pass, they must be all of the same type. You cannot mix logs from different applications in one single run. \subsection SquidAccessLog Reading the squid access.log file Sarg only understand the format of the default squid log file. \subsection IisAccessLog Reading the IIS log file Sarg recognize this type of log by the first line. It starts with the string "#Software: Mic" without the quotes. Then sarg searches for a line indicating the columns found in the file. It extracts the column number of the columns it needs to produce the report. \section UserUnsortLog Output files The data are written in files with the \c unsort extension and named after the user whose access line is processed. It contains the following columns separated by one space: \arg The day of the access. \arg The time of the access. \arg The user ID. \arg The IP address of the user. \arg The number of bytes transfered. \arg The HTTP code of the server to the request. \arg The time spent in that request. \arg The smart filter information (?). Moreover, any URL classified as a download is written in the \c download.unsort file with the following columns: \arg The day of the download. \arg The time of the download. \arg The user ID. \arg The IP address of the user. \arg The full URL of the downloaded file. Any URL returning the HTTP code 403 (forbidden access) is reported in the file \c denied.log.unsort with the following columns: \arg The day of the access. \arg The time of the access. \arg The user ID. \arg The IP address of the user. \arg The URL that was rejected. Any URL returning the HTTP code 401 (unauthorized) or 407 (?) is reported in the file \c authfail.log.unsort with the following columns: \arg The day of the access. \arg The time of the access. \arg The user ID. \arg The IP address of the user. \arg The URL that was rejected. */ /*! \fn static void getusers(const char *pwdfile, int debug) Read the user ID from a passwd file and merge them in :userfile. \param pwdfile The name of the passwd file to read. The columns are separated by colons and only the first column is kept. \param debug Set to \c true to print debug informations. \bug This function is obviously intented to provide a list of user ID for get_usertab_name() but the names are not stored in a way that is usable by that function. */ sarg-2.3.11/documentation/longline.txt000066400000000000000000000026001324060677300177610ustar00rootroot00000000000000/*! \file util.c \brief Various useful functions. */ /*! \def INITIAL_LINE_BUFFER_SIZE The initial buffer size to allocate to read a long line from a text file. */ /*! \fn longline longline_create(void) Prepare the buffer to read long text lines from a file. \return The object create by the function. It must be freed with a call to longline_destroy(). */ /*! \fn void longline_reset(longline line) Reset the internal state of the object to start a new reading on a new file. \param line The object created by longline_create(). */ /*! \fn char *longline_read(FILE *fp_in,longline line) Read one long line of text from a file. If the buffer is too short, it is expended until the line can fit in it. The function always read as many bytes as can fit in the buffer and split the lines to return one line at a time to the caller. The returned lines are always terminated by a null ASCII character. The CR or LF are removed. Any empty line is skipped. \param fp_in The file to read. \param line The object created by longline_create(). \return A pointer to the beginning of the string in the buffer or NULL if it is the last string read. \note If not enough memory is available to read the line, the program is terminated with an error message. */ /*! \fn void longline_destroy(longline line) Free the memory allocated by longline_create(). \param line The object to destroy. */ sarg-2.3.11/documentation/repday.txt000066400000000000000000000003751324060677300174450ustar00rootroot00000000000000/*!\file repday.c \brief Daily text report. */ /*! \fn void report_day(const struct userinfostruct *uinfo) Create the text report with the daily internet usage made by the user. \param uinfo The data about the user whose report must be created. */ sarg-2.3.11/documentation/report.txt000066400000000000000000000154211324060677300174720ustar00rootroot00000000000000/*! \file report.c \brief Generate the reports. */ /*! \fn void gerarel(void) Generate the reports from the files created by main() in the temporary directory and sorted by sort_users_log(). The function outputs several files: \arg \c user.utmp: The URL accessed by the user. \arg \c user.htmp: The date and time of usage of the web. The files are then organized in reports. */ /*! \fn static void maketmp(const char *user, const char *dirname, int debug, int indexonly) Create a temporary file with the extension \c utmp to store the sites accessed by the user. \param user The name of the user. \param dirname The directory where to create the file. \param debug \c True to run in debug mode. \param indexonly \c True if only an index is created and not the actual files. The content of the file is created one line at a time by gravatmp(). */ /*! \fn static void maketmp_hour(const char *user, const char *dirname, int indexonly) Create a temporary file with the extension \c htmp to store the times the user surfed the web. \param user The name of the user. \param dirname The directory where to create the file. \param indexonly \c True if only an index is created and not the actual files. The content of the file is created one line at a time by gravatmp_hora(). */ /*! \fn void gravatmp(const char *oldaccuser, const char *dirname, const char *oldurl, long long int nacc, long long int nbytes, const char *oldmsg, long long int nelap, int indexonly, long long int incache, long long int oucache) Append one line into the \c utmp temporary file of the user. \param oldaccuser The user. \param dirname The directory with the temporary file. \param oldurl The URL being accessed. \param nacc The number of access to the site. \param nbytes The number of bytes transfered. \param oldmsg The status of the connection. \param nelap The time spent downloading the data. \param indexonly \c True if only an index is created and not the actual files. \param incache The number of bytes fetched from the cache of squid. \param oucache The number of bytes not fetched from the cache of squid. The file contains one line per entry with the following informations in that order: \arg the number of access; \arg the number of bytes transfered; \arg the URL access by the user; \arg the status of the connection; \arg the time spent downloading that URL; \arg the number of bytes comming from the cache of squid; \arg the number of bytes not found in the cache of squid. */ /*! \fn static void gravatmp_hora(const char *dirname, const char *user, const char *data, const char *hora, const char *elap, const char *bytes, int indexonly) Append one line into the \c htmp temporary file of the user. \param dirname The directory with the temporary file. \param user The user. \param data The date of the access. \param hora The time of the access. \param elap The time spent. \param bytes The number of bytes transfered. \param indexonly \c True if only an index is created and not the actual files. The file contains one line per entry with the following informations in that order: \arg the date; \arg the time; \arg the number of bytes transfered or the time spent downloading them. */ /*! \fn static void gravaporuser(const char *user, const char *dirname, const char *url, const char *ip, const char *data, const char *hora, const char *tam, const char *elap, int indexonly) Append one line into the \c ip temporary file of the user. \param user The user. \param dirname The directory with the temporary file. \param url The URL accessed by the user. \param ip The IP from which the user is accessing the web. \param data The date of the access. \param hora The time of the access. \param tam The number of bytes transfered. \param elap The time spent. \param indexonly \c True if only an index is created and not the actual files. */ /*! \fn static void gravatmpf(const char *oldaccuser, const char *dirname, const char *oldurl, long long int nacc, long long int nbytes, const char *oldmsg, long long int nelap, int indexonly, long long int incache, long long int oucache) Looks suspiciously identical to gravatmp() except that it reset ::ind2 to zero. \param oldaccuser The user. \param dirname The directory with the temporary file. \param oldurl The URL being accessed. \param nacc The number of access to the site. \param nbytes The number of bytes transfered. \param oldmsg Unused. \param nelap The time spent downloading the data. \param indexonly \c True if only an index is created and not the actual files. \param incache The number of bytes fetched from the cache of squid. \param oucache The number of bytes not fetched from the cache of squid. */ /*! \fn static void gravager(char *dirname, const char *user, long long int nacc, const char *url, long long int nbytes, const char *ip, const char *hora, const char *dia, long long int nelap, long long int incache, long long int oucache) Append a record to the sarg-general file. \param dirname The directory where the sarg-general file is. The string is modified when the function returns. \param user The user making the connection. \param nacc The number of access to the site. \param url The accessed URL. \param nbytes the number of bytes transfered. \param ip The IP address of the user. \param hora The time of the access. \param dia The date of the access. \param nelap The time spent on that site. \param incache Number of bytes fetched from the cache of squid. \param oucache Number of bytes not found in the cache of squid. */ /*! \fn int ger_read(char *buffer,struct generalitemstruct *item,const char *filename) Parse one line of the file written by gravager(). \param buffer The line of text to parse. \param item The structure to fill with the data parsed from the line. The structure contains pointers to strings but some of them are limited in length to detect a corruption of the file and to let the caller use simple string manipulation functions with fixed size buffer. \param filename The name of the file from which the line is extracted to report it if an error is found. \return Zero on succes. The program exits if an error is found. */ /*! \fn static void grava_SmartFilter(const char *dirname, const char *user, const char *ip, const char *data, const char *hora, const char *url, const char *smart) Append a record into the \c smartfilter.unsort file of the specified directory. \param dirname The directory where to create the file. \param user The user to store in the record. \param ip The IP used by the user. \param data The date of the access. \param hora The time of the access. \param url The accessed URL. \param smart The last entry of the log file. \bug The function suspiciously appends the HTML tags to end the HTML file of the user but it doesn't flag the file as closed so other HTML data may end up after the closing of the HTML and be invisible to the user. */ sarg-2.3.11/documentation/totger.txt000066400000000000000000000006231324060677300174610ustar00rootroot00000000000000/*! \file totger.c \brief Compute the total of the general report. */ /*! \fn int totalger(const char *dirname, int debug, const char *outdir) Append a TOTAL line into the \c sarg-general file containing the total of the numerical columns of that file. \param dirname The directory containing the \c sarg-general file. \param debug \c True to output the debug informations. \param outdir Unused. */ sarg-2.3.11/documentation/usertab.txt000066400000000000000000000055131324060677300176250ustar00rootroot00000000000000/*!\file \brief Provide a meanigfull name instead of the user ID or IP address shown in the reports. */ /*! \enum UserTabEnum The possible sources to map the user ID or IP address to the name to display in the reports. */ /*! \var enum UserTabEnum which_usertab Tell the database source to use to map the user ID or IP address to a meaningfull name. */ /*! \fn void init_usertab(const char *UserTabFile) Initialize the data used by user_find(). If \a UserTabFile is ldap, the user ID is fetched from a LDAP server. \param UserTabFile The name of the file to read or ldap. If it is empty, the function does nothing. \note The memory and resources allocated by this function must be released by a call to close_usertab(). */ /*! \fn void user_find(char *mappedname, int namelen, const char *userlogin) Find the real name of the user with the ID or IP address in \a userlogin. The name is fetched from the source initialized by init_usertab(). The usertab data must have been initialized by init_usertab(). \param mappedname A buffer to write the real name of the user. \param namelen The size of the buffer. \param userlogin The ID or IP address of the user. */ /*! \fn void close_usertab(void) Free the memory and resources allocated by init_usertab(). */ /*! \fn static void init_file_usertab(const char *UserTabFile) Read the \a UserTabFile database. The file contains the IP address or ID of the user then some spaces and the real name of the user to show in the report. Any trailing space or tabulation is removed from the real name. The user ID or IP cannot contain a space or a tabulation but it may contain any other character, including the colon that was forbidden in the past. That change was made to allow IPv6 addresses. The file may contain comments if the line starts with a #. \param UserTabFile The name of the file to read. */ /*! \fn static void get_usertab_name(const char *user,char *name,int namelen) Get the real name of the user from the usertab file read by init_file_usertab(). \param user The user ID or IP address to search. \param name The buffer to store the real name of the user. \param namelen The size of the \a name buffer. If the user ID or IP address isn't found, the output buffer \a name contains the unmatched input string. */ /*! \fn static void init_ldap_usertab(void) Initialize the communication with the LDAP server whose name is in ::LDAPHost and connect to port ::LDAPPort. */ /*! \fn static void get_ldap_name(const char *userlogin,char *mappedname,int namelen) Get the real name of a user by searching the userlogin (user ID) in a LDAP. \param userlogin The user ID to search. \param name The buffer to store the real name of the user. \param namelen The size of the \a name buffer. If the user ID isn't found in the LDAP, the output buffer \a name contains the unmatched input string. */ sarg-2.3.11/documentation/util.txt000066400000000000000000000537631324060677300171470ustar00rootroot00000000000000/*! \file util.c \brief Various useful functions. */ /*! \var static char mtab1[12][4]; The list of the months. */ /*! \fn void getword_start(struct getwordstruct *gwarea, char *line) Initialize the getword buffer with the given text line. \param gwarea The getword buffer to initialize. \param line The text line to use in the getword buffer. */ /*! \fn void getword_restart(struct getwordstruct *gwarea) Restart the getword buffer from the beginning. \param gwarea The getword buffer to reset. */ /*! \fn int getword(char *word, int limit, struct getwordstruct *gwarea, char stop) Extract one "word" from the text line and remove it from the text line. The word's boundary is defined by the \a stop character. If multiple stop characters are found after the word, only the first one is removed. Therfore, passing the line buffer again to the function will remove the next word in a column like manner. \param word The buffer to store the extracted word. \param limit The size of the buffer. If the stop character isn't found before that limit is reached, the function displays an error message and returns an error code. \param gwarea The getword buffer initialized by getword_start(). \param stop The character indicating the end of the word. \retval 0 The word is extracted. \retval -1 The stop character was not found before the limit is reached. */ /*! \fn int getword_limit(char *word, int limit, struct getwordstruct *gwarea, char stop) Extract one word with a maximum size and skip any supernumerary bytes until the stop bytes is found. \param word The buffer to store the extracted word. \param limit The size of the buffer. \param gwarea The getword buffer initialized by getword_start(). \param stop The character indicating the end of the word. \retval 0 The word is extracted. */ /*! \fn int getword_multisep(char *word, int limit, struct getwordstruct *gwarea, char stop) Extract one "word" from the text line and remove it from the text line. The word's boundary is defined by the \a stop character. All the stop characters following the word are removed too. Therefore, passing the line buffer again to the function will remove words even if they are separated by multiple stop characters. \param word The buffer to store the extracted word. \param limit The size of the buffer. If the stop character isn't found before that limit is reached, the function displays an error message and returns an error code. \param gwarea The getword buffer initialized by getword_start(). \param stop The character indicating the end of the word. \retval 0 The word is extracted. \retval -1 The stop character was not found before the limit is reached. */ /*! \fn int getword_skip(int limit, struct getwordstruct *gwarea, char stop) Skip one "word" from the text line and remove it from the text line. The word's boundary is defined by the \a stop character. \param limit The maximum number of characters to skip. If the stop character isn't found before that limit is reached, the function displays an error message and returns an error code. \param gwarea The getword buffer initialized by getword_start(). \param stop The character indicating the end of the word. \retval 0 The word is skipped. \retval -1 The stop character was not found before the limit is reached. */ /*! \fn int getword_atoll(long long int *number, struct getwordstruct *gwarea, char stop) Extract one number from the text line. \param number Where the store the extracted number. \param gwarea The getword buffer initialized by getword_start(). \param stop The character indicating the end of the word. \retval 0 The number is extracted. \retval -1 The stop character was not found after the number. */ /*! \fn int getword_ptr(char *orig_line,char **word, struct getwordstruct *gwarea, char stop) Return a pointer to a null terminated string starting at the current position and ending and the stop character. \param orig_line The line that is being parsed. \param word A pointer to set to the beginning of the string. \param gwarea The getword buffer initialized by getword_start(). \param stop The character indicating the end of the word. \retval 0 The word is skipped. \retval -1 Invalid \a orig_line passed to the function. */ /*! \fn long long int my_atoll (const char *nptr) Convert a string into a long long. \param nptr The string containing the number to convert. \return The number found in the string or zero if no number was found. */ /*! \fn static int is_absolute(const char *path) Tell if the path is absolute. On Unix, a path is absolute if it starts with a /. On Windows, we also check if the path starts with "x:" where x can be any letter. \param path The path to check. \retval 1 The path is absolute. \retval 0 The path is relative. */ /*! \fn void my_mkdir(const char *name) Create the directory and all the non existing parent directories. \param name The absolute directory to create. */ /*! \fn void my_lltoa(unsigned long long int n, char *s, int ssize, int len) Format a long long into a string. \param n The number to format. \param s The buffer to write the number. \param ssize The size of the output buffer. \param len The minimum number of digits to format in the output. If the formatted number is less than this length, it is padded with zeros. */ /*! \fn int builddia(int day, int month, int year) Return a numerical value made of the date. \param day The day of the date. \param month The number of the month starting from 1. \param year The year. \return The date in an integer format computed as year*10000+month*100+day. */ /*! \fn void buildymd(const char *dia, const char *mes, const char *ano, char *wdata) Convert the date into a machine format YYYYMMDD. \param dia The day. \param mes The name of the month as spelled in ::mtab1. If the month is invalid, the output date is set to month 13. \param ano The year. \param wdata The buffer to format the date. */ /*! \fn int conv_month(int char *month) Convert the month's name into its two digits numerical equivalent. \param month The name of the month as spelled in ::mtab1. \return The month number on starting from one. If the month name is not in ::mtab1, 13 is returned. */ /*! \fn const char *conv_month_name(int month) Convert a month number into a name. \param month The number of the month in the range 1 to 12. \return The name of the month from ::mtab1 unless the month number is not between 1 and 12 in which case, the number is returned encoded on 3 characters. If the number is invalid, the returned string is static and will be reused by any subsequent call to this function with an invalid month number. */ /*! \fn void name_month(char *month,int month_len) Get the name of the month according to the language file selected by the user. \param month The number of the month. It is replaced by the month's name if the number is between 1 and 12 or by the name of December if the number is invalid. \param month_len The size of the \a month buffer. */ /*! \fn char *fixnum(long long int value, int n) Rewrite a number to make it more readable. The number may be written with the suffix K, M, G or T depending on its magnitude or the digits are grouped by three and separated by a dot or a comma. \param value The number to format. \param n If the number is abreviated and this parameter is true then append the suffix K, M, G or T if necessary. If it is zero, the number is shortened but no suffix is written. \return A static buffer containing the formatted number. It is overwritten on the next call of this function. */ /*! \def MAXLEN_FIXNUM The size of the buffer to format a number in fixnum(). */ /*! \fn char *fixnum2(long long int value, int n) Format a number by grouping the digits by three and separating the groups by a dot or a comma. */ /*! \def MAXLEN_FIXNUM2 The size of the buffer to format a number in fixnum2(). */ /*! \fn void buildhref(char * href) Replace the path given as argument by the first part of a HTML tag to link to the given directory (the A tag). More precisely, the argument is replaced by from-until. If it is a single date, it is transformed into a range like date-date. Each date is in the form DD/MM/YYYY. \param dfrom A variable to write the start date in the form YYYY*10000+MM*100+DD. \param duntil A variable to write the end date in the form YYYY*10000+MM*100+DD. */ /*! \fn char *strlow(char *string) Convert a string to all lowercases. \param string The string to convert. \return A pointer to the string passed as argument. */ /*! \fn char *strup(char *string) Convert a string to all uppercases. \param string The string to convert. \return A pointer to the string passed as argument. */ /*! \fn void removetmp(const char *outdir) Purge the file sarg-general from all the lines but the total. \param outdir The output directory to purge. */ /*! \fn void load_excludecodes(const char *ExcludeCodes) Load the list of the HTTP codes to exclude from the report. There must be one code per line. Any trailing space is removed and there is no provision for comments. \param ExcludeCodes The name of the file to load. This function allocate the memory to store the codes and it must be freed by a call to free_excludecodes(). */ /*! \fn void free_excludecodes(void) Free the memory allocated by load_excludecodes(). */ /*! \fn int vercode(const char *code) Check if the code is contained in the exclusion list loaded by load_excludecodes(). \param code The HTTP code to test. \retval 1 The code is excluded. \retval 0 The code is not excluded. */ /*! \fn void fixnone(char *str) Find if the string is the word none and clear the string if it matches. The function tolerates the trailing spaces and tabulations. \param str The text to test for the word "none". */ /*! \fn void fixendofline(char *str) Remove the control codes and spaces at the end of the line. That is, it remove any ASCII code less than or equal to 0x20. \param str The string to truncate. */ /*! \fn int testvaliduserchar(const char *user) Tell if the user string contains any invalid character in a user name. The list of the invalid characters is defined by ::UserInvalidChar. \param user The user name to test. \retval 1 The string contains at least one invalid character. \retval 0 The string is valid. */ /*! \fn int compar( const void *a, const void *b ) Compare two integers for bsearch. \param a A pointer to the first integer. \param b A pointer to the second integer. \retval 1 If a > b. \retval 0 If a == b. \retval -1 If a < b. */ /*! \fn int getnumlist( char *buf, numlist *list, const int len, const int maxvalue ) Get a comma separated list of numbers and split them into separate values taking into account that no value may be greater than a maximum. If a value is in fact a range, it is expended. Any duplicate value is removed. \param buf The string with the list of numbers. \param list Where to store the numbers. \param len The size of the list. \param maxvalue The maximum value allowed in the list. \retval 0 No error. \retval -1 Error detected. */ /*! \fn void show_info(FILE *fp_ou) Write the HTML formatted message to indicate the version of sarg that produced the report and when the report was generated. \param fp_ou The HTML file to which the identification block must be appended. */ /*! \fn void show_sarg(FILE *fp_ou, int depth) Write the header of the report to tell that it was generated by sarg. \param fp_ou The handle of the HTML file. \param depth How deep is the page in the directory tree. It is used to prepend the images directory name with as many .. as necessary. If the page is at the same level as the image directory, the depth is zero. */ /*! \fn char *get_size(const char *path, const char *file) Get the size, in human readable form and kibibytes, of the content of a directory. \param path The path containing the directory to scan. \param file The last part of the path to the directory to scan. \return The size of the path. */ /*! \fn void write_html_head(FILE *fp_ou,int depth, const char *page_title,int javascript) Write the header of the HTML document. The DTD corresponds to a transitional HTML version 4.01. The title of the document is taken from the global variable ::Title. \param fp_ou The file to which the HTML header is written. \param depth How deep is the page in the directory tree. The path of the relative javascripts is adjusted accordingly. \param title The title of the page. \param javascript Which javascript to include in the page. Is a combination of the following bits: \arg HTML_JS_SORTTABLE */ /*! \fn void write_html_header(FILE *fp_ou, int depth, const char *title) Write the HTML header of a HTML report file including the sarg logo and the beginning of the header of the report. The header of the report must be closed by a call to close_html_header(). \param fp_ou The file to which the HTML header is written. \param depth How deep is the page in the directory tree. The depth is passed to show_sarg(). \param title The title of the page. \param javascript Which javascript to include in the page. Is a combination of bits. See \see write_html_header() for the possible values. */ /*! \fn void close_html_header(FILE *fp_ou) Close the header opened by write_html_header(). \param fp_ou The file to which the HTML header is written. */ /*! \fn void url_module(const char *url, char *w2) Copy at most 254 bytes from the end of the URL or stops at the first /. \param url The URL to parse. \param w2 A buffer to store the copied portion of the URL. The buffer must be at least 255 characters long. */ /*! \fn void url_to_file(const char *url,char *file,int filesize) Mangle an URL to produce a part that can be included in a file. \param url The URL to mangle. \param file The buffer to write the mangled URL. \param filesize The size of the buffer. */ /*! \fn int write_html_trailer(FILE *fp_ou) End the HTML file by closing the centered table that was opened by write_html_header(), writting the informations of show_info() and closing the body and html tag. After this function returns, the HTML file is complete and nothing should be written to it. \param fp_ou The HTML file to close. The file handle is not closed but you should not write anything to the file after this function returns. \retval 0 No error. \retval -1 Write error. */ /*! \fn void version(void) Display the current version of sarg and terminate the program. */ /*! \fn char *get_param_value(const char *param,char *line) Get the value of a parameter formatted in the string as "param value" without the quotes. If the parameter name matches \a param, then the value following the parameter is returned. If it doesn't match, the function return NULL. The function is suitable to parse configuration files because it will ignore comments (anything but spaces and tabulations put before the parameter will make it unrecognized by this function) \param param The parameter name that must be found at the beginning of the line with possible spaces or tabulations before. \param line The text line to search for the parameter and it's value. \return The beginning of the value after the equal sign and with the possible spaces or tabulations removed. If the line doesn't start with the parameter name, the function returns NULL. */ /*! \fn void write_logo_image(FILE *fp_ou) Write a link of the logo of the organisation that generate the report in the HTML file. The logo is written in a centered table. \param fp_ou The handle of the HTML file being written. */ /*! \fn void output_html_string(FILE *fp_ou,const char *str,int maxlen) Write a string in a file and replace the problematic ASCII characters by their equivalent HTML entities. \param fp_ou The handle of the output file. \param str The string to output. \param maxlen The maximum number of bytes to write from the string. Set to zero to have no limit. If the string is longer than the requested length, only the requested number of bytes are output and the string is truncated and ended by …. */ /*! \fn void output_html_url(FILE *fp_ou,const char *url) Write an URL into the file and replace any & by &. \param fp_ou The handle of the output file. \param url The URL to output. */ /*! \fn void unlinkdir(const char *dir,int contentonly) Delete a directory and its content. \param dir The name of the directory to delete. \param contentonly \c True to delete only the content of the directory and leave the directory itself in place. If set to \c zero, the directory is removed too. */ sarg-2.3.11/download.c000066400000000000000000000253511324060677300145230ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" /*! The buffer to store the list of the suffixes to take into account when generating the report of the downloaded files. The suffixes in the list are separated by the ASCII null. */ /*@null@*/static char *DownloadSuffix=NULL; /*! The index of all the suffixes stored in ::DownloadSuffix. The list is sorted alphabetically. to speed up the search. */ /*@null@*/static char **DownloadSuffixIndex=NULL; /*! The number of suffixes in ::DownloadSuffixIndex. */ static int NDownloadSuffix=0; /*! Sort the raw log file with the downloaded files. \param report_in The name of the file where to store the sorted entries. The file is sorted by columns 3, 1, 2 and 5 that are the columns of the user's ID, the date, the time and the URL. */ static void download_sort(const char *report_in) { int clen; char csort[MAXLEN]; int cstatus; clen=snprintf(csort,sizeof(csort),"sort -T \"%s\" -t \"\t\" -k 3,3 -k 1,1 -k 2,2 -k 5,5 -o \"%s\" \"%s/download.int_unsort\"", tmp, report_in, tmp); if (clen>=sizeof(csort)) { debuga(_("Command too long: ")); debuga_more("sort -T \"%s\" -t \"\t\" -k 3,3 -k 1,1 -k 2,2 -k 5,5 -o \"%s\" \"%s/download.int_unsort\"", tmp, report_in, tmp); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (snprintf(csort,sizeof(csort),"%s/download.int_unsort",tmp)>=sizeof(csort)) { debuga(_("Path too long: ")); debuga_more("%s/download.int_unsort\n",tmp); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(csort)) { debuga(_("Cannot delete \"%s\": %s\n"),csort,strerror(errno)); exit(EXIT_FAILURE); } } /*! Generate the report of the downloaded files. The list of the suffixes to take into account is set with set_download_suffix(). */ void download_report(void) { FILE *fp_in = NULL, *fp_ou = NULL; char *buf; char *url; char report_in[MAXLEN]; char report[MAXLEN]; char ip[MAXLEN]; char oip[MAXLEN]; char user[MAXLEN]; char ouser[MAXLEN]; char ouser2[MAXLEN]; char data[15]; char hora[15]; int z=0; int count=0; int i; int day,month,year; bool new_user; struct getwordstruct gwarea; longline line; struct userinfostruct *uinfo; struct tm t; if (!ndownload) { if (debugz) debugaz(_("No downloaded files to report\n")); return; } ouser[0]='\0'; ouser2[0]='\0'; // sort the raw file snprintf(report_in,sizeof(report_in),"%s/download.int_log",tmp); download_sort(report_in); if(access(report_in, R_OK) != 0) { debugaz(_("Sorted file doesn't exist (to produce the download report)\n")); exit(EXIT_FAILURE); } // produce the report. snprintf(report,sizeof(report),"%s/download.html",outdirname); if((fp_in=MY_FOPEN(report_in,"r"))==NULL) { debugapos("download",_("Cannot open file \"%s\": %s\n"),report_in,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debugapos("download",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 3 : 1,_("Downloads"),HTML_JS_NONE); fputs("",fp_ou); fprintf(fp_ou,_("Period: %s"),period.html); fputs("\n",fp_ou); fprintf(fp_ou,"%s\n",_("Downloads")); close_html_header(fp_ou); fputs("
\n",fp_ou); fprintf(fp_ou,"\n",_("USERID"),_("IP/NAME"),_("DATE/TIME"),_("ACCESSED SITE")); if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),report_in); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(data,sizeof(data),&gwarea,'\t')<0 || getword(hora,sizeof(hora),&gwarea,'\t')<0 || getword(user,sizeof(user),&gwarea,'\t')<0 || getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),report_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),report_in); exit(EXIT_FAILURE); } if (sscanf(data,"%d/%d/%d",&day,&month,&year)!=3) continue; computedate(year,month,day,&t); strftime(data,sizeof(data),"%x",&t); uinfo=userinfo_find_from_id(user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),user,report_in); exit(EXIT_FAILURE); } new_user=false; if(!z) { strcpy(ouser,user); strcpy(oip,ip); z++; new_user=true; } else { if(strcmp(ouser,user) != 0) { strcpy(ouser,user); new_user=true; } if(strcmp(oip,ip) != 0) { strcpy(oip,ip); new_user=true; } } if(DownloadReportLimit) { if(strcmp(ouser2,uinfo->label) == 0) { count++; } else { count=1; strcpy(ouser2,uinfo->label); } if(count >= DownloadReportLimit) continue; } for (i=strlen(url)-1 ; i>=0 && (unsigned char)url[i]<' ' ; i--) url[i]=0; fputs("",fp_ou); if (new_user) { if (uinfo->topuser) fprintf(fp_ou,"",uinfo->filename,uinfo->filename,uinfo->label,ip); else fprintf(fp_ou,"",uinfo->label,ip); } else fputs("",fp_ou); fprintf(fp_ou,"\n",fp_ou); } fclose(fp_in); longline_destroy(&line); fputs("
%s%s%s%s
%s%s%s%s%s-%s",data,hora); if(BlockIt[0]!='\0' && url[0]!=ALIAS_PREFIX) { fprintf(fp_ou," ",ImageFile); } output_html_link(fp_ou,url,100); fputs("
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),report); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),report,strerror(errno)); if (!KeepTempLog && unlink(report_in)) { debuga(_("Cannot delete \"%s\": %s\n"),report_in,strerror(errno)); exit(EXIT_FAILURE); } return; } /*! Free the memory allocated by set_download_suffix(). */ void free_download(void) { if (DownloadSuffix) { free(DownloadSuffix); DownloadSuffix=NULL; } if (DownloadSuffixIndex) { free(DownloadSuffixIndex); DownloadSuffixIndex=NULL; } NDownloadSuffix=0; } /*! Set the list of the suffixes corresponding to the download of files you want to detect with is_download_suffix(). The list is sorted to make the search faster. \param list A comma separated list of the suffixes to set in ::DownloadSuffix. \note The memory allocated by this function must be freed by free_download(). */ void set_download_suffix(const char *list) { char *str; int i, j, k; int cmp; free_download(); DownloadSuffix=strdup(list); if (!DownloadSuffix) { debuga(_("Download suffix list too long\n")); exit(EXIT_FAILURE); } j = 1; for (i=0 ; list[i] ; i++) if (list[i] == ',') j++; DownloadSuffixIndex=malloc(j*sizeof(char *)); if (!DownloadSuffixIndex) { debuga(_("Too many download suffixes\n")); exit(EXIT_FAILURE); } str = DownloadSuffix; for (i=0 ; DownloadSuffix[i] ; i++) { if (DownloadSuffix[i] == ',') { DownloadSuffix[i] = '\0'; if (*str) { cmp = -1; for (j=0 ; j0 ; j++); if (cmp != 0) { for (k=NDownloadSuffix ; k>j ; k--) DownloadSuffixIndex[k]=DownloadSuffixIndex[k-1]; NDownloadSuffix++; DownloadSuffixIndex[j]=str; } } str=DownloadSuffix+i+1; } } if (*str) { cmp = -1; for (j=0 ; j0 ; j++); if (cmp != 0) { for (k=NDownloadSuffix ; k>j ; k--) DownloadSuffixIndex[k]=DownloadSuffixIndex[k-1]; NDownloadSuffix++; DownloadSuffixIndex[j]=str; } } } /*! Tell if the URL correspond to a downloaded file. The function takes the extension at the end of the URL with a maximum of 9 characters and compare it to the list of the download suffix in ::DownloadSuffix. If the suffix is found in the list, the function reports the URL as the download of a file. \param url The URL to test. \retval 1 The URL matches a suffix of a download. \retval 0 The URL is not a known download. \note A downloaded file cannot be detected if the file name is embedded in a GET or POST request. Only requests that ends with the file name can be detected. \note A URL embedding another web site's address ending by .com at the end of the URL will match the download extension com if it is defined in the ::DownloadSuffix. */ bool is_download_suffix(const char *url) { int urllen; int i; int down, up, center; const char *suffix; int cmp; const int max_suffix=10; if (DownloadSuffix == NULL || NDownloadSuffix == 0) return(false); urllen=strlen(url)-1; if (urllen<=0) return(false); if (url[urllen] == '.') return(false); //reject a single trailing dot for (i=0 ; i=urllen) return(false); // url is a hostname without any path or file to download for (i=0 ; i<=max_suffix && imax_suffix || i>=urllen) return(false); suffix=url+urllen-i+1; down=0; up=NDownloadSuffix-1; while (down<=up) { center=(down+up)/2; cmp=strcasecmp(suffix,DownloadSuffixIndex[center]); if (cmp == 0) return(true); if (cmp < 0) up = center-1; else down = center+1; } return(false); } sarg-2.3.11/email.c000066400000000000000000000226551324060677300140070ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #ifdef ENABLE_DOUBLE_CHECK_DATA extern struct globalstatstruct globstat; #endif int geramail(const char *dirname, int debug, const char *outdir, const char *email, const char *TempDir) { FILE *fp_in, *fp_top1, *fp_top2, *fp_top3; long long int ttnbytes=0, ttnacc=0, tnacc=0; long long int tnbytes=0, ttnelap=0, tnelap=0; long long int nacc, nbytes, elap; long long int avgacc, avgelap; double perc=0.00; double perc2=0.00; int posicao=0; char olduser[MAX_USER_LEN], csort[MAXLEN]; char wger[MAXLEN], top1[MAXLEN], top2[MAXLEN], top3[MAXLEN], user[MAX_USER_LEN]; char strip1[MAXLEN], strip2[MAXLEN], strip3[MAXLEN], strip4[MAXLEN], strip5[MAXLEN], strip6[MAXLEN], strip7[MAXLEN]; char *buf; char warea[MAXLEN]; char Subject[120]; int totuser=0; time_t t; struct tm *local; int cstatus; struct getwordstruct gwarea; struct generalitemstruct item; longline line; const struct userinfostruct *uinfo; snprintf(wger,sizeof(wger),"%s/sarg-general",dirname); if((fp_in=fopen(wger,"r"))==NULL) { debugapos("email",_("Cannot open file \"%s\": %s\n"),wger,strerror(errno)); exit(EXIT_FAILURE); } snprintf(top1,sizeof(top1),"%s/top",dirname); if((fp_top1=fopen(top1,"w"))==NULL) { debugapos("email",_("Cannot open file \"%s\": %s\n"),top1,strerror(errno)); exit(EXIT_FAILURE); } snprintf(top2,sizeof(top2),"%s/top.tmp",dirname); if((fp_top2=fopen(top2,"w"))==NULL) { debugapos("email",_("Cannot open file \"%s\": %s\n"),top2,strerror(errno)); exit(EXIT_FAILURE); } olduser[0]='\0'; totuser=0; if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),wger); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { ger_read(buf,&item,wger); if(item.total) continue; if(strcmp(olduser,item.user) != 0) { totuser++; if (olduser[0] != '\0') { #if defined(__FreeBSD__) fprintf(fp_top2,"%s\t%qu\t%qu\t%qu\n",olduser,tnbytes,tnacc,tnelap); #else fprintf(fp_top2,"%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",olduser,(uint64_t)tnbytes,(uint64_t)tnacc,(uint64_t)tnelap); #endif ttnbytes+=tnbytes; ttnacc+=tnacc; ttnelap+=tnelap; } strcpy(olduser,item.user); tnbytes=0; tnacc=0; tnelap=0; } tnbytes+=item.nbytes; tnacc+=item.nacc; tnelap+=item.nelap; } fclose(fp_in); longline_destroy(&line); if (olduser[0] != '\0') { #if defined(__FreeBSD__) fprintf(fp_top2,"%s\t%qu\t%qu\t%qu\n",olduser,tnbytes,tnacc,tnelap); #else fprintf(fp_top2,"%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",olduser,(uint64_t)tnbytes,(uint64_t)tnacc,(uint64_t)tnelap); #endif ttnbytes+=tnbytes; ttnacc+=tnacc; ttnelap+=tnelap; } fclose(fp_top2); #ifdef ENABLE_DOUBLE_CHECK_DATA if (ttnacc!=globstat.nacc || ttnbytes!=globstat.nbytes || ttnelap!=globstat.elap) { debuga(_("Total statistics mismatch when reading %s to produce the email report\n"),wger); exit(EXIT_FAILURE); } #endif if (snprintf(csort,sizeof(csort),"sort -n -T \"%s\" -t \"\t\" -r -k 2,2 -o \"%s\" \"%s\"", TempDir, top1, top2)>=sizeof(csort)) { debuga(_("Command too long: ")); debuga_more("sort -n -T \"%s\" -t \"\t\" -r -k 2,2 -o \"%s\" \"%s\"", TempDir, top1, top2); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(top2)) { debuga(_("Cannot delete \"%s\": %s\n"),top2,strerror(errno)); exit(EXIT_FAILURE); } if((fp_top1=fopen(top1,"r"))==NULL) { debugapos("email",_("Cannot open file \"%s\": %s\n"),top1,strerror(errno)); exit(EXIT_FAILURE); } snprintf(top3,sizeof(top3),"%s/report",dirname); if((fp_top3=fopen(top3,"w"))==NULL) { debugapos("email",_("Cannot open file \"%s\": %s\n"),top3,strerror(errno)); exit(EXIT_FAILURE); } safe_strcpy(strip1,_("Squid User Access Report"),sizeof(strip1)); strip_latin(strip1); fprintf(fp_top3,"%s\n",strip1); safe_strcpy(strip1,_("Decreasing Access (bytes)"),sizeof(strip1)); strip_latin(strip1); fprintf(fp_top3,"%s\n",strip1); safe_strcpy(strip1,_("Period"),sizeof(strip1)); strip_latin(strip1); fprintf(fp_top3,"%s %s\n\n",strip1,period.text); safe_strcpy(strip1,_("NUM"),sizeof(strip1)); strip_latin(strip1); safe_strcpy(strip2,_("USERID"),sizeof(strip2)); strip_latin(strip2); safe_strcpy(strip3,_("CONNECT"),sizeof(strip3)); strip_latin(strip3); safe_strcpy(strip4,_("BYTES"),sizeof(strip4)); strip_latin(strip4); safe_strcpy(strip5,_("ELAPSED TIME"),sizeof(strip5)); strip_latin(strip5); safe_strcpy(strip6,_("MILLISEC"),sizeof(strip6)); strip_latin(strip6); safe_strcpy(strip7,_("TIME"),sizeof(strip7)); strip_latin(strip7); fprintf(fp_top3,"%-7s %-20s %-8s %-15s %%%-6s %-10s %-10s %%%-7s\n------- -------------------- -------- --------------- ------- ---------- ---------- -------\n",strip1,strip2,strip3,strip4,strip4,strip5,strip6,strip7); while(fgets(warea,sizeof(warea),fp_top1)) { fixendofline(warea); getword_start(&gwarea,warea); if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("Invalid user ID in file \"%s\"\n"),top1); exit(EXIT_FAILURE); } if (getword_atoll(&nbytes,&gwarea,'\t')<0) { debuga(_("Invalid number of bytes in file \"%s\"\n"),top1); exit(EXIT_FAILURE); } if (getword_atoll(&nacc,&gwarea,'\t')<0) { debuga(_("Invalid number of accesses in file \"%s\"\n"),top1); exit(EXIT_FAILURE); } if (getword_atoll(&elap,&gwarea,'\0')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),top1); exit(EXIT_FAILURE); } uinfo=userinfo_find_from_id(user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),user,top1); exit(EXIT_FAILURE); } perc=(ttnbytes) ? nbytes * 100. / ttnbytes : 0; perc2=(ttnelap) ? elap * 100. / ttnelap : 0; posicao++; #if defined(__FreeBSD__) fprintf(fp_top3,"%7d %20s %8lld %15s %3.2lf%% %10s %10qu %3.2lf%%\n",posicao,uinfo->label,nacc,fixnum(nbytes,1),perc,buildtime(elap),elap,perc2); #else fprintf(fp_top3,"%7d %20s %8"PRIu64" %15s %3.2lf%% %10s %10"PRIu64" %3.2lf%%\n",posicao,uinfo->label,(uint64_t)nacc,fixnum(nbytes,1),perc,buildtime(elap),(uint64_t)elap,perc2); #endif } // output total fputs("------- -------------------- -------- --------------- ------- ---------- ---------- -------\n",fp_top3); #if defined(__FreeBSD__) fprintf(fp_top3,"%-7s %20s %8qu %15s %8s %9s %10qu\n",_("TOTAL")," ",ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),ttnelap); #else fprintf(fp_top3,"%-7s %20s %8"PRIu64" %15s %8s %9s %10"PRIu64"\n",_("TOTAL")," ",(uint64_t)ttnacc,fixnum(ttnbytes,1)," ",buildtime(ttnelap),(uint64_t)ttnelap); #endif // compute and write average if (totuser>0) { tnbytes=(totuser) ? ttnbytes / totuser : 0; avgacc=ttnacc/totuser; avgelap=ttnelap/totuser; } else { tnbytes=0; avgacc=0; avgelap=0; } safe_strcpy(strip1,_("AVERAGE"),sizeof(strip1)); strip_latin(strip1); #if defined(__FreeBSD__) fprintf(fp_top3,"%-7s %20s %8qu %15s %8s %9s %10qu\n",strip1," ",avgacc,fixnum(tnbytes,1)," ",buildtime(avgelap),avgelap); #else fprintf(fp_top3,"%-7s %20s %8"PRIu64" %15s %8s %9s %10"PRIu64"\n",strip1," ",(uint64_t)avgacc,fixnum(tnbytes,1)," ",buildtime(avgelap),(uint64_t)avgelap); #endif fclose(fp_top1); if (!KeepTempLog && unlink(top1)) { debuga(_("Cannot delete \"%s\": %s\n"),top1,strerror(errno)); exit(EXIT_FAILURE); } t = time(NULL); local = localtime(&t); fprintf(fp_top3, "\n%s\n", asctime(local)); fclose(fp_top3); if(strcmp(email,"stdout") == 0) { if((fp_top3=fopen(top3,"r"))==NULL) { debugapos("email",_("Cannot open file \"%s\": %s\n"),top3,strerror(errno)); exit(EXIT_FAILURE); } while(fgets(warea,sizeof(warea),fp_top3)!=NULL) fputs(warea,stdout); } else { /* TRANSLATORS: The string is formatted using strftime. You can use * any string formatting marker allowed by strftime. The %c is the * time formatted according to the currently selected locale. */ strftime(Subject,sizeof(Subject),_("SARG report, %c"),local); snprintf(warea,sizeof(warea),"%s -s \"%s\" \"%s\" <\"%s\"",MailUtility,Subject,email,top3); if (debug) debuga(_("Sending mail with command: %s\n"),warea); cstatus=system(warea); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("command: %s\n"),warea); exit(EXIT_FAILURE); } } //unlinkdir(TempDir,0); return (0); } sarg-2.3.11/exclude.c000066400000000000000000000232661324060677300143500ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" struct hostip4struct { //! The IP address. unsigned long int address; //! The mask to match the address of the URL. unsigned long int mask; }; struct hostip6struct { //! The IP address. unsigned short int address[8]; //! The number of bits in the prefix. int nbits; }; struct hostnamestruct { //! The URL to match without any leading wildcard. char *url; //! The number of dots in the url if a wildcard is present or -1 if the address is complete (no wildcard) int ndots; }; static struct hostip4struct *exclude_ip4=NULL; static int num_exclude_ip4=0; static struct hostip6struct *exclude_ip6=NULL; static int num_exclude_ip6=0; static struct hostnamestruct *exclude_name=NULL; static int num_exclude_name=0; static int ip4allocated=0; static int ip6allocated=0; static int nameallocated=0; static char *excludeuser=NULL; /*! Store a IPv4 address to exclude from the reported URL. \param addr The 4 char of the address. \param nbits The number of bits to keep in the prefix. */ static void store_exclude_ip4(unsigned char *addr,int nbits) { int i; if (num_exclude_ip4>=ip4allocated) { struct hostip4struct *temp; ip4allocated+=5; temp=realloc(exclude_ip4,ip4allocated*sizeof(*temp)); if (temp==NULL) { debuga(_("Not enough memory to store the exlcluded IP addresses\n")); exit(EXIT_FAILURE); } exclude_ip4=temp; } exclude_ip4[num_exclude_ip4].address=0UL; for (i=0 ; i<4 ; i++) exclude_ip4[num_exclude_ip4].address=(exclude_ip4[num_exclude_ip4].address<<8) | (unsigned char)(addr[i] & 0xFFU); exclude_ip4[num_exclude_ip4].mask=(0xFFFFFFFFUL << (32-nbits)); num_exclude_ip4++; } /*! Store a IPv6 address to exclude from the reported URL. \param addr The 8 short int of the address. \param nbits The number of bits to keep in the prefix. */ static void store_exclude_ip6(unsigned short *addr,int nbits) { int i; if (num_exclude_ip6>=ip6allocated) { struct hostip6struct *temp; ip6allocated+=5; temp=realloc(exclude_ip6,ip6allocated*sizeof(*temp)); if (temp==NULL) { debuga(_("Not enough memory to store the exlcluded IP addresses\n")); exit(EXIT_FAILURE); } exclude_ip6=temp; } for (i=0 ; i<8 ; i++) exclude_ip6[num_exclude_ip6].address[i]=addr[i]; exclude_ip6[num_exclude_ip6].nbits=nbits; num_exclude_ip6++; } /*! Store a host name to exclude from the report. \param url The host name to exclude. */ static void store_exclude_url(const char *url,const char *next) { int start; int i; int length; int ndots, firstdot; struct hostnamestruct *item; start=0; ndots=-1; firstdot=0; length=next-url; for (i=0 ; i=0) ndots++; } if (start>=length || firstdot) return; if (start>0) { url+=start; length-=start; } if (num_exclude_name>=nameallocated) { struct hostnamestruct *temp; nameallocated+=5; temp=realloc(exclude_name,nameallocated*sizeof(*temp)); if (temp==NULL) { debuga(_("Not enough memory to store the excluded URLs\n")); exit(EXIT_FAILURE); } exclude_name=temp; } item=exclude_name+num_exclude_name; num_exclude_name++; item->url=malloc(length+1); if (!item->url) { debuga(_("Not enough memory to store the excluded URLs\n")); exit(EXIT_FAILURE); } safe_strcpy(item->url,url,length+1); item->ndots=(ndots>0) ? ndots : -1; } /*! Read the file listing the host to exclude from the report. \param hexfile The name of the file. \param debug \c True to print debug information. */ void gethexclude(const char *hexfile, int debug) { FILE *fp_ex; char buf[255]; int type; const char *name; unsigned char ipv4[4]; unsigned short int ipv6[8]; int nbits; const char *next; if(access(hexfile, R_OK) != 0) { debuga(_("Cannot open file \"%s\": %s\n"),hexfile,strerror(errno)); exit(EXIT_FAILURE); } if(debug) debuga(_("Loading exclude host file from: %s\n"),hexfile); if ((fp_ex = fopen(hexfile, "r")) == NULL) { debugapos("gethexclude",_("Cannot open file \"%s\": %s\n"),hexfile,strerror(errno)); exit(EXIT_FAILURE); } while(fgets(buf,sizeof(buf),fp_ex)!=NULL){ if(buf[0]=='#') continue; fixendofline(buf); type=extract_address_mask(buf,&name,ipv4,ipv6,&nbits,&next); if (type<0) { debuga(_("While reading \"%s\"\n"),hexfile); exit(EXIT_FAILURE); } if (type==1) { store_exclude_url(name,next); } else if (type==2) { store_exclude_ip4(ipv4,nbits); } else if (type==3) { store_exclude_ip6(ipv6,nbits); } } fclose(fp_ex); return; } /*! Check if the URL is excluded as per the host exclusion list. \param url The URL to check. \retval 1 Keep the URL. \retval 0 Exclude the URL. */ int vhexclude(const char *url) { int i, j; int length; int type; const char *name; unsigned char ipv4[4]; unsigned short int ipv6[8]; unsigned long int addr4; int dotpos[50]; int ndots; type=extract_address_mask(url,&name,ipv4,ipv6,NULL,NULL); if (type==1) { if (exclude_name == NULL) return(1); ndots=0; for (length=0 ; (unsigned char)name[length]>' ' && name[length]!=':' && name[length]!='/' && name[length]!='?' ; length++) if (name[length]=='.') { /* We store the position of each dots of the URL to match it against any wildcard in the excluded list. The size of dotpos is big enough for the most ambitious URL but we have a safety mechanism that shift the positions should there be too many dots in the URL. */ if (ndots0) { for (i=0 ; i0) { const char *wurl=name; int len=length; if (exclude_name[i].ndots<=ndots) { wurl+=dotpos[ndots-exclude_name[i].ndots]; len-=dotpos[ndots-exclude_name[i].ndots]; } if (strncmp(exclude_name[i].url,wurl,len)==0 && exclude_name[i].url[len]=='\0') return(0); } else { if (strncmp(exclude_name[i].url,url,length)==0 && exclude_name[i].url[length]=='\0') return(0); } } } } else if (type==2) { if (exclude_ip4 == NULL) return(1); addr4=0UL; for (i=0 ; i<4 ; i++) addr4=(addr4 << 8) | ipv4[i]; for (i=0 ; i=0 && ipv6[j]==exclude_ip6[i].address[j] ; j--); if (j>=0) return(1); j=length/16; if (j>=8 || length%16==0 || ((ipv6[j] ^ exclude_ip6[i].address[j]) & (0xFFFF<<(length-j*16)))==0) return(0); } } return(1); } void getuexclude(const char *uexfile, int debug) { FILE *fp_ex; char buf[255]; long int nreg=0; if(debug) debuga(_("Loading exclude file from: %s\n"),uexfile); if ((fp_ex = fopen(uexfile, "r")) == NULL) { debugapos("gethexclude",_("Cannot open file \"%s\": %s\n"),uexfile,strerror(errno)); exit(EXIT_FAILURE); } if (fseek(fp_ex, 0, SEEK_END)==-1) { debuga(_("Failed to move till the end of file \"%s\": %s\n"),uexfile,strerror(errno)); exit(EXIT_FAILURE); } nreg = ftell(fp_ex); if (nreg<0) { debuga(_("Cannot get the size of file \"%s\": %s\n"),uexfile,strerror(errno)); exit(EXIT_FAILURE); } nreg += 11; if (fseek(fp_ex, 0, SEEK_SET)==-1) { debuga(_("Failed to rewind file \"%s\": %s\n"),uexfile,strerror(errno)); exit(EXIT_FAILURE); } if((excludeuser=(char *) malloc(nreg))==NULL){ debuga(_("malloc failed to allocate %ld bytes\n"),nreg); exit(EXIT_FAILURE); } bzero(excludeuser,nreg); while(fgets(buf,sizeof(buf),fp_ex)!=NULL){ if(strchr(buf,'#') != NULL) continue; fixendofline(buf); strcat(excludeuser,buf); strcat(excludeuser," "); } strcat(excludeuser,"*END* "); fclose(fp_ex); return; } int vuexclude(const char *user) { const char *wuser; int len; if (excludeuser) { len=strlen(user); wuser=excludeuser; while ((wuser=strstr(wuser,user))!=NULL) { if (wuser[len]==' ') return(0); wuser+=len; } } return(1); } bool is_indexonly(void) { if (excludeuser==NULL) return(false); return(strstr(excludeuser,"indexonly") != NULL); } void free_exclude(void) { int i; if (exclude_ip4) { free(exclude_ip4); exclude_ip4=NULL; } if (exclude_name) { for (i=0 ; i?JKñòòóö÷øùùúûüÿ   GHHIRSTUUVWXZ[defgoppqqr~ p q q r % & / 0 ` a n o o p  Õ Ö Ø Ù Ù Ú ä åYZabdeop¸ ÒDFLT,arab6armnDcyrlNgrek\hebrjlatnvÿÿÿÿÿÿÿÿÿÿÿÿÿÿkern mark&mark.mkmk6mkmk<".6@JB]pNdPÞOœC¼B9.*VcRb^^°)z^Æ`¼â8z¤¶èÚ ê´Æ œ ¶ ¤ ® l " € J \ b ˜ 2Äâø:T²8ª –~Œ¦üFÚ$nx‚Œ–`r„Š–œª¸Òì :TnØB”®È  \ b Œ!R""",##”$j$ü%%0&&(&ò''’(|&$ÿÓ%ÿ·*K-r294K7ÿD9ÿˆ:ÿ­;ÿš<ÿ R&YÿÉ\ÿÜ‚ÿÓƒÿÓ„ÿÓ…ÿÓ†ÿÓ”9•9–9—9˜9Ÿÿ ´&µ&¶&·&¸&¿ÿÜÁÿÜÂÿÓÄÿÓÆÿÓàK&ÿD:ÿ iÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÉÿÜÊÿÜËÿÜÌÿÜÍÿÜÎÿÜÏÿÜÑÿÜÓÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜàÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaˆÿܬÿÜ­ÿÜ®ÿܯÿÜÜÿaÝÿÜðÿÜóÿÜôÿaõÿumÿnÿ­oÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/-&ÿÜ*ÿÜ2ÿÜ6ÿÜ9ÿÁ:ÿ·<ÿmÿÁ}ÿ܉ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿÈÿÜÊÿÜÌÿÜÎÿÜÞÿÜàÿÜâÿÜäÿÜÿÜÿÜÿÜÿÜÿÜ ÿÜ"ÿÜ6ÿ·8ÿ:ÿ¬ÿÜ®ÿÜÚÿÜðÿÜmÿ·oÿ·qÿ·Ûÿèÿéÿêÿ­ <ÿÜmÿÜ}ÿÜŸÿÜ8ÿÜ:ÿÜôÿÜÛÿÜé&$ÿÜ9ÿÜ<ÿmÿÜ}ÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿÂÿÜÄÿÜÆÿÜ8ÿ:ÿôÿÛÿèÿÓéÿÉêÿDPþ·ÿa$ÿD6ÿÜ7ÿÜDÿDHÿLÿkRÿ·UÿkXÿ\ÿD‚ÿDƒÿD„ÿD…ÿD†ÿD¢ÿD£ÿD¤ÿD¥ÿD¦ÿD§ÿDªÿ«ÿ¬ÿ­ÿ´ÿ·µÿ·¶ÿ··ÿ·¸ÿ·»ÿ¼ÿ½ÿ¾ÿ¿ÿDÁÿDÂÿDÃÿDÄÿDÅÿDÆÿDÇÿDÕÿ×ÿÙÿÛÿÝÿñÿkõÿkÿ·ÿ·ÿ·ÿkÿkÿkÿÜÿÜ ÿÜ"ÿÜ$ÿÜ&ÿÜ(ÿÜ+ÿ-ÿ/ÿ1ÿ3ÿ5ÿ9ÿD­ÿ·¯ÿ·ÚÿÜÜÿÜñÿ·õÿDÜÿDèÿÓêþˆ 7ÿ·<ÿšmÿÜ}ÿÜŸÿš&ÿ·:ÿšèÿÓéÿÓêÿÉÿÜèÿ·éÿÁêÿ· ÿ·$ÿÜmÿÜ}ÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜèÿ·éÿÁêÿ<ÿ)$ÿÜ&ÿ2ÿ7ÿa8ÿÉ:ÿ·<ÿ·DÿÜHÿšRÿšXÿš\ÿkmÿ}‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿ܉ÿ”ÿ•ÿ–ÿ—ÿ˜ÿ›ÿÉœÿÉÿÉžÿÉŸÿ·¢ÿÜ£ÿܤÿÜ¥ÿܦÿܧÿܪÿš«ÿš¬ÿš­ÿš´ÿšµÿš¶ÿš·ÿš¸ÿš»ÿš¼ÿš½ÿš¾ÿš¿ÿkÁÿkÈÿÎÿÝÿš&ÿa0ÿÉ1ÿš:ÿ·èÿÁéÿÁ1ÿÜ$/2ÿ·7þæ8ÿš9ÿ:ÿD<þðHÿÜRÿÜXÿÜ\ÿD‚/ƒ/„/…/†/”ÿ·•ÿ·–ÿ·—ÿ·˜ÿ·›ÿšœÿšÿšžÿšŸþðªÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ»ÿܼÿܽÿܾÿÜ¿ÿDÁÿDÝÿÜ&þæ0ÿš1ÿÜ:þðèþaéýæ9ÿ­ÿÜ$ÿÜ9ÿÜ;ÿ}<ÿmÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÜêÿD2ÿÓþÁ$ÿ}<ÿÓDÿ¤Hÿ·LÿÓQÿÜRÿ·UÿÜVÿÜXÿÜmÿÜ‚ÿ}ƒÿ}„ÿ}…ÿ}†ÿ}ŸÿÓ¢ÿ¤£ÿ¤¤ÿ¤¥ÿ¤¦ÿ¤§ÿ¤ªÿ·«ÿ·¬ÿ·­ÿ·³ÿÜ´ÿ·µÿ·¶ÿ··ÿ·¸ÿ·»ÿܼÿܽÿܾÿÜÝÿ· ÿÜÿÜÿÜ!ÿÜ#ÿÜ1ÿÜ:ÿÓè&é&êþ·9èÿÓéÿÜêÿ}5ÿ­ÿ·ÿÁ$ÿ­&ÿš7ÿk9ÿ:ÿ­<ÿ}DÿÓHÿ¤Rÿ¤Xÿ¤\ÿmÿ}ÿÜ‚ÿ­ƒÿ­„ÿ­…ÿ­†ÿ­‰ÿšŸÿ}¢ÿÓ£ÿÓ¤ÿÓ¥ÿÓ¦ÿÓ§ÿÓªÿ¤«ÿ¤¬ÿ¤­ÿ¤´ÿ¤µÿ¤¶ÿ¤·ÿ¤¸ÿ¤»ÿ¤¼ÿ¤½ÿ¤¾ÿ¤¿ÿÁÿÈÿšÎÿšÝÿ¤&ÿk1ÿ¤:ÿ}èÿkéÿ}êÿÜ$&‚&ƒ&„&…&†&;ÿDÿ ÿ$ÿa&ÿˆ7ÿÜDþ­Fþ¤Hþ¤LÿÁRþ¤UþÓVþ­XþÉZþ­\þÁmÿD}ÿ‚ÿaƒÿa„ÿa…ÿa†ÿa‰ÿˆ¢þ­£þ­¤þ­¥þ­¦þ­§þ­©þ¤ªþ¤«þ¤¬þ¤­þ¤´þ¤µþ¤¶þ¤·þ¤¸þ¤»þɼþɽþɾþÉ¿þÁÁþÁÈÿˆÉþ¤ÎÿˆÏþ¤Ýþ¤þÓþÓ!þ­#þ­&ÿÜ1þÉéÿÓêþø=ÿÜ?ÿÜ/ÿˆþøÿY$ÿ}2ÿÜDÿaHÿaLÿÓRÿaXÿu\ÿÉmÿN}ÿ‚ÿ}ƒÿ}„ÿ}…ÿ}†ÿ}”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜ¢ÿa£ÿa¤ÿa¥ÿa¦ÿa§ÿaªÿa«ÿa¬ÿa­ÿa´ÿaµÿa¶ÿa·ÿa¸ÿa»ÿu¼ÿu½ÿu¾ÿu¿ÿÉÁÿÉÝÿa1ÿuêþæ-ÿ­ÿÿˆ$ÿDÿ}HÿˆLÿÓRÿˆUÿ¤Xÿ·\ÿÜmÿ}ÿÜ‚ÿƒÿ„ÿ…ÿ†ÿ¢ÿ}£ÿ}¤ÿ}¥ÿ}¦ÿ}§ÿ}ªÿˆ«ÿˆ¬ÿˆ­ÿˆ´ÿˆµÿˆ¶ÿˆ·ÿˆ¸ÿˆ»ÿ·¼ÿ·½ÿ·¾ÿ·¿ÿÜÁÿÜÝÿˆÿ¤ÿ¤1ÿ·èÿÜêþøÿš&ÿk2ÿ}7ÿÜHÿ¤mÿ‰ÿk”ÿ}•ÿ}–ÿ}—ÿ}˜ÿ}ªÿ¤«ÿ¤¬ÿ¤­ÿ¤ÈÿkÎÿkÝÿ¤&ÿÜèÿaéÿ­êÿÓ2ÿ þaþð$ÿa&ÿ2ÿDþæHþðLÿ·RþðXÿmÿ}ÿk‚ÿaƒÿa„ÿa…ÿa†ÿa‰ÿ”ÿ•ÿ–ÿ—ÿ˜ÿ¢þæ£þæ¤þæ¥þæ¦þæ§þæªþð«þð¬þð­þð´þðµþð¶þð·þð¸þð»ÿ¼ÿ½ÿ¾ÿÈÿÎÿÝþð1ÿèÿéÿÜêþøÿÜèÿÜéÿÜêÿÜ[ÿÜ ÿÿkÿ·WÿÜZÿÜ\ÿÜmÿ·}ÿÜ¿ÿÜÁÿÜ'ÿÜèAêÿDÿÜHÿ·Rÿ·XÿÁ\ÿ·¢ÿÜ£ÿܤÿÜ¥ÿܦÿܧÿܪÿ·«ÿ·¬ÿ·­ÿ·´ÿ·µÿ·¶ÿ··ÿ·¸ÿ·»ÿÁ¼ÿÁ½ÿÁ¾ÿÁ¿ÿ·Áÿ·Ýÿ·1ÿÁèÿkéÿêÿ¤&ÿÜ[ÿÁèÿkéÿ·êÿ}$ÿ}ÿDÿÜFÿÓGÿÜHÿÓJÿÜKÿÜPÿÜQÿÜRÿÓTÿÜUÿÜ[ÿÉmÿ·©ÿÓªÿÓ«ÿÓ¬ÿÓ­ÿÓ³ÿÜ´ÿÓµÿÓ¶ÿÓ·ÿÓ¸ÿÓÉÿÓÏÿÓÑHÝÿÓáÿÜ ÿÜÿÜÿÜéVêþÉÿÉÿaÿmÿÜ}ÿÜéÿÜêþðÿDÿmÿÜ}ÿÜêÿ)FÿÜHÿÁRÿÁ©ÿܪÿÁ«ÿÁ¬ÿÁ­ÿÁ´ÿÁµÿÁ¶ÿÁ·ÿÁ¸ÿÁÉÿÜÏÿÜÝÿÁÿÜþÜÿkmÿÜ}ÿÜêþÓ%ÿÜ&ÿÜ'ÿÜ*ÿÜ-ÿÜ7ÿ9ÿ:ÿÜ<ÿkYÿÜZÿÜ\ÿ܈—‰ÿÜŸÿk¿ÿÜÁÿÜÈÿÜÎÿÜÐÿÜàÿÜ&ÿ:ÿk!$ÿ·%ÿ·&ÿÜ'ÿÜ-ÿÜ2ÿÜ7ÿD9ÿN:ÿ;ÿ<ÿYÿÜZÿÜ\ÿÜ‚ÿ·ƒÿ·„ÿ·…ÿ·†ÿ·‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿ¿ÿÜÁÿÜÈÿÜÎÿÜÐÿÜ&ÿD:ÿ\ÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÉÿÜÊÿÜÌÿÜÍÿÜÎÿÜÏÿÜÑÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜàÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜñÿÜmÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/]ÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÉÿÜÊÿÜÌÿÜÍÿÜÎÿÜÏÿÜÑÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜàÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜñÿÜmÿoÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/]ÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÉÿÜÊÿÜÌÿÜÍÿÜÎÿÜÏÿÜÑÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜàÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜñÿÜmÿoÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/\ÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÉÿÜÊÿÜÌÿÜÍÿÜÎÿÜÏÿÜÑÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜàÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜmÿoÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/]ÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9‰ÿÜ”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÉÿÜÊÿÜÌÿÜÍÿÜÎÿÜÏÿÜÑÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜàÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜñÿÜmÿoÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/èÿ­éÿ¤êÿ<ÿÜmÿÜ}ÿÜŸÿÜ:ÿÜé&$ÿÜ9ÿÜ<ÿmÿÜ}ÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿÂÿÜÄÿÜÆÿÜ8ÿ:ÿôÿÛÿèÿÓéÿÉêÿD9ÿ­ÿÜ$ÿÜ9ÿÜ;ÿ}<ÿmÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÜêÿD9ÿ­ÿÜ$ÿÜ9ÿÜ;ÿ}<ÿmÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÜêÿD9ÿ­ÿÜ$ÿÜ9ÿÜ;ÿ}<ÿmÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÜêÿD9ÿ­ÿÜ$ÿÜ9ÿÜ;ÿ}<ÿmÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÜêÿD9ÿ­ÿÜ$ÿÜ9ÿÜ;ÿ}<ÿmÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÜêÿD=ÿÜ?ÿÜ=ÿÜ?ÿÜ=ÿÜ?ÿÜ=ÿÜ?ÿÜ2ÿ þaþð$ÿa&ÿ2ÿDþæHþðLÿ·RþðXÿmÿ}ÿk‚ÿaƒÿa„ÿa…ÿa†ÿa‰ÿ”ÿ•ÿ–ÿ—ÿ˜ÿ¢þæ£þæ¤þæ¥þæ¦þæ§þæªþð«þð¬þð­þð´þðµþð¶þð·þð¸þð»ÿ¼ÿ½ÿ¾ÿÈÿÎÿÝþð1ÿèÿéÿÜêþøÿkÿ·èÿÜêÿD&èÿéÿêÿ­[ÿÜ[ÿÜ[ÿÜ[ÿÜèÿ¤éÿêÿ·èÿkéÿêÿ¤&ÿÜ[ÿÁèÿkéÿ·êÿ}&ÿÜ[ÿÁèÿkéÿ·êÿ}&ÿÜ[ÿÁèÿkéÿ·êÿ}&ÿÜ[ÿÁèÿkéÿ·êÿ}&ÿÜ[ÿÁèÿkéÿ·êÿ}ÿÜþÜÿkmÿÜ}ÿÜêþÓÿÜþÜÿkmÿÜ}ÿÜêþÓZÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÊÿÜÌÿÜÍÿÜÎÿÜÑÿÜÓÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜñÿÜmÿoÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/ZÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­\ÿumÿ·‚9ƒ9„9…9†9”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÁÿuÂ9Ä9Æ9ÈÿÜÊÿÜÌÿÜÍÿÜÎÿÜÑÿÜÓÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜâÿÜÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa9ÿu:ÿaðÿÜñÿÜmÿoÿpÿ­qÿrÿ­ÛÿaÜÿuèþøéÿê/TÿÓÿÜÿÜ$9&ÿÜ*ÿÜ2ÿÜ4ÿÜ7ÿa9ÿ}:ÿ<ÿaFÿÜGÿÜHÿÜIÿ·RÿÜTÿÜWÿÜYÿˆZÿ­mÿ·‚9ƒ9„9…9†9”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜÂ9Ä9Æ9ÈÿÜÊÿÜÌÿÜÍÿÜÎÿÜÑÿÜÓÿÜÕÿÜ×ÿÜÙÿÜÛÿÜÝÿÜÞÿÜâÿÜÿÜÿÜÿÜÿÜÿÜ$ÿa%ÿÜ&ÿa'ÿÜ6ÿ7ÿ­8ÿa:ÿaðÿÜñÿÜmÿoÿpÿ­qÿrÿ­Ûÿaèþøéÿê/<ÿÜmÿÜ}ÿÜŸÿÜ:ÿÜé&<ÿÜmÿÜ}ÿÜŸÿÜ:ÿÜé&$ÿÜ9ÿÜ<ÿmÿÜ}ÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿÂÿÜÄÿÜÆÿÜ8ÿ:ÿôÿÛÿèÿÓéÿÉêÿD$ÿÜ9ÿÜ<ÿmÿÜ}ÿÜ‚ÿ܃ÿÜ„ÿÜ…ÿ܆ÿÜŸÿ:ÿèÿÓéÿÉêÿD[ÿÜ 7ÿ·<ÿšmÿÜ}ÿÜŸÿš&ÿ·:ÿšèÿÓéÿÓêÿÉ1ÿÜ$/2ÿ·7þæ8ÿš9ÿ:ÿD<þðHÿÜRÿÜXÿÜ\ÿD‚/ƒ/„/…/†/”ÿ·•ÿ·–ÿ·—ÿ·˜ÿ·›ÿšœÿšÿšžÿšŸþðªÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ»ÿܼÿܽÿܾÿÜ¿ÿDÁÿDÝÿÜ&þæ0ÿš1ÿÜ:þðèþaéýæ1ÿÜ$/2ÿ·7þæ8ÿš9ÿ:ÿD<þðHÿÜRÿÜXÿÜ\ÿD‚/ƒ/„/…/†/”ÿ·•ÿ·–ÿ·—ÿ·˜ÿ·›ÿšœÿšÿšžÿšŸþðªÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ»ÿܼÿܽÿܾÿÜ¿ÿDÁÿDÝÿÜ&þæ0ÿš1ÿÜ:þðèþaéýæOÿ?èÿkéÿêÿ¤5ÿ­ÿ·ÿÁ$ÿ­&ÿš7ÿk9ÿ:ÿ­<ÿ}DÿÓHÿ¤Rÿ¤Xÿ¤\ÿmÿ}ÿÜ‚ÿ­ƒÿ­„ÿ­…ÿ­†ÿ­‰ÿšŸÿ}¢ÿÓ£ÿÓ¤ÿÓ¥ÿÓ¦ÿÓ§ÿÓªÿ¤«ÿ¤¬ÿ¤­ÿ¤´ÿ¤µÿ¤¶ÿ¤·ÿ¤¸ÿ¤»ÿ¤¼ÿ¤½ÿ¤¾ÿ¤¿ÿÁÿÈÿšÎÿšÝÿ¤&ÿk1ÿ¤:ÿ}èÿkéÿ}êÿÜ$ÿ}ÿDÿÜFÿÓGÿÜHÿÓJÿÜKÿÜPÿÜQÿÜRÿÓTÿÜUÿÜ[ÿÉmÿ·©ÿÓªÿÓ«ÿÓ¬ÿÓ­ÿÓ³ÿÜ´ÿÓµÿÓ¶ÿÓ·ÿÓ¸ÿÓÉÿÓÏÿÓÑHÝÿÓáÿÜ ÿÜÿÜÿÜéVêþÉ5ÿ­ÿ·ÿÁ$ÿ­&ÿš7ÿk9ÿ:ÿ­<ÿ}DÿÓHÿ¤Rÿ¤Xÿ¤\ÿmÿ}ÿÜ‚ÿ­ƒÿ­„ÿ­…ÿ­†ÿ­‰ÿšŸÿ}¢ÿÓ£ÿÓ¤ÿÓ¥ÿÓ¦ÿÓ§ÿÓªÿ¤«ÿ¤¬ÿ¤­ÿ¤´ÿ¤µÿ¤¶ÿ¤·ÿ¤¸ÿ¤»ÿ¤¼ÿ¤½ÿ¤¾ÿ¤¿ÿÁÿÈÿšÎÿšÝÿ¤&ÿk1ÿ¤:ÿ}èÿkéÿ}êÿÜ$ÿ}ÿDÿÜFÿÓGÿÜHÿÓJÿÜKÿÜPÿÜQÿÜRÿÓTÿÜUÿÜ[ÿÉmÿ·©ÿÓªÿÓ«ÿÓ¬ÿÓ­ÿÓ³ÿÜ´ÿÓµÿÓ¶ÿÓ·ÿÓ¸ÿÓÉÿÓÏÿÓÑÿÜÝÿÓáÿÜ ÿÜÿÜÿÜéVêþÉ$&‚&ƒ&„&…&†&$&‚&ƒ&„&…&†&;ÿDÿ ÿ$ÿa&ÿˆ7ÿÜDþ­Fþ¤Hþ¤LÿÁRþ¤UþÓVþ­XþÉZþ­\þÁmÿD}ÿ‚ÿaƒÿa„ÿa…ÿa†ÿa‰ÿˆ¢þ­£þ­¤þ­¥þ­¦þ­§þ­©þ¤ªþ¤«þ¤¬þ¤­þ¤´þ¤µþ¤¶þ¤·þ¤¸þ¤»þɼþɽþɾþÉ¿þÁÁþÁÈÿˆÉþ¤ÎÿˆÏþ¤Ýþ¤þÓþÓ!þ­#þ­&ÿÜ1þÉéÿÓêþø=ÿÜ?ÿÜ2ÿ þaþð$ÿa&ÿ2ÿDþæHþðLÿ·RþðXÿmÿ}ÿk‚ÿaƒÿa„ÿa…ÿa†ÿa‰ÿ”ÿ•ÿ–ÿ—ÿ˜ÿ¢þæ£þæ¤þæ¥þæ¦þæ§þæªþð«þð¬þð­þð´þðµþð¶þð·þð¸þð»ÿ¼ÿ½ÿ¾ÿÈÿÎÿÝþð1ÿèÿéÿÜêþøÿÜèÿÜéÿÜêÿÜ#$ÿÓ%ÿ·*K-r294K7ÿD9ÿˆ:ÿ­;ÿš<ÿ R&YÿÉ\ÿÜ‚ÿÓƒÿÓ„ÿÓ…ÿÓ†ÿÓ”9•9–9—9˜9Ÿÿ ´&µ&¶&·&¸&¿ÿÜÁÿÜàK&ÿD:ÿ :$þø%ÿÁ&ÿ·'ÿÁ)ÿÁ*ÿ·+ÿÁ-ÿÁ.ÿÁ/ÿÁ2ÿ·3ÿÁ4ÿ·5ÿÁ;ÿˆ=ÿÜIÿ·QÿRÿkUÿYÿ·Zÿ·\ÿ·‚þøƒþø„þø…þø†þøˆþ}‰ÿ·”ÿ·•ÿ·–ÿ·—ÿ·˜ÿ· ÿÁ¡ÿÁ²ÿ·³ÿ´ÿkµÿk¶ÿk·ÿk¸ÿk¿ÿ·Áÿ·Èÿ·Îÿ·ÐÿÁàÿ·ûÿÁÿÿÁ ÿÿÁÿÿÁÿ?ÿÜ?$&%ÿ·&ÿ'ÿ·)ÿ·*ÿ·+ÿ·-/.ÿ·/ÿ·2ÿ3ÿ·4ÿ5ÿ·7þæ9þˆ:ÿ;ÿ·<þˆIÿÜQÿ·Rÿ·Uÿ·YÿZÿ<\ÿ‚&ƒ&„&…&†&ˆ&‰ÿ”ÿ•ÿ–ÿ—ÿ˜ÿŸþˆ ÿ·¡ÿ·²ÿ·³ÿ·´ÿ·µÿ·¶ÿ··ÿ·¸ÿ·¿ÿÁÿÈÿÎÿÐÿ·àÿ·ûÿ·ÿÿ· ÿ·ÿ·ÿ·ÿ·ÿ·&þæ:þˆ^$%&')*+-./23456789:;<=HINQRUYZ[\m}‚ƒ„…†ˆ‰’”•–—˜›œžŸ ¡ª«¬­²³´µ¶·¸¿ÁÂÄÆÈÎÐÒÝàûÿ  "&0:?Üèê ¼ Þ ö Z¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ     " ( . 4 : @ F L R X ^ d j p v | ‚ ˆ Ž ” š   ¦ ¬ ² ¸ ¾ Ä Ê Ð Ö Ü â è î ô ú     $ * 0 6 < B H N T Z ` f l r x ~ „ Š – œ ¢ ¨ ® ´ º À Æ Ì‹ð‹ð‹ð‹ð‹ð‹ð‹ð‹ð‹ð‹ð¼ð¼ðLðìžðžð\ðð/ð.ðžð*ðsðõâ'ðžð'ð}â“ðsâîð¼ðõ÷Íðr÷¾ðT{ð¦{þð{;ðj{ð//ððé{‰{}{¦{o{{'{ð}{^{G‚b{`‚{'ðã{¦{}ð}{ðªðQð{õâ‰{{}{ð\ðLðXðÄðžð;ð\ð¿ð/ð/ðžð‰ð‚ðõâð“ð'{ðsâ‰sâ§ðr÷`‚¾ð{w'ðê‰{ð{¼ðîð¼ðžð{.ð/}â{‡{T{Ö{ð¿y¦{þðþðc{R{R{@{@{@{î{{jðj{¦{b{b{}{ðð/{€{™ðþðððé{é{é{‰{‰{‰{}{{é{¦ð3{3ð3{^{a{p{‚{;{Q{'{ððñ{ð{ð}{}{^{G‚^ðd‚{{{{°ð:ð°ð:ðk{a{H{¦ð£q/«{{jð°ð:ðþðþðþð£{GðŽ{ ðððJ{~ð^‚}ð@{Eð‰{}ð{£{‚ð‡{{Eð}{p{¦{t{}{j{{ª{b{¤{^{~ð~ð ðí‚}{t{^{{¦{/¦{ò{ð¦{Hð¼ð™ðžðõâ'ðoðYð‡ðNðsðþðT{a{E{ö{{ò{@{‚{£{ø{{‚{}{{¦{¦{T{`‚kðb{{K{©{©{{{{²{ö{ˆ{¦{'{//ú{ó{ð{óðÀð_{ð•{žð¦{£{ðsâK{£{‰{{E{^{z{TƒTƒz@{{±y{tgtb{{^{Æððððžððð£qª{'ð}â^{{{êððO$= D]$šš>¨©?²²AººBÀÀCèéDóóF  GI55JBBKHILPPNRVOX]T__Zff[ij\lp^txc{{h¬¬iöùjEnGh°4LÒRSëWWíYYî[[ï]]ðeeñruòwxözzø~~ù††ú’’û••ü——ýššþ  ÿ¥¥¬­¯²´º¼ÑÖØ$ÚÝ'áá+äå,õ÷.13!!4..5;;6FF7LL8PP9yy:„†;‰Œ>B””C˜˜D››EŸŸF¢¢G§¨H[[J $ $K V _L–—V®®X¸¸Y ¬Àéîððòòöøûü þþ"ST#eo%0ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜþ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þŠoþrþrþ{þŠrþ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{Fvz Íœ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^d‹‹‹‹‹‹‹‹‹‹¼¼Lìžž\/.þRž™sõ'ž'}“sî¼õÍr¾T·¦f”;¦þR¦þR¦é¦}¦þRˆþR'ô¦^Gb`þRã}}ЉþR7þR/þz`þRÛþRÿú¦ô¼î¼ž”.þRþR}‡TÖ¿¦TþRTcRR@@@îþRjþRjþR¦bþRb}þR¦¦þR€™þþRîþRééþRéþR‰þR‰þR‰}é¦þR555þRþRaþRƒt;Q'þRþRþRñþRþRþRôþR}}^G^dþRþRþR°:°:þRkaH¦£ÿöþR«þR_ˆþR°:þþþRþ£GþRŽ þR~þR}ž¦^TTX±gX^·¦ž¦£ÿö'}^þRŠ"$= D]$¨¨>²²?ºº@ééA  BTTCYYDllEvvF{{GöøHEKGh55¯;;°±!!²„…³‰‹µ¸””¹››ºŸŸ»§¨¼[[¾ $ $¿ V [À ] _Æ–—É®®Ë¸¸ÌÂÅÈÌÏÒ Õß åèóõùúýý!"Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPþÿÿþÿÿþþþÿþþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿûþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿ T ¦þR©ÂÅÈÌÏÒ Õß åèóõùúýý!"Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPþÿÿþÿÿþþþÿþþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿûþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿþÿÿ  Î . 8rx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü      & , 2 8 > D J P V \ b h n t z € † Œ ’ ˜ ž ¤ ª ° ¶ ¼‚`}`‡`ž4Ârrôr„èÂL„R„LŠèŠèŠâèâ¼î¼èX X X X [r[rÂ~Âx,°¼LôL¼ÜŠŠ¶ŠèÂRôLôîôî„èôL„â„L„è„R„è„è„L„芊܊èŠèŠÜŠèŠè¼x¼°¼î¼â¼L¼L¼Lôxôx¼4ŠîŠâô@ôîôâ‚`„è„è+è+è„è„è+è+è„è„è+è+è„L„L++„L„L++„â„â+ª+ª¼L¼Lô@ª¼L¼Lô@ªŠèŠèXèXèŠèŠèXèXèŠèŠèXèXèŠèŠèXèXè¼â¼â¼x¼xôxôxúúôxôxú¤ú¤ŠîŠŠô@ôâ+è+èôîXV+è+è,¤,¤,:Ű,°,Ü,Ü,:,:,°,°,,,:,:ÂLÐИ˜ÂrÂârrôX+F+Frr„è„è+è+èÂL&L„R„R++„L„L++ŠèŠèXèXèŠèŠèXèXèŠâŠâX~X~èèââ¼î¼î¼è¼èX X ЄЄX X RâRâX X & & X X &è&è[r[rSrSr[r[rSrSrÂ~ôèÂ~îèÂxô~Âxî~¼L¼LôF°ôLôRôF°¼Ü¼ÜúúŠŠSrSrжŠR&R&RŠèŠî++ÂR&RôLô ôLôîôîXVôîXî+è+è„è+è+è¼LôL¶ôRôL¶++„R++„è++ŠXªXªŠÜXxXxŠÜXxXxŠâX~X~¼î¼î¼4S4S4¼¶+°+°¼° ùù  >YZ'\y) w wG YHv€‚“¯·/ ñ?@BCEFGHJ .4:@FLRX^djÃ`°°°°°°°°°°¸®Ò $6HZl~ cr– cr– cr–ä cr–ä cr–Ü cr–Ü cr–Ü cr–ÜZa ñ?@BCEFGHJ .4:@FLRX^djÃ`°°°°°°°°°°0ö6 <BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞä_ŒÝ030º0Í0@0±0Í0P±0-0²00à1H0pÍÍ00½0)0P½0½0_Œ_Œ@0Ý0-0H0 øþ    m m p q t u Œ ïÍ0 Î Ž ð pâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´ºÀÆÌÒØÞäêðöü &,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLRX^djpv|‚ˆŽ”𠦬²¸¾ÄÊÐÖÜâèîôú     $ * 0 6 < B H N T Z ` f l r x ~ „ Š – œ ¢ ¨ ® ´ º À Æ Ì Ò Ø Þ ä ê ð ö ü      & , 2 8 > D J P V \ b h n t z € † Œ ’ ˜ ž ¤ ª ° ¶ ¼ Â È Î Ô Ú à æ ì ò ø þ     " ( . 4 : @ F L R X ^ d j p v |……H¨SÌßÙ'Õ…©¸éq·F£~…Ñ…ì4Ìc[ ÿœÿœôþ>ýÚ¼þpÿœ„þpôÿj„ÿj„ÿj,ýv,ý¨,ývÂÿjÂÿjôþ ôþ Xý¨Xý¨Xý¨XýD[ÿj[ÿj×ý¨×ý¨,ÿœ ÿ8¼ýÚ ÿ8¼þ>ðý¨îþ>ôÿjôþ>¼þp¼ýÚ„ÿj¼ýÚ„ÿj„ÿj„ý¨„þ^„ÿj„ý¨„ÿj„ý¨,ý¨,ý¨,ý¨,ý¨,ý¨,ý¨,ý¨ôþ ôþ ôþ ôþ  ÿ8 ÿ8 ÿ8 ÿj ÿj¼þ>îþ>,ý¨ôþ>¼þp¼þp£……H¨SÌÙ'Õ…©é·F~……ì4ÌS………„ý¨„ý¨+ýÚ+ýÚ„ý¨„ý¨+ýÚ+ýÚ„ý¨„ý¨+ýÚ+ýÚ„ÿj„ÿj+ÿœ+ÿœ„ÿj„ÿj+ÿœ+ÿœ„ÿj„ÿj+ÿœ+ÿœ ÿ8 ÿ8ôÿjÿj ÿ8 ÿ8ôÿjÿj,ý¨,ý¨Xþ Xþ ,ý¨,ý¨XÿXÿ,ý¨,ý¨Xþ Xþ ,ý¨,ý¨Xþ Xþ ôþ ôþ ôþ ôþ  ÿj ÿj,ÿj,ÿj ÿj ÿj,ÿj,ÿjîþ>îý¨ôþ>+ÿœ+ÿœ¼þp¼þp+þ¢+þ¢,ÿœ,ÿœ,ÿœÅÿœ,þ ,ÿœ,ÿœ,ÿœ,ÿœ,þÔ,þÔ,ÿœ,ÿœ,ÿœ,ÿœô2ÿœÿœÿœÿœôþ>ôþ ý¨ý¨¼þp¼þp+ÿœ+ÿœÿœÿœ„þp„þp+þ¢+þ¢ôÿjôÿj„ÿj„ÿj+ÿœ+ÿœ„ÿj„ÿj+ÿœ+ÿœ,ý¨,ý¨Xþ¢Xþ¢,ý¨,ý¨XÿœXÿœ,ý¨,ý¨XÿœXÿœÂÿjÂÿjÂÿjÂÿjôþ ôþ ôþ ôþ Xý¨Xý¨ŠÿjŠÿjXý¨Xý¨ŠÿjŠÿjXý¨Xý¨&ÿj&ÿjXý¨Xý¨&ÿj&ÿj[ÿj[ÿjSÿjSÿj[ÿj[ÿjSÿjSÿjŠý¨×ý¨XÿœîÿœŠý¨×ý¨Xÿœîÿœ ÿ8 ÿ8ôÿjÿj¼ýÚ¼ý¨ôÿjÿj ÿ8 ÿ8,ÿj,ÿj¼þ>¼þ>SÿœSÿœðý¨ðý¨&ÿj&ÿjîþ>îý¨+ÿœ+ÿœôÿjôÿjÂÿjôý¨ôþ>ôþ ¼þp¼þp¼ýÚ¼ýÚ+þ¢+þ¢„ÿj+ÿœ+ÿœ ÿ8ôÿjÿj¼ý™ôÿjÿj+ÿœ+ÿœ„þ^+þÂ+þ„ÿj+ÿœ+ÿœ,ý¨XÿœXÿœ,ý¨XÿœXÿœ,ý¨XÿœXÿœ,ý¨Xþ Xþ ôþ ôþ ¼þ>SÿœSÿœ¼þp+þ¢+þ¢ôþ  ø>YZB\yD o sb v Îg ÐYÀv€J‚“U¯·gäåæçèéêëìîð÷ADI>DJPV\bhntz€†Œ’ÃÃÃÃÃÃÃÃÃÃÃø®Ú $6HZl~ cÿœÈÿj cÿœÈÿj cÿœÈÿj cÿœÈÿj cÿœÈýÚ cÿœÈýÚ cÿœÈÿj cÿœÈÿjZaäåæçèéêëìîð÷ADI>DJPV\bhntz€†Œ’ÃÃÃÃÃÃÃÃÃÃÃê^ê *V\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæìòøþ "(.4:@FLþhþhþhþ=þþþDþþþÅþþhþhþ¨þ¨þhþÚþDþ“þþhþhþ=þÐþDþDþþþþÚþþþþøþøþøþøþøþøþøþøþø ¬½ééëîððòòöøûüþþSTee!gg"io# ¬½ééëîððòòöøûüþþSTeo!,²¸¾ÄÊÐÖÜâèîôú $*06<BHNTZ`flrx~„Š–œ¢¨®´þ{þ{þ{þ°þþþþþþ{þ{þ{þ{þ{þ{þ{þþþþþ{þ{þ°þþþþ{þ{þ{þþ{þþþ{þ{þ{þ{þ{þ{þ{þ{þ{þ{þ{v^Ž "(.4:@FL:¤:Ü::ܤþr ?@BCEFGHJ ?@BCEFGHJ *06<BHNTZ`°°°°°°°°°°0&: þ þÔýóADIADI ÚøDFLT,arabLM%%ZZ¬´¶À éêR$=IIKKLMOO‚˜š¡ÂÂÄÄÆÆÈÈÊÊÌÌÎÎÐÐÒÒÔÔÖÖØØÚÚÜÜÞÞààââääæêììîîððòòôôööøøû      ""$$&&((**,,..0022446688:;==??AAHHRRTTVV‘“••¤¤¬¬®®ÚÚÜÜððôô%%ZZ¬´¶Àéê B äìîîðð÷÷   ‰  ­³ŒC ç é ë í ï ó õ ù û ÿ #'+/37;?CGKOSUWv| ¥ ‘‚… • ¡ ™ˆ‹ µ ±Ž ¹ ½ ÷¯ Áy © ­ Šɱ Í‘ Ï Ó´35>YZ#\y%l3 ñ ÷ ý  !%)-159=AEIMQ ÑYx~ § Ÿ “„‡ — £ ›Š · ³ » ¿{ « ¯ Ç Ë³€“ Õ¶ !!#',35;=>YZ\jov)xy1l3 ð ö ü  $(,048<@DHLP ÐXw} ¦ ž ’ƒ† – ¢ š‰Œ ¶ ² º ¾z ª ® Æ Ê²’ Ôµ !!#',35;=>YZ\jov)xy1 ` óa óDE²Rlž¨$*06< ãF áE ßD ÝC ÛB ÚA Ø@ Ö?IHG &, äF âE àD ÞC ÜB ×?HH 4<>¬dpz„˜ "(.4:@FL𷙝˜Ô—¶–³•²zÓv­q°j´ò qäZ)øöö÷öûùùúù röù> $^ í\ éZ ç_ í] é[ çDE QyáÜ¿ cO bLI fWAˆ(:FPZfr  "   "p$;HVe0f(/UFYXXR")567DF2 ( eIO dIL aI gWIV6 ,  lÇ jÅ i¿ hÐ kÐÎØZœÆD&.6>FNV^fnv~„zzxxttrr~~~~ "uuss&.6{{vv€€ww "||yy}}UTVRSXW(.5;CIUTVRSXW(.5;CI ®¸-O •D ®¸•-DO óù–—LM%Z hfiglmenjok ¬­®¯²³´·¸»½e 3™×3™f à.ÿÐõÿ(PfEd@ ÿýþšmã`ÿ¿ÿäÈnn~AIMéîó÷NSX]bu{~ŠŒ¡ÎùV_‡Š¹½ÃÇêò :UZot‡’•˜¡¤¦©¯µº¿ÆÌÎù#+[w{…·¿›ùEMWY[]}´ÄÓÛïôþ ' ^ q Ž ¯ ± µ ×!!! !!!!!!"!'!+!.!2!5!;!K!„"="¯"½"Á"Æ"Í"í"ÿ### ###!#%#*#}#®#Ï$#$i&œ&¡&±'' '''K'M'R'V'^'”'¯'¾'à'ë(ÿ)Õ)ë*** *º*ú+,j,wòòò_öÅûûûû û6û<û>ûAûDûNûû•ûŸûÚûéûÿþtþüþÿÿýÿÿ  CLPìó÷QW\`tz~„ŒŽ£Ð1Ya‰°»¿ÆÐð !@Z`ty‘•˜¡¤¦©¯µº¿ÆÌÎð&Cw{…›¹  HPY[]_€¶ÆÖÝòö 0 p t   ± ´ Ö!!! !!!!!! !&!*!.!2!4!;!K!S!"A"²"À"Ä"È"Ö"ò###### #%#(#}#›#Ï$"$`%€& &°''' ')'M'O'V'X'a'˜'±'à'è()Î)ë** *}*®*ù+,g,uòòò_öÅûûûûû*û8û>û@ûCûFûRûŠûžûÙûèûüþpþvþÿÿýÿÿÿãÿÂÿÁÿ¿ÿ½ÿ»ÿ·ÿ´ÿ¬ÿªÿ§ÿ¤ÿ¢ÿ‘ÿÿ‹ÿ†ÿ…ÿ„ÿƒÿ‚ÿ|ÿ]ÿ[ÿZÿYÿ4ÿ3ÿ2ÿ0ÿ(ÿ#ÿ ÿþýþúþùþôþðþëþçþãþÚþØþÖþÎþÌþËþÉþÄþ¿þ»þ·þ±þ¬þ«þŠè„èƒèèjèOèLèCè.è-çíçéçãçáçßçÝçÛçÚçÙçØç×çÕçÔçÓçÑçÐçÎçÍçÌçÄç³ç±ç çŸçç}çUçSçQçMçLçKçIçFçEçBç@ç>ç;ç:ç5ç&ççççç ç ç çæþæüæùæøæôæîæèæåæãæ‘ætæTæåÆä°ä­äŸäPäOäMäLäKäJäGäFäDäAä@äääã6ã!ã ãâ¤â—âYâBàïàåUG›aUPOFEDCBA>6.õèÖfecf  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a†‡‰‹“˜ž£¢¤¦¥§©«ª¬­¯®°±³µ´¶¸·¼»½¾rdeix¡pkvjˆšsgwl|¨ºcnm}b‚…—¹Áy„ŒƒŠ‘Ž•–”œ›qz5¸ËËÁªœ¦¸fqË ²…u¸Ãˉ-˦ðÓª‡ËªJ3ËÙôT´œ99N´R¸çÍ7sÍ`s3¢V¦V9Åɸßsºé3¼Dßͪåªˤ{¸o{RÇÍššoËÍžÓðºƒÕ˜HžÕÁËöƒT3fÓǤ͚sÕ þ+¤´œbœ-ÕÕÕð{T¤¸#Ӹ˦Ãì“ Ó\qÛ…#¨H99`Õš#fy```{œw`ªé`b{Å{´RÍf¼fwÍ;…‰{ÍJ/œœ}oo5jo{®²-–{öƒT7öœáföÍD)fîs–<@LÀ TÀ   ·, °%Id°@QX ÈY!-,°%Id°@QX ÈY!-,  °P° y ¸ÿÿPXY°°%°%#á °P° y ¸ÿÿPXY°°%á-,KPX °ýEDY!-,°%E`D-,KSX°%°%EDY!!-,ED-,°%°%I°%°%I`° ch ŠŠ#:Še:-ÿÿfþ–f¤@ ûû/ÄÔì1ÔìÔì0!%!!füsüåþ–øòr)5Õ 5@ƒ üK° TX¹ÿÀ8Y<ì2991/äüÌ0¶ P ]%3#3#5ËËË¢þþÕýqþ›eŪéÕB@„üK°TK°T[X¹ÿÀ8YüÜì1ô<ì20@0 @ P ` p   ¿ ]#!#oª$ªÕýÕ+ýÕ+ž¾`@1 ‡  ‡   üÌ91/<Ô<<ü<<Ô<<Ä2ì220@   ]!! !3!!!!#!#!5!!5!þÝT%Dh$i g8þ¡R>þ›h gþÛg¡hþÅ`Tþ¾if…þ²‡þaŸþašþ²™þbžþbž™NšŸªþÓm!(/½@U" '&( /)/))/B" ) *!††#Љ*Љ- ) " & 0üK° TX¹ÿÀ8YK° TK°T[K°T[X¹@8Y<ìô<ü<ôäì1/äìÄÔäì2Äîî99990KSXíí9í9íY"#.'5.546753.'>54&´diÒjfÑoÝÉÚÌd]®SS¯\ãÖãÖdtzqá{þÓ---´@AÈ$¬–£¼ëè¯*.þU#´œ©Ãš jXV`ÕþOnZXhqÿã)ð #'3‰@6$%&%&'$'B’ ’.’$’ &Œ($‘4'!%   ! + 1 4üK° TK° T[K° T[K°T[K°T[K° T[X¹1ÿÀ8YÄìôìîöî991ä2ô<äìîöîî0KSXííY""32654&'2#"&546"32654&%3#2#"&546ÑWccWUccUžº» º»ü—VcbWWcd1 üZ ž¼»ŸŸ¹º‘”„‚••‚ƒ•Ü»»ÛÛ»¼Ûa•‚„””„–ùó Û»½ÚÛ¼ºÜÿãþð 0Í@–  † †  † †††  !         B  (('•+•'”$‘Œ .  .'.'!!1üìÄÔÔìÆî99999991/ÆäöæîîÆ9990KSXíí9í9í9í9í9íí9í9ííí9Y"²2]@² " ) **&:4D ^YZ UZZY0g{›š™—• “••"™-  ' (   2'') #**(/2; 49?2J LKFO2VZ Y UY\_2j i`2uy z““—•œœŸš › š 2 2°29]]3267 >73#'#"5467.54632.#"ò[UÔ _¦Iþ{ü;Bº h]ühäƒñþΆ†02Þ¸S¥UWžDiƒ;#Q¡X’Â?@ýøYËr„þþ~þã“YW×€ác?}<¢Å$$¶/1oX3gŪoÕ7@ „üK°TK°T[X¹ÿÀ8Yì1ôì0@ @P`p ]#oªÕýÕ+°þò{ 7@˜—  ÜK°TX¹ ÿÀ8YK°TX¹ @8Yä2ì991üì0#&547{†‚ƒ… –•”—æþ>ççþ;åëÆàßÄì¤þòo @˜— Ü<ôì991üì03#654¤ –••– …ƒƒìþ<ßàþ:ëåÅççÂ=JÃðN@,  ™ ™ ‘    Ô<ä2Ü<ä2991ôÔ<ì2Äì2990 %#'-73%Ãþ™g:þ°rþ°:gþ™:PrPßÂÃbËþ‡yËbÃÂcËyþ‡ËÙÛ #@ œ  Üü<ü<ì1/Ô<ü<Ä0!!#!5!®-ýÓ¨ýÓ-ýÓªýÓ-ª-žÿÃþ@ žƒüìÔÌ1üì073#ðÓ¤Rþ¬þÀ@d߃¶œÜÌ1Ôì0!!dý僤ۮþ·ƒüì1/ì073#ÛÓÓþþÿB²Õ-@BŸ/Ä991ôì0KSXííY"3#ªýøªÕùm‡ÿãð #@   ‘Œ üìôì1äôìî0"32'2#"‹œœû þ÷ûûþ÷ PþÍþÌþÍþÍ3343 þsþ†þ‡þsyzáZÕ @@B     ÔK°TX¹@8YìÄüì1/ì2ôìÔì0KSXY"´]7!5%3!!þJþ™eÊJü¤ªsH¸HúÕª–Jðš@'B¡”  ‘   üK°TK°T[K°T[X¹ÿÀ8YÄÔìÀÀ91/ì2ôìôì0KSXíí9Y"@2UVVzzv‡tvust‚†‚‚‚¨¨]]%!!567>54&#"5>32‰ÁüLs3aM§†_ÓxzÔXèE[þôªªªw‘:m—Iw–BCÌ12èÂ\¥pþëœÿãsð(p@. † †     “  “#‘Œ£)&  )üK°TK°T[X¹ ÿÀ8YÄÄÔìôì991ìäôäìæîîîî90@ daa d!]!"&'532654&+532654&#"5>32?‘£þÐþè^ÇjTÈm¾Ç¹¥®¶•ž£˜S¾rsÉYæ Ž%ÄÝò%%Ã12–„•¦wps{$&´ Ѳ|«d¤Õ @   B     ÜK° TK° T[X¹ ÿÀ8YÔ<Äì291/äÔ<ì290KSXÉÉY"@* *HYiwŠ+&+6NO O Vfuz… ]] !33##!5þþ5þÕÕÉý^%üãÍü3¨þ `ÞÿãdÕ^@#†  ‰   Œ¤  üK°TK°T[X¹ÿÀ8YK°TX¹@8YÄÔìÄî1ääôìæîþÄî90!!>32!"&'532654&#"Ýý ,X,ú$þÔþï^ÃhZÀk­ÊÊ­Q¡TÕªþ’þîêñþõ Ë10¶œœ¶$&ÿã–ð $X@$ †   ¥  ‰"‘Œ% " !%üììôìä1äôäüäîîî90@ËËÍÍÍËˤ²]]"32654&.#">32# !2¤ˆŸŸˆˆŸŸ L›LÈÓ;²káþðâþýþîPL›;º¢¡»»¡¢ºy¸$&þòþïW]þïëæþêyb¥¨hÕc@B üÌÄ991/ôì0KSXííY"K°TX½@ÿÀ878Y@X9Hg°°]]!#!¨ÀýâÓþý3ÕVú+‹ÿã‹ð #/C@%  ' - ‘Œ'£0 $*$ !0üÄìôÄìîî991ìäôìîî990"32654&%.54$32#"$54632654&#"‹¥¥¦¥þ¥‚‘ÿÞßþ‘’£þ÷÷÷þ÷¤H‘ƒ‚““‚ƒ‘Åš‡‡š›†‡šV ²€³Ðг€² "ÆÙèèÙÆat‚‚tt‚‚ÿã‡ð$X@#†  ¥ ‰ ‘Œ%!"" %üìäôìì1äôìæþõîî90@ÄÂÀÀÀÂμé]]7532#"543 !"&2654&#"áLœKÈÓ:²làþûâþ±þåLœ>ˆŸŸˆˆŸŸ¸$& V\ëæþsþ†þŸþ[—º¢¡»»¡¢ºðÃ#@ƒ¦ƒü<ì21/ìôì073#3#ðÓÓÓÓþþ#þžÿÃ# %@ƒžƒ¦  ü<ì2ÔÌ1äüìî03#3#ðÓÓÓ¤R#þýÙ¬þÀ@Ù^Û¦M@*œœœœB¨§$#üì291ôì90KSXííííY" 5Ûûøúþðþ‘þ“¶ѦÑÙ`Û¢@ œœ#ü<Ä21ÔìÔì0!!!!Ùúþúþ¢¨ðªÙ^Û¦O@+œœœœB¨§$#ü<ì91ôì90KSXííííY"55Ùúþð¶þ/¦þ/¶m“°ð$e@+$  †ˆ•‘ƒ   &%ÜK° TX¹ÿÀ8YÄüìÔìî99991/îöþôîÍ9990¶y z z ]%3##546?>54&#"5>32‡ËËÅ¿8ZZ93ƒlO³a^Ág¸ßHZX/'þþ‘še‚VY5^1YnFC¼98ŸL‰VV/5<4‡þœq¢ L•@2  ©©L43¬0©7¬$©7CM34( (+(I+*(I,=MÜìüìþýþ<Æî991ÔÄüìþíÔÆÅî2Äî990K° TK° T[K°T[K°T[K°T[X½MÿÀMM@878Y@ NN/N?N]32654&#"#"&5463253>54&'&$#"3267#"$'&5476$32úŽ|{zy!<›g¬×Ø«gœ;’¥?@hþÕ°{â`±smiùhZ}þÙ˜¹þ¸€€†ˆ~R½Ôk{KOþÂþè£¤ŽŒ¥¤þHMIùÈÈúKLƒý ß±k¼Pƒ‹A@fþµÁŸþêjhmWQoagƒ}}I½¶J}‡® bæ{þùþÐhÕ º@A       B•    ÔÄ91/<äÔì90KSXííííííííY"² ]@:XvpŒ VXP ghxv|rwx‡ˆ€ ˜™–]] !3#!#¼þî%þ{å9Òˆý_ˆÕý®ú+þÉìÕ C@#• •• ­ . !üì2üìÔì9991/ììôìî90²"]!2654&#!2654&#%!2#!“D££þ¼+”‘‘”þ çú€|•¥þðûýèÉý݇‹Œ…fþ>orqp¦À±‰¢ ˘ÈÚsÿã'ð6@ ¡® •¡®•‘Œ 0üì2ì1äôìôìîöî0´].# !267# !2'fç‚ÿþð‚çfjí„þ­þz†S†íbÕ_^þÇþØþÙþÇ^_ÓHHŸghŸGɰÕ.@• •  2 üìôì99991/ìôì0²`]3 !%! )“ô5þáþËþBŸ²–þhþPþa/ûw.,¦þ—þ€þ~þ–É‹Õ .@•••­   üì2ÔÄÄ1/ììôìî0² ]!!!!!!ɰýÇý9øü>ÕªþFªýãªÉ#Õ )@••­ üì2ÔÄ1/ìôìî0² ]!!!!#ÉZýpPý°ÊÕªþHªý7sÿã‹ð9@ ••¡®•‘Œ43 üìüäüÄ1äôìôìþÔî990%!5!# !2.# !26Ãþ¶uþæ þ¢þu‹^’opü‹þîþík¨Õ‘¦ýSU™mn™HF×_`þÎþÑþÒþÎ%É;Õ ,@•­ 8  üì2üì21/<ä2üì0²P ]3!3#!#ÉÊÞÊÊý"ÊÕýœdú+Çý9É“Õ.·¯üK°TX¹@8Yì1/ì0@ 0@P`Ÿ]3#ÉÊÊÕú+ÿ–þf“Õ B@ •° 9 üK°TX¹@8Yìä991äüì990@ 0 @ P ` Ÿ ]3+53265ÉÊÍãM?†nÕú“þòôª–ÂÉjÕ ï@(B¯  üì2ÔÄ91/<ì290KSXííííY"²]@’ ((764GFCUgvwƒˆ”›ç    (+*66650 A@E@@@ b`hgwp ‹‹Ž š¶µÅÅ×Öèéèê÷øù,]q]q3! !#ÉÊžýþöý3ÊÕý‰wýHüãÏý1ÉjÕ%@ •:üìì1/äì0@ 0P€€]3!!ÉÊ×ü_ÕúÕªÉÕ ¿@4  B ¯   >  üìüì91/<Äì290KSXííííY"²p]@V   && & 45 i|{y €‚‚  #,'( 4<VY ej vy •›]]! !###É-}-ÅþËþÄÕüøú+üúáÉ3Õ y@B¯6 üìüì991/<ì2990KSXííY"² ]@068HGif€ FIWXeiy…Š•šŸ ]]!3!#É–ÄþðýjÄÕûáú+áûsÿãÙð #@•• ‘Œ 3üìüì1äôìî0"32' ! 'ÜþýÜÜþÿÜ:xþˆþÆþÅþ‡yLþ¸þåþæþ¸HH¤þ[þžþŸþ[¤bb¥ÉÕ:@••   ? üì2üì91/ôìÔì0@ ?_¯]32654&#%!2+#“þššþ8ÈûþÿûþÊ/ýÏ’‡†’¦ãÛÝâý¨sþøÙð R@*  B ••‘Œ    3üìüì9991Ääôìî990KSXíí9Y""32#'# ! 'ÜþýÜÜþÿ? ôÝ!#þÅþ‡y;:xÑLþ¸þåþæþ¸HHúÏþÝï¥ab¥þ[þžþüþŽÉTÕ±@5  B• •   ?  üì2üÄì99991/<ôìÔì9990KSXíí9Y"²@]@Bz%%%&'&&& 66FFhuuwˆˆ˜˜]]#.+#! 32654&#A{>ÍÙ¿J‹xÜÊÈüƒý‰þ’••’¼~þh–bý‰ÕÖØºOýƒ…‡ÿã¢ð'~@<    B ¡”••”%‘Œ( "-"(ÜÄìüìä99991äôäìîöîÆ90KSXí9í9Y"²)]¶)/)O)].#"!"&'532654&/.54$32HsÌ_¥³w¦zâ×þÝþçjï€{ìr­¼‡š{âÊõiÚ¤Å76€vce+Ù¶Ùà0/ÐEFˆ~n|-À«Æä&ÿúéÕJ@•@@Ôäüä1/ôì20K° TX½@ÿÀ878Y@  @ p Ÿ ]!!#!ïýîËýîÕªúÕ+²ÿã)Õ@@ •Œ  8AüK°TX¹ÿÀ8Yìüì1ä2ôì99990¶Ÿ]332653! ²Ë®Ã®ËþßþæþåþßÕüuðÓÓð‹ü\þÜþÖ*$hÕ·@'B¯ÔÄ91/ì290KSXííííY"²P]@b*GGZ}ƒ *&&))% 833<<7HEEIIGYVfiizvvyyu€˜—)]]!3 3JýÆÓÙÚÒýÇÕûéú+D¦Õ {@I      B ¯    ÔÌ91/<ì2290KSXííííííííY"²]@ò  ($ >>4 0 LMB @ Yjkg ` {|€ –•     !   # $ %  <:5306 9 ? 0FFJ@E@BBB@@ D M @@XVY Pfgab```d d d wv{xwtyywpx  †‡ˆ‰… Š —Ÿ¯[]]3 3 3# #DÌ:9ã:9Íþ‰þþÅþÂþÕûîûîú+úð=;Õ f@  ÔÄÜÄÄ1´€ ]@¯ /<ì20K°BPX@   ìììì@    Y3 3 # #ÙsuÙþ Ùþ\þYÚÕýÕ+ý3üø{ý…ÿüçÕ”@(B¯@@ Ôäüä91/ì290KSXííííY"² ]@<5000F@@@QQQe„“ &)78@ ghxp Ÿ ]]3 3#Ùž›ÙýðËÕýšfüòý9Ç\Õ @B••B ÜK° TK° T[X¹ÿÀ8YÄÔä991/ìôì0KSXííY"@@ )&8HGH    / 59? GJO UYfio wx Ÿ ]]!!!5!s•üPÇû=°ügÕšûoªš‘°þòX;@©²©±CÜK° TX¹@8YK°TK°T[X¹ÿÀ8YüÌ21üìôì0!#3!°¨ððþXùüÿB²Õ-@BŸ/Ä991ôì0KSXííY"#ªªýøÕùm“Çþòo0@©²©±CüK°TK°T[X¹@8Y<Üì1üìôì0!53#5oþXïïøÞÙ¨ÛÕ@ ÜÌ91ôÌ290 # #¼ÉþHþHÉÕýÓ‹þu-ÿìþþ¬µ©ÄÄ1Ôì0!5ûØþ¬ªð‰f1@ ´³DÜì1ôì0K° TK°T[X½ÿÀ@878Y #o™þºfþŠv{ÿã-{ %¼@'  ©¹ †º¹#¸Œ   E&üìÌÔì22991/ÄäôüôìÆîî9990@n0000 0!0"?'@@@@ @!@"PPPP P!P"P'p'…‡‡‡ ‡!…"' 'ð'000 0!@@@ @!PPP P!``` `!ppp p!€€€ €!]]"326=7#5#"&5463!54&#"5>32¾ß¬o™¹¸¸?¼ˆ¬Ëýû§—`¶Te¾Zóð3f{bsÙ´)LýªfaÁ¢½À‹..ª''üºÿ㤠8@¹  ¹Œ¸—G Füì22ôì1/ìäôÄìÆî0¶`€ ]4&#"326>32#"&'#3å§’’§§’’§ýŽ:±{ÌÿÿÌ{±:¹¹/ËççËËççRdaþ¼þøþøþ¼ad¨qÿãç{?@†ˆ† ˆ ¹¹¸Œ HEüä2ì1äôìþôîõî0@ € ].#"3267#"!2çNP³ÆÆ³PNM¥]ýþÖ-U¢5¬++ãÍÍã++ª$$>:#qÿãZ8@¹¹Œ¸—G Eüìôì221/ìäôÄìÄî0¶`€ ]3#5#"3232654&#"¢¸¸:±|ËÿÿË|±ýǧ’’¨¨’’§¶^ùì¨daDDaþËççËËççqÿã{p@$ †ˆ©¹ »¹¸ ŒKEüìôìÄ91äôìäîîôî90@)?p Ðð?????,// , ooooo ]q]!3267# 32.#"ü² Í·jÇbcÐkþôþÇ)ü⸥ˆš¹^Z¾Ç44®*,8 CþÝÄ—´®ž/øY@ ©‡—¼    LüK° TX¹ @8YK°TX¹ ÿÀ8Y<Äü<ÄÄ991/ä2üìî2990¶@P ]#"!!##535463ø°cM/þѹ°°®½™Phcü/ÑN»«qþVZ{ (J@#  †¹¹&#¸'¼ ¹½& G E)üÄìôì221/ÄäìäôÄìþÕî990¶`*€* *]4&#"326!"&'5326=#"3253¢¥•”¥¥”•¥¸þþúa¬QQžRµ´9²|ÎüüÎ|²9¸=ÈÜÜÈÇÜÜëþâþé³,*½¿[cb::bcªºd4@ ‡¸ — N  Füì2ôì1/<ìôÄì90²`]#4&#"#3>32d¸||•¬¹¹B³uÁƤý\žŸž¾¤ý‡ýžedïÁy+@¾±¼Fü<ì21/äüì0@  @ P ` p ]3#3#Á¸¸¸¸`û éÿÛþVy D@ ¾ ‡½¼ ±O  Fü<ì2ä991ìäôìî990@ @P`p]3+532653#Á¸£µF1iL¸¸`ûŒÖÀœa™(麜 ¼@)B¼— F üì2ÔÄ91/<ìä90KSXííííY"² ]@_ ')+Vfgsw‚‰Ž“–—£    ('(++@ h` ‰…‰š—ª§¶ÅÖ÷ð÷ð]q]33 ##º¹%ëý®kðýǹüiãýôý¬#ýÝÁy"·—Füì1/ì0@ @P`pð]3#Á¸¸ùìº{"Z@&  ‡ ¸¼PPF#üì2üüüì91/<<äô<Äì290@0$P$p$$ $ $¿$ß$ÿ$ ]>32#4&#"#4&#"#3>32)EÀ‚¯¾¹ru¦¹rw¦¹¹?°yz«‰|võâý\ž¡œ¾¤ý‡ž¢›¿£ý‡`®gb|ºd{6@ ‡¸ ¼ N  Füì2ôì1/<äôÄì90´`Ï]#4&#"#3>32d¸||•¬¹¹B³uÁƤý\žŸž¾¤ý‡`®edïqÿãu{ J@¹¹ ¸Œ QEüìôì1äôìî0@#?{{   {  { ð]"32654&'2#"s”¬«•“¬¬“ðþîðñþïßçÉÉçèÈÇéœþÈþìþíþÇ98ºþV¤{>@¹¹¸Œ½¼ GFüì22ôì1äääôÄìÄî0@ `€ à]%#3>32#"&4&#"326s¹¹:±{ÌÿÿÌ{±8§’’§§’’§¨ý® ªdaþ¼þøþøþ¼aëËççËËççqþVZ{ >@¹  ¹¸Œ½¼ GEüìôì221äääôÄìÆî0@ `€ à]32654&#"#"3253#/§’’¨¨’’§s:±|ËÿÿË|±:¸¸/ËççËËççý®daDDadªùöºJ{0@  ‡¸ ¼ FüÄì21/äôìÄÔÌ90´PŸ].#"#3>32JI,œ§¹¹:º….´˾ý²`®fcoÿãÇ{'ç@<  S  SB †‰†‰¹¹%¸Œ( R"E(üÄìÔìä99991äôìþõîõî90KSXí9í9Y"²']@m   . , , , ; ; ; ; $( ( *//*(() )!$'† † † †      '/)?)_))€)) )ð)]]q.#"#"&'532654&/.54632‹N¨Z‰‰b”?Ä¥÷ØZÃlfÆa‚Œe«@«˜àÎf´?®((TT@I!*™‰œ¶##¾55YQKP%$•‚ž¬7òž8@©¼‡  Fü<Äü<Ä2991/ìô<Äì2990²¯]!!;#"&5#53w{þ…Ks½½Õ¢‡‡žþÂý ‰NšŸÒ`>®ÿãX`6@ ‡Œ ¼  NFüìôì21/ä2ôÄì90´`Ï]332653#5#"&®¸||•­¸¸C±uÁȺ¦ýaŸŸ¾¤{û ¬fcð=`û@'B¿ÔK° TX¹@8YK°TK°T[X¹ÿÀ8YÄ91/ì290KSXííííY"@ŽHj{†€‘¤  &&)) 55::0FFIIFH@VVYYPffiigh`ut{{uz……‰‰‰†––—š˜˜—¨§°Àßÿ>]]3 3#=Ã^^Ãþ\ú`üT¬û V5` ë@IU U U U   B ¿    ÔK° TK°T[K°T[K°T[K° T[X¹@8YK° TK° T[K°T[X¹ÿÀ8YÌ91/<ì2290KSXííííííííY"@ÿ" 5 IIF @ [[U P nnf yy‡™˜” ¼¼ÎÇÏ         %%#'!%""%' $ ! # 9669 0FHF@B@@@D D D @@VVVPQRRPS T U cdejejjjn a g ouuy}x}zzxy  { v } ‡ˆ——”“œ›˜˜™@/– Ÿ¦¦¤¤««©©«¤ ¯µ±½»¸ ¿ÄÃÌÊy]]333# #V¸æåÙæå¸þÛÙñòÙ`ü–jü–jû –üj;y` C@F      B ¿  ÔK° TK°T[K°T[K°T[X¹@8YK°TX¹ÿÀ8YÄÔÄ91/<ì290KSXííííííííY"@˜   & =1 UWX f vzvt ‚ ™Ÿ—’ ¦©¯¥£       )&% * :9746 9 0 IFE J @ YVYYWVYVV Y P o x ›”«¤° Ï ß ÿ /]] # # 3 dþkªÙþºþºÙ³þrÙ))`ýßýÁ¸þHJþq=þV`‹@C        B  ‡½ ¼  ÔK° TK°T[X¹ @8YK°TX¹ ÿÀ8YÄÄ91ä2ôì9990KSXíííííí2Y"@ð     # 5 I O N Z Z j ‡ € “        '$$  )( % $ $ ' ** 755008 6 6 8 990A@@@@@@@@B E G II@TQQUPPVUVW W U U YYPffh ii`{xx‰Š … … ‰ ‰‰™ • • šš¤ ¤ ««°Ïßÿe]]+5326?3 3“N”|“lLT3!þ;Ã^^ÃhÈzšH†TNü”lXÛ` @B©¼© ÜK° TK° T[X¹ÿÀ8YK°TX¹@8YÄ2Ä991/ìôì0KSXííY"@B&GI  + 690 @@E@@CWY_ ``f``b € ¯ ]]!!!5!qjýL´ü}´ýe`¨üÛ“¨%þ²$w@4 %   ! © ©À ©±% $  C %ÔK° TX¹@8Y<Äü<Ä299999991üìÄôìî99999990²&]#"&=4&+5326=46;#"3>ù©lŽ==k©ù>DV[noZV¾”Ýï—ts•ðÝ“XøŽŽœøXþ®·±Ôì1üÌ0#®ªøþ²$‡@6%   ©©#À©±%#C %ÔK° TX¹ÿÀ8YK°TX¹@8Y<Ä2ü<Ä99999991üìÄôìî99999990²&]326=467.=4&+532;#"+FŒUZooZUŒF?ù§lŽ>>Žl§ù?¾VøœŽŽøŽW“Ýð•st—ïÝ”ÙÓÛ1#@ œœ ÔÄ1ÔüÔìÀ990#"'&'&'&#"5>32326Ûi³an’ ›^X¬bi³an“ ›^V©1²OD;>MS²OE<>L5Õ b@ƒ ü<ì2991/ôüÌ0K° TX½ @ ÿÀ878YK°TK°T[K°T[X½ ÿÀ @878Y¶ P ]#53#3ËËË¢×þú+eþ›¬þÇ#˜!Q@+  †ˆ †ˆ ¹ ¹¸Œ"  "ÜìÔ<Ô<<ì221äô<ÄìÄþôîõî9990%.'>7#&73¦“¤¤JˆDF‰HA‰Mfñþ÷ ñfI‰ƒX⸹⡬)*ü *'ª#þä 32þá!bð`@!† ©  ”‘   Ü<ÌÌü<ÄÔÄ1/ì2ôäìÔ<î2î990K° TX½ÿÀ@878Y´66].#"!!!!53#535632NLˆ=”t‡þy-üìÇÇÖè=—´¶))›Ô×þ/ªªÑîó^R¼²#/ƒ@I -'! - -¹ëì'¹ë!0 *$0* $ $(st*(s0Üäìôäì9999999991ÔäìôäìÀ9999999907'#"&''7.5467'7>324&#"326{ÏrÎ%$&(ÑrÏ;t=:x=ÏqÏ%%&&ÏsÏ7t@?s9ÏqÏ(&%%ÏsÎ>v:@t8ÎsÏ'%$þ|pššprœRÃÕÆ@F  B Ó Ó   fe f eÔ<ì2ìüì2ì99991/ä2Ô<ì2Ô<ì290KSXííííY"K° TX½ÿÀ@878Y@(†¦ µ' ' ')((79‡ ˆ¦ ¥ª©]]!#!5!5'!5!3 3!!!þcÉþ` Tþ´þþ{y¿þÂþµTŸÇþ9Ç{3›{JýD¼ý¶{›3þ¢®˜@ õõÜ<ì21ÔìÔì0##®ªªª˜ý öý ö\ÿ=¢ð >‘@54&.#"#"&'532654/.5467.54632{?>‹ú?>ÌS8alÎÓƒ\]>9Ì­IšXW”:fqÝÖ€][;;ȦI™¨.Z.L…‡-[.Kˆ“¤''PGZswšeZŒ54m@ލ¤''TLf{x™f[1,pE‚Ÿ×F)’@ÎÍddÜüÔì1ü<ì20K° TK° T[X½@ÿÀ878YK° TK° T[K°T[K°T[X½ÿÀ@878YK°TK°T[X½@ÿÀ878Y@````pppp]3#%3#^ËËþyËËÊÊÊåÍ/IC@&=Ë>:ÌAÊ$1Ë04ÌGÊÉÈ$É 7aD=0^* D^ JÜÌüìþí2î1/îöþýîÖîýîÖî02#"$'&5476$"3267>54&'..#"3267#"&54632˜mmllmmþù˜˜þùmmllmm˜ƒâ^^``^^⃄ã^]]^\^ã§B‚B•§«›@zBC‰FØûûØIˆÍnmmþúš˜þûmmnnmm˜šmmng^^^å‚ã^^__^]⃅ã]^^õ! ¯Ÿ®"ôÐÑòsÕ;ð)_@3(%ãÝá%Ý ßÞÝ à‘* "(kl"k *ÜìÌüì22ÀÀ9991ôäüôìÄîíÖîî99990!!#5#"&546;54&#"5>32"326=‹°ýP®•,]€˜¿¼¶uu>ˆDI‘E·³þì¡~bRh‚P{¸þ@p?D‡q‡Š[[""°ðCO@Mrž%# †@Ièèèè è è è  è B  ç¦ o o nüü<Ôì2991ô<ì2990KSXííííííííY" 5 5%þÓ-þ+#þÓ-þ+#¿þôþô¿¢R¢¿þôþô¿¢RÙÛ^@ œÜÔì1ÔÄì0!#!Ù¨û¦^ýÁ•d߃¶œÜÌ1Ôì0!!dý僤åÍ/8L`@6EBC?2ÉH0É9JCÊ 9ÊÉÈ É$HE301B54&'.'2#"$'&5476$#32654&'2#'.+#ƒâ^^``^^⃄ã^]]^\^ㄘmmllmmþù˜˜þùmmllmm}{{nWXf°®i`C.‰¬;I6B›f^^^å‚ã^^__^]⃅ã]^^gnmmþúš˜þûmmnnmm˜šmmnþbþì>KL?gwyVpMIßÑ`3þœDÕb+ö/·ïîÔÌ1üì0K° TK°T[X½ÿÀ@878Y!!ÕVýªö”Ãu=ð  @ÃÄà ‘ Z[ZÜìüì1ôìüì0"32654&'2#"&546PnnPPnoO@v+..¹†‡´¸ooPOmmOOp1.-rB„·´‡†ºÙÛ .@МР œ   Ô<ì2ü<ì21/ìÔ<ìü<ì0!!#!5!!!®-ýÓ¨ýÓ-ýÓúþþ}ªþ}ƒªƒû¦ª^œ´ðJ@$}}BÝÝ÷ Ý‘~ÜÄÔÄì91ôÄìüìî90KSXí2íY"!!56754&#"5>32 ¨ýª"?XhU4zHM…9‘®þµ8rn81^BQ##{„l‹þä0bÍð(H@' Ý Ý Ý Ý ø÷Ý ø#‘)~&~ )ÜÄÄÔìÔì9991ôäìüäìÔìîî90#"&'532654&+532654&#"5>32 \e¾±9}F4wCmxolV^^ad_(fQI€7©Z`mR|†yOFJLl?<:=svcE`sîRf1@ ´³DÔì1ôì0K° TK°T[X½ÿÀ@878Y3#‹Çþº™fþˆ®þVå` M@% ‡Œ ¼½!   NF!üì2ôìÄ91ää2ô<ìÜÄ990¶"`"Ï"]3326533267#"&'#"&'®¸Š‡”•¸#% )I#ER2‘bf*þV ýH‘”¨¨ü¢<9 ”NPOONNýמÿ;9Õ %@Á]] ÔÔüÜì91Ä2ôì90!###.54$yÀ¾Ž×ëÕùfùáNݸ¾èÛH®F·ƒÔì1Ôì03#ÛÓÓFþ#þuÁ@  ó' ÜÔìÔÌ1/ÔüÄ90!#"&'532654&'T76xv.W+"J/;<+->i0Y[ ƒ0.W=‰œÅß ,@Ý ÝÝ ÷‘ |]|| Üôäüä1ôììÔìî2035733!œÌßæ‰Íý× c)t'ý+n`Õdð.@ãáÝ àÝ‘ klk Üìüì991ôìôìüì0!!2#"&546"32654&‹°ýPX³Îγ³Ðгi~hi}|P{Ý¿¿Ûܾ¿Ýs¡ˆ…  …‰ ÁH# †@I è è è è èèèèB  ç¦ o opü<üÔ<ì991ô<ì2990KSXííííííííY"5 %5 ÁÕþ+-þÓ²Õþ+-þÓ#þ^Rþ^¿  ¿þ^Rþ^¿  ÿÿ‰ÿãð'%‹ýd&{ )5ÿÿ‰ÿã?ð&{' )5t‹ýdÿÿbÿãð'%‹ýd&u )5ÿã¬Õ $†@/ †ˆ !ƒ# •Œ#%" " "!& %ÜìÔüìÔì99991äôìþÍôî9990K°TK°T[K°T[X½%ÿÀ%%@878Y@ ttttv]33267#"&546?>7>5#53ô¾7ZZ:3ƒmN´`^Àg¸àIYX0&ÄÊÊDœe‚WX5^1YnFC¼98ŸL‰VV/5<6þÿÿhk&$h¼uÿÿhk&$f¼uÿÿhm&$i¼u´  +@ ]1ÿÿh^&$g¼u´ #+@ @O# /#]1ÿÿhN&$e¼u´  +@ 0?  ]1hm !Ë@T   !!  ! !!!B  Á • Ž  !  VV!"ÔÄÔì2Ôî299999991/<æÖîÔî9990KSXííííííííY"² #]@  s › P#f iu {yyv v!€# ]]4&#"326!.54632#!#TY?@WX??Y˜þð!þX=>Ÿsr¡?<Òˆý_ˆÕZ?YWA?XXþóýN)sIs ¡rFv)ú‹þHÕ‡@9  B• ••••­    ÔÔ<ì2ÔÄÄ91/<ììÄôììîî0KSXííííY"²€]@gww† …– ¿ ]!!!!!!#!5ýÇý9øü=ýð Íq‹þ¶ËÕªþFªýãªþÕžüðÿÿsþu'ð&&z-ÿÿÉ‹k&(hžuÿÿÉ‹k&(fžuÿÿÉ‹m&(ižu@@ ]1ÿÿÉ‹N&(ežu @@ @]1ÿÿ;ºk&,h/uÿÿ¢k&,f/uÿÿÿþ`m&,i/u´ +1ÿÿXN&,e/u´ +1 ºÕ g@  © ••  2  yô<ì2ÄôìÄ91/Æ2îöîî20@( °Ÿ Ÿ Ÿ Ÿ ŸŸŸŸ¿ ¿ ¿ ¿ ¿¿¿¿]]! )#53!!3 !Ó ±–þiþPþ`ÉÉËPþ°ó5þáþËÕþ—þ€þ~þ–¼ãþýê.,ÿÿÉ3^&1gþu´"+@ 0?""]1ÿÿsÿãÙk&2h'uÿÿsÿãÙk&2f'uÿÿsÿãÙm&2i'u´+@]1ÿÿsÿãÙ^&2g'u´!0 +@ 0!?0 !/0!0]1ÿÿsÿãÙN&2e'u´ +@ @O]1?œÅ …@M œ  œœœœœ œ œ B   Ô<Ì291Ô<Ì290KSXííííííííY"  ' 7 œþ7Éwþ5þ5vÈþ8vËËLþ5þ7yËþ5yÉËyþ5Ëfÿºå +ž@< +,  )&  *&•& •‘&Œ,+,* # )#3,üìüìÀ999999991äôìîÀÀ99999990@*WZWU!je!{vu! FYVjddj(|svz( ]] 324&'.#"&5!27!"&''¶ý3>¡_Ü'y=¡_Üþý''†NOy;‚ÝW¢fªNPþˆþÆ€Ý[¢gXü²@CHp¸¸@Cþ¸þåp¼Džf b¥MK¿YÆgþöžþŸþ[KK¿Xÿÿ²ÿã)k&8hîuÿÿ²ÿã)k&8fîuÿÿ²ÿã)m&8iîu´ +@ / ]1ÿÿ²ÿã)N&8eîu´ +@P_@O /]1ÿÿÿüçk&<fsuÉÕ =@• •ö  ? üì22üì91/ôüìÔì0@ ?_]332+#32654&#ÉÊþûþÿûþÊÊþš™ŽÕþøáÜÜâþ®'ýÑ’††‘ºÿã¬/š@0-'!  *†¹*¹—Œ.  !' $'$-F0üÄüÌÆîÔîî99991/äþîþÕî990@@'(Š Š     ! "&  : :!MM I!I"jj ¥¥¦ ]]4632#"&'532654&/.5467.#"#ºïÚÐÛ—¨:A9¦`áÓ@ˆIPŒAtx;e\`W§—ƒq‚ˆ»qÈÛèàs`/Q*%jŽd¬·¤_[?T>7;‡[¬gp‹ƒû“ÿÿ{ÿã-f&DCR @?&/&&]1ÿÿ{ÿã-f&DvR @?&/&&]1ÿÿ{ÿã-f&DƒR´ (,+1ÿÿ{ÿã-7&D™R´.< +@ ./<.<]1ÿÿ{ÿã-&DjR ´-( +@(o(P-_(@-O(0-?(-( ]1ÿÿ{ÿã-&D—R%@&,,& 2882 +Ä+Ä1@ ?5?/5/]0{ÿão{3>@C'-%= 4©%†ˆ©:¹.†-º*¹»1 ¸Œ%?47&%7& =&-7"E?üìÌÔü<ÔìÄ999991Ää2ô<Ääü<ôìÄî2îôîî9990@0+0,0-0.0/00@+@,@-@.@/@0P+P,P-P.P/P0…+…0€@@ @°@À@Ð@à@à@ð@??? ??0,0-0.0/@,@-@.@/P,P-P.P/ooo oo`,`-`.`/p,p-p.p/€,€-€.€/]q].#">32!3267#"&'#"&5463!54&#"5>32"326=¶¥‰™¹DJÔ„âü² Ì·hÈddÐj§øMIؽÒýû§—`¶Te¾ZŽÕï߬o™¹”—´®ž0Z^þÝúZ¿È55®*,ywxx»¨½À‹..ª''`þf{bsÙ´)ÿÿqþuç{&Fzÿÿqÿãf&HC‹ÿÿqÿãf&Hv‹ÿÿqÿãf&Hƒ‹´"+1ÿÿqÿã&Hj‹@@ ]1ÿÿÿǦf&óCÿÿÿof&óvÿÿÿÿÞ\f&óƒÿ´ +1ÿÿÿôF&ójÿ´ +1qÿãu('@^%{&%#${##{#({'(#&'('%$%(('"#" ! B('&%"! ##¹ ¹Œ#±)&' ! (%#" QE)üìôì99999991ìÄôìî9990KSXÉÉÉÉííííY"²?*]@v%+("/#/$)%-&-'*(6%F%X X!` `!f"u u!u"%#%$&&&''(6$6%F$E%Z Z!b b!z{     {zzv v!x" *ð*']].#"32654&#"432''%'3%F2X)§¹®’‘®6 ~rþäæçþåÝ4*ŸþÁ!µäM!þÙ“ØÃ¼ÞÞ¼z¼&þà­ÿþÉ7ÿú7´kc\Ì‘oabÿÿºd7&Q™˜ÿÿqÿãuf&RCsÿÿqÿãuf&Rvsÿÿqÿãuf&Rƒs´+1ÿÿqÿãu7&R™s´ .+@ /. .]1ÿÿqÿãu&Rjs´ +@ @O0?]1Ù–Ûo )@êêœ r ÜÔ<ü<Ä1ÔÄüÄîî03#3#!!ßööööýúúþoöþõAªHÿ¢œ¼ +ä@<+,&  )&  *&¹& ¹¸&Œ,+,* # #Q)E,üì2ôì2À9999991äôìîÀÀ99999990@p(?-YVUV jf!{    { z{ {!"#$%{&›•%¨ -ð-&YVUZ(ifej(ztvz(‰•š$¢­$]] 32654&'.#".5327#"&''‰þ)gA“¬\*g>—©}66ñ]ŸC‹_’56þîð`¡?‹`!ý°*(èÈOuš))ëÓHn.—MÅw834¨O³MÆxþíþÇ43¨Nÿÿ®ÿãXf&XC{ÿÿ®ÿãXf&Xv{ÿÿ®ÿãXf&Xƒ{´ +1ÿÿ®ÿãX&Xj{´ +@ @O0?]1ÿÿ=þVf&\v^ºþV¤>@¹¹Œ¸½— GFüì22ôì1ìääôÄìÆî0@ `€ à]%#3>32#"&4&#"326s¹¹:±{ÌÿÿÌ{±8§’’§§’’§¨ý®¾ý¢daþ¼þøþøþ¼aëËççËËççÿÿ=þV&\j^´+@ 0? /]1ÿÿh1'q¼;$´ +@@O]1ÿÿ{ÿã-ö&qJD´+@o]1ÿÿh’'•ÎJ$´+1@oo]0ÿÿ{ÿã-&•O×D´"+1ÿÿþu¥Õ'˜ä$ÿÿ{þu€{'˜¿Dÿÿsÿã'k&&f-uÿÿqÿãçf&Fv‰ÿÿsÿã'm'iLu& ²<=/1ÿÿqÿãçf'ƒ¤Fÿÿsÿã'P'mLu&ÿÿqÿãç'–¤Fÿÿsÿã'm&&j-u@]1ÿÿqÿãçf&F„‰ÿÿɰ&'jì‰ÿÿqÿãÛ&Gd @_?]1ÿÿ ºÕ’qÿãô$J@$Ó ù"¹¹ Œ¸—   GE%üìô<Äü<Ä1/ìäôÄìÄîý<î20¶`&€& &]!5!533##5#"3232654&#"¢þºF¸šš¸:±|ËÿÿË|±ýǧ’’¨¨’’§¶N}““}úü¨daDDaþËççËËççÿÿÉ‹3'q¡=(ÿÿqÿãö'q–H@p]1ÿÿÉ‹m'l¡u(@@]1ÿÿqÿãH'•–H@p]1ÿÿÉ‹P'm¡u(ÿÿqÿã'––HÿÿÉþuÕ'˜Ì(ÿÿqþu{'˜xHÿÿÉ‹g&(j¦o@@ ]1ÿÿqÿãa&H„”ÿû´!+@!]1ÿÿsÿã‹m'i\u* ²<=/1ÿÿqþVZf&ƒhJ ² <=/1ÿÿsÿã‹m&*luÿÿqþVZH&J•‹ÿÿsÿã‹P'm\u*@?]0ÿÿqþVZ&–hJÿÿsþ‹ð'Ò^ÿí*ÿÿqþVZ4'¾à JÿÿÉ;m'iu+´ +@ / ]1ÿÿÿådm'iuK*´+1K°QX»ÿÀÿÀ88Y@ €€@@]É‹Õ:@•  •­  8 Üì22Ìüì22Ì1/<ä2üìÜ22ì2203!533##!##53!5qÊÞʨ¨Êý"ʨ¨ÊÞÕààà¤û¯Çý9Q¤¤ààxŸ>@! ‡ ‡¸— N  Ü2ì22ÌÌôì1/<ìôÄìÜ2ì290#4&#"##5353!!>32Ÿ¸||•¬¹}}¹`þ B³uÁƤý\žŸž¾¤ý‡ö¤zz¤þ¼edïÿÿÿäx^'g.u,´ +1ÿÿÿÓg7'™ÿó´+1ÿÿY1'qÿ.;,´+1ÿÿÿòHõ'qÿÿÿó´+1ÿÿÿõgm'l.u,´+1ÿÿÿäVH'•ÿó´+1ÿÿ°þu%Õ'˜ÿd,ÿÿ–þu '˜ÿJLÿÿÉ•P&,m/u³<<1´??]0Áy` ·¿Füì1/ì0@ @P`p]3#Á¸¸`û ÿÿÉþfïÕ'-\,@ì1ÿÿÁþV±'M8L@Fì1ÿÿÿ–þf_m'i.u-´+1ÿÿÿÛþV\f'ƒÿù´+1ÿÿÉþjÕ'Ò .ÿÿºþœ'Ò¬ Nºœ` »@(B¼ F üì2ÔÄ91/<ì290KSXííííY"² ]@_ ')+Vfgsw‚‰Ž“–—£    ('(++@ h` ‰…‰š—ª§¶ÅÖ÷ð÷ð]q]33 ##º¹%ëý®kðýǹ`þåýòý®!ýßÿÿÉjl'fnv/ÿÿÁJl'fZvO±<1K°QX¹@8Y@ŸO]0ÿÿÉþjÕ'Ò› /ÿÿˆþ®'Ò O@@]1ÿÿÉjÕ'dŸÿÃ/ÿÿÁ'd9O @]1ÿÿÉjÕ'y1w/ÿÿÁ„'yÖsOK° QK°SK°QZ[X¹@8Y1ÿòuÕ ?@ •  : yô<ìÄü<Ä991/äì90´0P]3%!!'7ÓË9Pþw×ü^”MáÕý˜Ûoþîýãª;jnžH ^@ — z z Ô<äü<ä991/ì90K°TX½ @ ÿÀ878Y@ @ P ` sz p à ð ]37#'7Ǹ}Lɸ{JÅý¦ZjüãšXjÿÿÉ3l'fÅv1@O]1ÿÿºdm&vBQ @?O]1ÿÿÉþ3Õ'Ò 1ÿÿºþd{'Ò QÿÿÉ3_&1jõg´ +@ /  ]1ÿÿºdf&Q„´ +@]1ÿÿ͹Õ'QUyÕþV'ÕJ@!B • ¯ 6Üìüì99Ì1/<ì299Üì0KSXííY"²]33+532765#Õ¸â¸RQµþéi&&ý¸Õûƒ}úÖ``œ01­}ûƒºþVd{;@ ‡‡¸¼ NF üì2ôìÄ1/äôÄìÔì90´`!Ï!]+5327654&#"#367632dRQµþéi&&||•¬¹¹BYZuÁcc¤ýHÖ``œ01™²Ÿž¾¤ý‡`®e22wxÿÿsÿãÙ1'q';2´ +@]1ÿÿqÿãuõ&qsÿR´+1ÿÿsÿãÙm'l'u2´+@]1ÿÿqÿãuH&•sR´#+1ÿÿsÿãÙk'n'u2ÿÿqÿãuf'š Rs Õ;@•••­   üìÔÄÄÔì299991/ìì2ôì2î0!!!!! !# !3úýÇý9øû×þOþA¿±gþ¿þÀ@AÕªþFªýãª|pm|ªþáþàþßþßqÿãÃ{'3„@1†ˆ ©. ¹(¹»"%¸Œ4"1 K1 Q+E4üìôüôìÄ9991ä2ô<Ääì2Äî2îôî90@%?5_5p5Ÿ5Ï5Ð5ð5????? ooooo ]q].#"!3267#"&'#"32>32%"32654& ¤‰™¹Hü² Ì·jÈbdÐj òQGÑŒñþïñŒÓBNèâú°”¬«•“¬¬”˜³®ž5Z¾Ç44®*,nmnm98olkpþ݇çÉÉçèÈÇéÿÿÉTl'f•v5ÿÿº•m&vBUÿÿÉþTÕ'Ò 5ÿÿ‚þJ{'Ò UÿÿÉT_&5j}g@_]0ÿÿºZf&U„´ +@]1ÿÿ‡ÿã¢l'f•v6ÿÿoÿãÇm&vBVÿÿ‡ÿã¢m'i“u6 ´ ))Ic:1ÿÿoÿãÇf&ƒ%V ´ ))Ic:1ÿÿ‡þu¢ð&6z‹ÿÿoþuÇ{&Vzÿÿ‡ÿã¢m&6j‹u ´+ ""Ic:1ÿÿoÿãÇf&V„ ´+ ""Ic:1ÿÿÿúþuéÕ&zP7ÿÿ7þuòž&záWÿÿÿúé_&7jsg´ +1@_]0ÿÿ7þ‚&Wd7p@]1ÿúéÕF@ • • @ @ Ô<äÌü<äÌ1/ôì2Ô<ì20@@pŸ ]!!!!#!5!!ïýî þ÷Ëþ÷ ýîÕªýÀªý¿Aª@7òžC@©©¼ ‡ Fü<<Ä2ü<<ÄÄ2991/ìô<Äü<Ü<ì20²¯]!!3#;#"'&=#535#53w{þ…¾¾%&s½½ÕQQ‡‡‡‡žþÂéŽé‰''šPOÒéŽé>ÿÿ²ÿã)^'gîu8´ '+@ ]1ÿÿ®ÿãX7'™ƒX´&+1ÿÿ²ÿã)1'qî;8´ +@ / ]1ÿÿ®ÿãXõ'qƒÿÿX´+1ÿÿ²ÿã)m'lîu8´+@]1ÿÿ®ÿãXH'•ƒX´+1ÿÿ²ÿã)K&8—ðE @@@]1ÿÿ®ÿãXÊ&X—|Ä @@@ ]1ÿÿ²ÿã)k'nîu8ÿÿ®ÿã^f'š°Xÿÿ²þe)Õ&8˜úÿðÿÿ®þuè`&X˜'ÿÿD¦t'iõ|:´+1ÿÿV5m'ƒEZ´+1ÿÿÿüçt'ir|<´ +1ÿÿ=þVm&ƒ^\´+1ÿÿÿüçN&<esu´ +1ÿÿ\l'f•v=ÿÿXÛm&vB]ÿÿ\='m¨b=ÿÿXÛ&–]ÿÿ\m&=j¾uÿÿXÛf&]„´ +@ ]1/ø#@ ‡ —©¼ Lü<ÌüÌ1/ôìôì0!##53546;#"˜¹°°®½®°c'&ÑN»«™()g ÿã¤,D@%¹ ¹ Œ¸")%©,$'—".EG* ,(%#'F-ü<Ìì222Ìôìì1/ôÜ<ì2äôÄìÆî04'&#"327667632#"'&'##5353!!åST’’TSST’’TSýŽ:YX{Ì€€Ì{XY:¹šš¹Eþ»/ËtsstËËtsstRd01¢¢þøþø¢¢10d¨}““}ÿ—PÕ)C@#• •• ­ . *üì2üìÔì9991/ììôìî90²"]!2654&#!2654&#%!2#!"#546÷D££þ¼+”‘‘”þ çú€|•¥þðûýè„vœÀÉý݇‹Œ…fþ>orqp¦À±‰¢ ˘ÈÚ0_i1Fµ£ÿÿÉìÕ“ºÿã¤&8@¹#¹ Œ¸©—(EGF'üì22ôìÄì1/ôìäôÄìÆî067632#"'&'#!%4'&#"3276s:YX{Ì€€Ì{XY:¹NýkrST’’TSST’’TS¶d01¢¢þøþø¢¢10d¨¦üÀËtsstËËtsstìÕ 3@  . /Üì2üìÄÌ1@ • ­ •/ìäôì³ 9/04'&#!!276!2#!#ON£þ¼D£NOý|NûþðûýèÉ8·‹DCýÝDC¨ýšÚÞÝÚD‘ÿã¤>@  G /Üì22ôìÄÌ1@¹¸ ¹ Œ—/äôìÄôìij9/0>32#"&'##34&#"326s:±{ÌÿÿÌ{±:¹º"Qr§’’§§’’§¶daþ¼þøþøþ¼ad¨DÑüËççËËççsÿã'ð0@†ˆ•‘ † ˆ• Œ0 Ü<ôìì1ôìôìôìôì0>3 !"&'53 !"shí†S†þzþ­„íjfç‚þðÿ‚çfbGGþaþ˜þ™þaHHÓ_^9'(9^_sÿãZd+676;#"&'&# !2767# '&76!2aSfãM?†nfst‚ÿˆˆˆˆ‚tsfjwv„þ­ÃÃÃÃS†v ÅÃbzª–ÂÕ_//œþØþÙœ//_ÓH$$ÏÐghÏÐ$qÿãÍË(676;#"&'&#"32767#"76!21 FRµF1i&&NONP³cccc³PNONMRS]ýþÖ—–Ho©S`œ10™¬+qrþfrq+ª$>ÿÿ ºÕ’ÿ—Õ.@• •  2 üìôì99991/ìôì0²`]3 !%! )"#546÷ô5þáþËþBŸ²–þhþPþa„vœÀ/ûw.,¦þ—þ€þ~þ–0_i1Fµ£ÉìÕ.@  .üìôì2ÄÄ1@ • •­• /ìôìôì0)!"!!"$54$3!!ž@Dþ¼£NýèûþðûNý|·þï#‡“ú+ÚÞÝÚÀqÿãZ!5!#5#"'&7632 76'& ¢ýkM¸:XY{Ì€€Ì{YXýÈTS$STTSþÜS¶¹¦ùì¨d01¢¢¢¢10þàþjtsst–tssqþVuc-3254%&'&7632!"'67654'&#"úfïýþøÐuމ‰ð‰5KœþGÝxèD7VUV•“¬[a~@ËFu\0%p‡ œœþíÌ¥@$OþðFØIqÌËrsè¾Ç`g ƒEÕ +@    ÜÄÄÔì2Ä1@ • •­•/ìôìôì0!5!!5!!5Eü>øý9ÇýÕú+ªªºªuÿãÙðD@&¡®•••­• ‘Œ3üÄìôì91äôìôäîîôî90!!"56$3 ! 7327uþíþî‹üpo’^‹þˆþÆþ·þ—Ü ÿÊÊÿ   2`_×FHþgþ’þŸþ[·ÌÃþääÿã{ð(@@$ † ˆ •‘)•­)† ˆ•#Œ)* &)üìÔìÔÄÄÌ1ôìôìôì9ôìôì0.54$32.#";#"3267# $546؃Ž æYÉsr¾S˜£ž•¶®¥¹Ç¾mÈTjÇ^þèþУ%!«|²Ñ ´&${spw¦•„–21Ã%%òÝÄÿ–þf#ÕA@ • °••­ üì2ÔÄÄ991ìôìîôì990² ]!!!!+53265ÉZýpPý°ÍãM?†nÕªþHªýŸþòôª–ÂÿþVøe@# ‡ ½©‡—¼ LüK° TX¹@8YK°TX¹ÿÀ8Y<Äü<ÄÄ991ä2üìî299ôì990¶@P ]#"!!+53265#535463ø°cM/þÑ®½®°cM°°®½™Phcû뻫™Ph*N»«sÿã—d&F@'•'$•$•¡•‘Œ'43! F'üìüôìüÄÄ1äôüôÌþÔî99Üì0%!5!# !246;#".# !26Ãþ¶uþæ þ¢þu‹^[£DÉãM?†npü‹þîþík¨Õ‘¦ýSU™mn™¼êª–Â×_`þÎþÑþÒþÎ%þRvÕ%•@ 'P $&ÔÔìÔìÔ]ĵ 91@ •½%$&ä222ôì³990@ #%$$ì<ì<¶$ì¶#$ì´%#@$"! #9927654'&'3#"'&547673¿6,3,,3,6ÙÞýºhC.Kd››dK.ChýºÞþý B9Iy\\yI9B z^ûÏÈ®wB‹AWWA‹Bw®È1ºGE4'&#"#34632;2?53?537535735?654'&'!#'&5dccÁuZYB¹¹¬•||QRµFáŽ#B68rþ¾.LM7BXX3g(&¤èxw22ebùìy¤¾žœþõÖ``’*/w¡ˆnqd ,-H$d’žba21™ÉÆÕ .@ • üK°TX¹@8YìÄ991/äì9903;#"&ÉÊn†?MãÍÕü-–ªô RÕ E@ •¯  ü<ÄK°TX»@@88Yì2Ä1/ìÜ<ô20@ 0 @ P ` Ÿ ]33###53ÉÊ¿¿Ê¿¿Õýªý¿AªÉÝÞ67'&#3!P>:¬ií`L5GýËÊÊÍ üæþ;!t°H'Cýìwú+Ïý1¹œÁ@,     B •— ¼  Füì2ÔÄ9Ä1/<äüä90KSXííííY"² ]@_  ' ) +V f gs w ‚ ‰ Ž“ – —£  ( ' ( ++@h `‰ … ‰ š —ª § ¶ÅÖ÷ ð ÷ ð ]q]46;#"3 ##¹£µ¿¨iL%ëý®kðýǹ~ÖÀœa™ýÿãýôý¬#ýÝ * 2@F ü<ì21@ ©—/ìÔ<ì20@  @ P ` p ð ]33###53Á¸±±¸··ý8ýD¼=3''%'3%# =ëGþÔ!)KÈ4:!þÉíÃþÆþ~2¼eccÅŠhahú×<üIJÿã'Õ'%#"'&5332653327653#5#"'&¦EÀ‚¯__Ë'9u¦Ë99w{SSËË?°yzVUÕ|v{zâûïº5N¾¤ìûï¢NM_`£ìú)®gb>>ÿ–þf3ÕŒ@)B • °¯6  9üìä99üì991/ì299üì990KSXííY"² ]@068HGif€ FIWXeiy…Š•šŸ]]!3!+53265É–ÄþðýjÍãG?†nÕûáú+áû‡þòôª–ÂÿÿºþVd{:sÿãÙð /@ 3üì2ôì21@• •­ •‘ Œäôìôäì0! ! "!&327sy;:xþˆþÆþÅþ‡´èïºïýB ÿÊÊÿ éb¥þ[þžþŸþ[¤Åþ¬ììTýÃþäÃÿÿgÿãÃð&2ôÇH ÿÿvÿãÓë'ÇX RsÿãÏð #"327&4&#! '&76!2!2'Ü‚‚ܯ€Š9nz¼þÆþż½½¼;pa'ãfgL¤¤þåþ椤¤}¤ú´Ó–û‹ÓÒÒÄÓÒzzþòü-qþVY{ #& 7&4'&##"'&763232s“WVUV*,,™&&i‰ðñˆ‰‰ˆñdRصRQßutþntsY¨_úwt™10ü¼œœœ``ÖûŒÿ—ñÕ:@••   ? üì2üì91/ôìÔì0@ ?_¯]32654&#%!2+#"#546÷þššþ8ÈûþÿûþÊ„vœÀ/ýÏ’‡†’¦ãÛÝâý¨0_i1Fµ£¸þV¤$O@$#¹¹¸Œ½% ©—%G  F%üì22Ì99ôì1ôì99ääôÄìÄî0@ `'€' 'à']%#46;#">32#"&4&#"326s¹£µþçiL:±{ÌÿÿÌ{±8§’’§§’’§¨ý®(ÖÀœa™Èdaþ¼þøþøþ¼aëËççËËççÉþV¦Õ(332;#"'&'&+#326'&+ÉÊþû€e² 6'*L;bGJN™.wÊÆšLMŽþÕþøqpþHqYþ’ˆ"$š=?Æ…5þ®ø’ HIýÑEÿã`ð.>323267# '&5476?67654'&#"ŸrÚiõ‹ŒÊâ{šCD¼­rì{€xwjþç’‘klâz¦<;YZ¥_Ìs¤&&rrÆ«À->>n~ˆFEÐ/ppÙ¶lm+23cv@@67dÿã¼{'Ï@  !! RE(üäìÔìÄ99991@ †'‰$†‰¹$¹¸Œ(äôìþõîõî90@S !S BKSXí9í9Y"²]@/)?)_))€)) )ð)]@% '$&((*//*( ( ))$††††]@.,,,;;;; q>323267#"&546?>54&#" L´fÎà˜«@«eŒ‚aÆflÃZØ÷¥Ä?”b‰‰Z¨N?¬ž‚•$%PKQY55¾##¶œ‰™*!I@TT((ÿÿÉ‹Õ&þòþV×!&'&#"3;#"'&5# 54!23´!n|wx'%d°®ÃQW¾þò/µR5¿-0A3šû=g)(™V\´®ÒØ`@o›7þVòž !!;+53276=#"'&5#53w{þ…%&s½¤´F0j&&ÕQQ‡‡žþÂý ‰''®ÖÀœ01™POÒ`>éÕX@ •@  ÔÔìüä991/ôì2Ä990K° TX½@ÿÀ878Y@@pŸ ]!!##"#546®;ýîË^„vœÀÕªúÕ+Zi1Fµ£7òI@  Fü<Äü<Ä2291@‡— ©¼‡ /ìô<ì299ôì990²¯]!!;#"&5#53546;#"w{þ…Ks½½Õ¢‡‡®½®°cMÃcý ‰NšŸÒ`N»«™QÿúþféÕT@• ½•@@ ÔäüäÄ1ôì2ôì0K° TX½@ÿÀ878Y@@pŸ]!!;#"&!ïýîn†?NãÍýîÕªû=–ªôÃÿÿ­ÿ÷_é&8ûÇä ÿÿ°ÿãië'Çî XNÿãÏÊ:@(3  üÄüÄôÄìüÄ1@• •Œ ôìü<ì22205!#"5475!!! 4'Ïý¨±ÆþøØØþ÷Dzý¨?ž‘1/Ž¡²²aþ´ÊðþÞ#ïÊLa²²‹þÖ¸þÂþv‰5Â(ÉÿþvÕ%#"&5# 764/Æ?†nÊgaèM/ÁÀŽ¡³nAcþøª–ÂÓü-þòztÄÅ5Â(DWm¦ÊðþÞÿüÜí 676'#3sH41Bm NÆU&þŠËýðÙoëN(61z‡e9ýÍý9Ç=þV•p+5326?3 676'&“N”|“lLT3!þ;Ã^2Qae×5ÃQhÈzšH†TNü”»~)20e“^'E\Õ!!!!!5!5!!s•þpþsþTÇû=¹þÕŸƒügÕšþý"ßXÛ`!3!!!5#5!!qjûÂþÂþôü}+ÔP ýe`¨þÜþ“¨\9 ÿÁøÕ%%27654'&+5!5!2!"'&'5¨Àcd\]¥®üüþej€bVQ;-˜þèw}~†j~kKK†IJ¦ܪ¨þ$8*mhŠ—U)$y%Ã1\ÿÁ´Õ%%2767# '&/&54767635!!#"¬‰~j†~}wþè˜-;QVb€jþeüü®¥]\dck1Ã%y$)U—Šhm*8ܨªþ$¦JI†KKhþL?`#"!27675#"'&5476;5!5![j€bVQ;%˜^cdjTÈm¾cd\]¥®þR›ü–Ü8*mhþìb)$y%Ã12KK„KJ¦ó“¨qþVè`2767# 4%$54#!!5! TMOQWPVaþ –ëþÞåýejþžoþ0âþî,³ î5%b|8“¨þdåþì1a‹–Jð$%!!57!5!67654'&#"5>323#‰ÁüL:sþ§â_%'ST†_ijxzÔXè"Jhì0ªªª@umHLIwKK!!CÌ12èÂ\RI`1]ÿÁùÕ(2! '&/&53 7654'&#!#!!h‚cUQ;-˜þèþܘ-;Édc|cd\]¥þÁÊ¡ý)Q8+lhŠ—U)$yy$)U—KKKK†IJ-ªþ%hþL?`%2!"'&'5327654'&#!53!!LicUQ;-˜þè^cdjTÈm¾cd\]¥þžý¢Ü8+lhŠ—U)$y%Ã12KK†IJ¨„ªþ&Xÿ㥞$!"'&'5327674'&+#5333!ªpln‰þíUQQLITNP³c9:VÀ>ååÊçæ}wsªº}#¬(rA…bLr¤þ줺þV¤{#36763254'&#"s¹¹4‡QÒ¸MNüÏr98xÜ­zþÐ ªBR1pq™þWþäù…BAïÉþV“Õ&@ —½Füì1ìì0@ @P`pð]3#ÉÊÊÕøÿÿÉþV'Õ'‚”‚þVœÕ:@ ©© — ½  Ô<<Ì2ü<<Ì21ìì9/<ì2Ü<ì203!!!!#!5!5!5!sÊ_þ¡_þ¡Êþ¡_þ¡_Õý—¨ðªý,Ôªð¨ÿÿɔՔÿÿÉ Ðm'?±'ÿÿÉ °f'@Õ'ÿÿqÿã‘f'@¶GÿÿÉþf$Õ'-‘/ÿÿÉþVÞ'Me/ÿÿÁþVï'MvOÿÿÉþfòÕ'-_1ÿÿÉþV·'M>1ÿÿºþVÞ'MeQÿÿhm&$j¾u±<1ÿÿ{ÿã-f&D„Z´ +'+1ÿÿÿþ`m&,j/u ´ Ic:1ÿÿÿà^f&ó„ÿ ´ Ic:1ÿÿsÿãÙm&2j'uÿÿqÿãuf&R„v± <1ÿÿ²ÿã)m&8jöu±<1ÿÿ®ÿãXf&X„v ´ Ic:1ÿÿ²ÿã)3&˜08ÿÿ®ÿãX1'q{;¾ÿÿ²ÿã)Z&8›6ÿÿ®ÿãX"&X›ÿ¾þÈÿÿ²ÿã)Z&8 0ÿÿ®ÿãX"&X ÿÄþÈÿÿ²ÿã)`&8œ0ÿÿ®ÿãX"&Xœÿ¾þÈÿÿqÿã{ÿÿh3"$˜ÿÿ{ÿã-1&¦qR;ÿÿh3"$šÿÿ{ÿã-õ"Dšÿ“þÁÿÿH4'q×>ˆÿÿ{ÿãoò'qèÿü¨sÿãð,# '&76!2.# !27675#535!5!3‹u þ¢ÆÅÅÆ^’„ƒopü‹þî‰ŠŠ‰kTTCýýþ¶yŠÿS*+ÍÌmnÍÌ$$F×_`™™þÑþÒ™™'µX„¦þÖXqþVú{94'&#"32766=#"32533#!"'&'5327675¢RS•”RSSR”•SR9²|ÎüüÎ|²9¸³Æ:þúaVVQQžRµZý„=ÈnnnnÈÇnnnnþOG^[cb::bcªü+nXF]@Œ³,*_Fÿÿsÿã‹m"*jJu±!<@”!T!$!]1ÿÿqþVZc"„JýJÿÿÉjm'j¢u.ÿÿÿéœm"Nju*´ +1K°QX»ÿÀÿÀ88Y@ €€@@]ÿÿsþeÙð'˜4ÿð2ÿÿqþeu{'˜€ÿðRÿÿsþeÙ1'q';¬ÿÿqþeuõ&qsÿ­ÿÿ ÿÁøm'j¾uyÿÿXþL/f&„OÿÿÿÛþVdf'„ÿ%ù ´ Ic:1ÿÿÉ ÐÕ'=±'ÿÿÉ °Õ']Õ'ÿÿqÿã‘']¶Gÿÿsÿã‹k"*Cvð@,ÌÿÿqþVZc"JvýÉÿã-Õ! '&5!#3!32765-d`þæþígdý"ÊÊÞÊ>=™”B>`ýZ߀xxvé ý9ÕýœdûìŸPNOK¤ŸÉþVð%#3676324'&#"“ÊÊ8‘WâÆSTü‘¡=<íºœýº¹HW5xz¤þ7þή GFþÿÿÿÉ3k'hu1ÿÿºdd"QCÿþÿÿhs"‡f\}ÿÿ{ÿãÜs"§fì}ÿÿHl'f\vˆÿÿ{ÿãoc"¨veÿýÿÿfÿºål'fþvšÿÿHÿ¢œc"ºvýÿÿhp"$oåzÿÿ{ÿã-d#»˜ÿþDÿÿh6"$k¼>ÿÿ{ÿã-H#½eDÿÿÉ‹p"(o¥zÿÿqÿãc#»ºÿýHÿÿÉ‹6"(k¦>ÿÿqÿãH#½©Hÿÿÿ§sp",oYzÿÿÿÃc#»fÿýóÿÿw6",k>>ÿÿÿãVH#½$óÿÿsÿãÙp"2oAzÿÿqÿãud#»ŸÿþRÿÿsÿãÙ6"2k>ÿÿqÿãuH#½˜RÿÿÇTp"5oyzÿÿ‚Jc#»%ÿýUÿÿÉT6"5k€>ÿÿº^H#½-Uÿÿ²ÿã)p"8ozÿÿ®ÿãXd#»ÔÿþXÿÿ²ÿã)6"8kì>ÿÿ®ÿãXH#½«Xÿÿ‡þ¢ð'Òv6ÿÿoþÇ{'Ò,VÿÿÿúþéÕ'ÒS7ÿÿ7þòž'ÒWœþRsð16767654&#"5767654'&"567632œÇÂ¥~b’[?FðøŽjOQ_ciqYxw`eÀ„†GRxŠQY–‚þÐÚµþò@XKy^Žq†j«j=vX{5?:.P¾B*8hi²ªcqMmwqÚŽ{\(GþO¼{26767654'&#"5767654'&#"567632G²°”rXBAR9?Øß|cGIN`\hOm`bs[«yx@Il|IP‡xþñÄ£þÑ3H\þVÕ+53276=!5!5!!žHrþéi&&ûõ°üg•üPÇþßP%œ01™š‘ªšûoXþVÛ`+53276=!5!5!!ÛžHrþéi&&ý5´ýejýL´þßP%œ01™¨%“¨üÛÿÿhP"$–Ä@ÿÿ{ÿã-"D–_ÿÿÉþu‹Õ"(z¢ÿÿqþu{"Hz{ÿÿsÿãÙ3"2˜bÿÿqÿãu1&¸qs;ÿÿsÿãÙ3"2Ÿiÿÿqÿãué&RŸÿµþ¶ÿÿsÿãÙO'm't2ÿÿqÿãu&–sRÿÿsÿãÙ3"2šjÿÿqÿãu1&ñqs;ÿÿÿüç1'qr;<ÿÿ=þVõ&q^ÿ\Šÿp\%3254'"632!"'#67&73Î% 44ÊnˆôþªI5"ÄC1¸‚¯- ¸Îþ¿H:E“þÂÿÛþVy` 8@ ‡½¼  OF üìä991äôì990@  @ P ` p ]3+53265Á¸£µF1iL`ûŒÖÀœa™qÿ㌠1= 76'& %67632#"'&'+5#"'&7632;'&  7/ST$TTTTþÜTÙ:YX{Ì€€Ì{XY:¸:XY|Ë€€Ë|YX:¸rSTþÜTSST$Túþjtsst–tssHd01¢¢ýð¢¢10d¨¨d01¢¢¢¢10d^ûP–tsstþjtssqþVŒ{ 1='&  7+#"'&76325;67632#"'& 76'& ÍSTþÜTSST$Týá¸:XY|Ë€€Ë|YX:¸:YX{Ì€€Ì{XYüšST$TTTTþÜTd–tsstþjtssHý®Rd01¢¢¢¢10dªªd01¢¢ýð¢¢10¶þjtsst–tssÿýÿº|3 #!#'#7'7 3!Jå†afþp|ÒˆýÖÍ2F;R/þîo½]jÕþ¡¡Yþ'üñŽFF8Äý±þO ÿºŠ",'&76!27&'!2767# '#&# rfÜuÃÃS†v=:efc.1üô ˆ‚tsfjwv„þ´Â9Øt‚ÿˆˆFX»hÏÐ$xYv»+!üf //_ÓH$$Ç\/œþØ­ ÿ¢]¼"+'7&576!27&'32767#"'&#"i`½U—–UQ.-Y_výÓc³PNONMRS]ð“7îGG³cc^NæÌ lOU ý^q+ª$VqrÍg jÕ 33#!!#53ÉÊ¿¿×ü_¿¿Õýwýÿ²ÿº1'7!!##!Hf8™ýîZgþ Ëþ"4þÔiUYBªý®ý9XMýù÷4þžboþ{=4'&/&'&54632.#"3#"'&/&'&'&'53276 23«@«LLàÎf´LN¨Z‰DE11”?ÆPS{W„Ÿ“*L'TrGYí$alfcca‚FF'K((%$JK‚ž¬®((**T@%$!,KL‰œ[@Ÿ~$š=&[ó#¾5-,Xþ3`!;#"'&/&+=!qjýN\1“*Ll“TrGYí=Z^´ýe`¨üÝ1þø~$š=&[ó?œ %PÕ326'&+"5676;2+# ñšLMŽþEZVNLQQUþû€€û'Ê’ HI+¶#qpþHqqý¦ ìÕ-!2#!#53!27654'&#!!27654'&#!Éçú€|•SRþðûýè¿¿Ê+”HIIH”0þ¥D£NOON£þ¼ÕÀ±‰¢ ef˜ÈÚp/þ>78rq88üÑÊDC‹ŒBCÉ ÿãÎÕ!3!33#! '&5#53!32765²ËáË¥¥‘þæþ呦¦¬ýWWÃÂWWÕý–jý–¤–þÜ••••$–¤¤}ðjiijðhÕ # #.:Óþ'þ&Ò9Õú+éûÕÉÿB‹“33#!!!!#7#!#!¸ªAX’— þ¼¹.ý˜AªA°®þ<¹Ù—þV“¾ªþFªý㪾¾ÕúÕýãǺþFqÿB&-1&'&'!3267#"'#&'&3273&#"#ÇSošþ+”JajÇbcÐk{cPªm!)ü81Gª\9/ƒý¼‡š¹ZoÏ ”—Z þò6Zþ—44®*,! œ C ¬à"2’ÅJ®žþc¬ÿ–þfRÕ33#+53265#53ÉÊ¿¿ÍãM?†n¿¿ÕýH¦ýñþòôª–¦ÿÛþV3#33#+53265#53Á¸¸¸£££µF1iLµµéËþ¤þ(ÖÀœa™ؤ TÕ(#&'&+!!##53! 3276'&#A>=>ÍÙ¿JFExÜ[þ¥Ê¿¿ÈüABý‰þ’KJJK’¼HH~þh–11wþpÕÖØ]]OýîCDBCJ{&'&#"3###53367632J%$,œTS««¹¬¬¹:]]…´ ef¤¤þ<Ĥø®f21®ÿã`{ ,¸@ .% F-üì22ÔìÌÄ991@©¹¸-&†%º"¹*Œ¼-äôìüìôìÄÔä¶%  9990@1?$?%?&?'O$O%O&O'_$_%_&_'o$o%o&o'$%&'$%&']@+?#?$?%?&?'?(?)O#O$O%O&O'O(O)_#_$_%_&_'_(_)]2654'&#"367632#!3267#"&߬A@o™\]¸¸?^^ˆ¬fe~ûþþST—`¶Te__Zóð+f{b:9ml´)Lªf01a`¢½``FE..ª'üqÿãZ{8@¹¹Œ¸¼G Eüìôì221/ìäôÄìÄî0¶`€ ]53#5#"3232654&#"¢¸¸:±|ËÿÿË|±ýǧ’’¨¨’’§¶ªû ¨daDDaþËççËËççºÿã£{ 8@¹  ¹Œ¸¼G Füì22ôì1/ìäôÄìÆî0¶`€ ]4&#"326>32#"&'#3å§’’¨¨’’§ý:±|ËÿÿË|±:¸¸/ËççËËççRdaþ¼þøþøþ¼adª`ºÿ㤠&=@¹  ¹Œ¸"©—G F'üì22ôì1/üìäôÄìÆî0¶`(€( (]4&#"326>32#"&'#476;#"å§’’§§’’§ýŽ:±{ÌÿÿÌ{±:¹RQµþém"&/ËççËËççRdaþ¼þøþøþ¼ad¨~Ö``œ04–ÿãõ{ 0@ †ˆ¹¸!†ˆ¹ Œ!"EH!Ü<ôìì1ôìôìôìôì06763 #"'&'5327654'&#"LQQU–—þÖý]SRMNONP³cccc³PNON5#þîþòþÂ$ª+qrÍÍrq+pÿsç{'/O@( ,,H"E0üä2ìì991@†ˆ¹.*¹¹%¸Œ0äÌôìüÜìõî0@ 11€11 1].#"67632#"'#47&'&!23254#"çNP³Æc'>Ij£J?_S›PI™ 9/•-U¢þŠ:M’„e5¬++ãÍÍrQ,3H=Y}/)9DhQ#3¡ :#ü:9KqþV@$K@$©½%"¹¹Œ¸—%OG E%üìôì22ä1ìäôÄìÄîüì990¶`€ ]#"&=#"323;32654&#"@Fµ£:±|ËÿÿË|±:¸Li1ûï§’’¨¨’’§þVÀÖ¼daDDad^ùØ™a=ËççËËççqÿã¹$=@"¹¹ Œ¸%©—%  GE%üìôì221üääôÄìÄî0¶`€ ]546;#"#5#"3232654&#"¢£µ¿ªiL¸:±|ËÿÿË|±ýǧ’’¨¨’’§¶ÈÖÀœa™û‚¨daDDaþËççËËççqÿã{"r@ KE#üÄìôì91@†ˆ©¹ »¹¸ Œ#äôìäììôì90@)?$p$ $Ð$ð$?????,//,ooooo ]q]47632!"&'532767!7&'&#"qƒ„âü”•œþôkÐcbdcj·fg ü²¸]\šˆRS^ú’‘¡¢þíþöœœ,*®4cd¾žWWZZqÿã{A@$ †ˆ©¹»¹ ¸ŒKEüÄìôì91äôìäîîôî905!.#"5>3 #"73267qN Í·jÇbcÐk 9þ×üâþù¸¥ˆš¹Z¾Ç44®*,þÈþöþíþ½#Ä—´®ž|ÿã„{ 4w@6.('4 KE5üÄìüìÜ<üÜĶ&  91@/©.'"¹"¸5 ¹Œ5ôìôìÔÜì´†ˆôì@  &"90@ 4 &'<<ü<<<%6'6'32#"'&'&'&5>3 73;#"'&5Nf ý— Rˆ¨`•”üä‚\þLÑladbcÐk œ$˸&&i+@¯WRÖŠÏ>8þœE#Z`vþí¢¡‘gœ»'#d4®*,œ#)u”™10œ`ZÈÿÿ…ÿãÈ|8ÿÿ…ÿãÈ|¹…ÿã*|>i@@603273;#"'&5Â|ŠþþîPUTZGUU]—UTNH‰”›tCDFEwGQPabªLÄq_ì¸&&i+@¯WRþà@\’l­¶«%88ZX83˜,-F@.. §NBj†”™10œ`ZȦFqÿãÅ|/;@ 1 &,E0üìÔìÄÄÔì1@¹¸0©0¹)Œ0ôìÔìôì²#90"327654'&+5327654'&'2# 76ñû`cchÒ—UTNH‰”›tCDFEhÄqr<žÿÛþV`K@ ‡ ½©¼  OFü<<ì22ä991äÜ<ä2ôì990@ @P`p]33#+53265#53Á¸£££µF1iLµµ`þ¤þ(ÖÀœa™ؤqþV¸ 0U@)  †¹¹&#¸-©*— ¹½*-+& G E1üÄìôì22Ä991/ÄäìôìôÄìþÕî990¶`2€2 2]4&#"326!"&'5326=#"32546;#"¢¥•”¥¥”•¥¸þþúa¬QQžRµ´9²|ÎüüÎ|²9£µ¾©iL=ÈÜÜÈÇÜÜëþâþé³,*½¿[cb::bcÈÖÀœa™qþVZ` #C@ †¹¹#¼¹½ GE$üÄìôì21/ÄäìôìþÕî990¶`%€% %]!"326!"&'5326=#"43!¢þª‡–¥”•¥¸þþúa¬QQžRµ´9²|ÎüüÎ=ˆÍ»ÇÜÜëþâþé³,*½¿[cb:ù*qÿãO{8@©¹†ˆ¹¸Œ4 EüìÜäüÄ1äôìôìþÔî990%#5!#"!2.#"326©›Ae×{ýþÖ-hÅ]_Àc³ÆÆ³O|žŒýð$$>:77ª>>ãÍÍã`þRd`#y@ %  $ÔÔìÔìÔĵ 91@ ¹ ½¼$ä222ôì³  990´ì³<´ìµ<<³<³< 3#"&54767327654'&'bBÀþ_j&;––––;&jþ_ÀBC(::(èxüܱS€c‚‚c€S±$úŽ-EIdccdIE-`ÿãd`#y@ %  $ÔÔìÔìÔĵ 91@ ¹ Œ¼$ä222ôì³  990´ì³<´ìµ<<³<³< 3#"&54767327654'&'b)ÙþrG,E––––E,GþrÙ)C'88'ÑýêbLx>‚‚>xLbü-!@2FF2@!-®þVX`9@ ‡Œ ¼ ½  NFüìôì21ää2ôÄì90´`Ï]332653##"&®¸||•­¸¸C±uÁȺ¦ýaŸŸ¾¤{ùöVfcðºdC@! ‡¸ ©— N  Füì2Ä99ôì1/<üì99ôÄì90²`]#4&#"#46;#">32d¸||•¬¹£µþçiMB³uÁƤý\žŸž¾¤ý‡~ÖÀœa™ÌedïºþVd!J@%  ‡¸"©—‡ NF"üì2Ä99ôìÄ1/Üìüì99ôÄì90²`#]+53265#"#46;#"632d£µþéiLø•¬¹£µþçiMƒçÁƤýHÖÀœa™²=¾¤ý‡~ÖÀœa™ÌÉï >@¾ ± ©¼  Fü<<<ì2221/äÜ<ì2üì0@ @P`p]33###533#¸¤¤¸´´¸¸`þ¤þ<Ĥ¬éÿÿ¦n`<t„` '@   Üì2üì21@  ©¼ ©/ì2üì205!#3!53t¨¨ý𰼤¤ü褤Kß#<@ % V V$ÜüÜ<ü<ÜüÔ1@#!à !×/ä/ì2Ô<ì903327673#"'#&'&#"#67632=¸ &}33[¸ &}33[üí %$R‡IJý… %$R‡IJLT5@  ÜÜÔ<2ü<ÜÄ1@¹ ©—/ä9/<ì2ÔìÄ033##4'# 7632&#"3¢¸úú¸=þèõ5*7M\üþ ýŽT½öú„K9ÁþV_ (@  F üüÔÄ1@  — ‡½ ôìä990;#"&5y=x1F¿™ùÎ|tœÌÊ(ÁþL6$²@#&#" F%üü<ÔÄÔÄì̲#91@B©"©"† “¹ ½"¼ —/ääüìôìì9/ìì³ 990@$#ìì@  **8;ILT[q ]@$$%$$5$7E$FT$\ ]@    ]2!"'&'5327654'&+5!#3!CicUQþÐþè^cdjTÈm¾cd\[§®®ýj¸¸eÜ8+lhŠÝò%Ã12KK„KJ¦óü3þL¨ºÿæb&^@PP F'üìüüüü<91@  ‡#Œ'¼'ô<<ô<Äì290@0(P(p(( ( (¿(ß(ÿ( ]%#"&5332765332653#5#"'&®Cb`‚¯¾¹ruSS¹rw¦¹¹=ZXyzVUØy=<öâ¤ýb¢œ`^¤zýb¢œÀ¢zûž°e32>>ºþVb&a@PP F'üìüüüü<91@  ‡#Œ'¼½'ìô<<ô<Äì290@0(P(p(( ( (¿(ß(ÿ( ]%#"&5332765332653##"'&®Cb`‚¯¾¹ruSS¹rw¦¹¹=ZXyzVUØy=<öâ¤ýb¢œ`^¤zýb¢œÀ¢zùôZe32>>ºþV{0b@&%*!‡*-¸(¼&PP)%'F1üì2üüüì91/<<äô<Äì290@02P2p22 2 2¿2ß2ÿ2@‡ Ôì0]>32+5327654&#"#4'&#"#3>32)EÀ‚¯__RQµþéi&&ru¦¹99wSS¹¹?°yzUV‰|v{zâýHÖ``œ01™²¡œ¾¤ý‡ž¢NM_`£ý‡`®gb>>ÿÛþVk{Q@N O Füì2ä99ôì1@ ‡¸¼/äôÄì9@  ‡ ½ôì990´`Ï]#4&#"+532653>32k¸||•­£µF1iL¹B³uÁƤý\žŸž¾¤ýsÖÀœa™t®edïºþVJ{;@ N  F üì2ôìÜÄ1@ ‡¸ ¼ ©½ /üìäôÄìµ  90&54&#"#3>32;#"þR||•¬¹¹B³uÁÆ&&i1Fµþ¶`Ö²Ÿž¾¤ý‡`®edïèýH™10œ³d` y@B¼NF üìüì991/<ì2990KSXííY"² ]@068HGif€ FIWXeiy…Š•šŸ ]]!3!#³ÝÄþðþ#Ä`üy‡û lü”qÿãu{ ,@© ¹¹¸Œ Q Eüì2ôì21äôìîÜì0"!4&267!2#"r•¨z¨”“•ýŒ•“ðþîðñþïßè””èü ÁÁüþÈþìþíþÇ98q$`I@  EüìÔì2ÔÄÄij 991@ ©¼ © /ü<ôü<@© 9Ð/ì0!!!!! '&76!#";ýÔýë:üáþ»§¨¨§E*%ðxxxxð%`šþÝ›þ”œŽŽ‚lkØÙlm™ÿâ>|73276=332767&'&'&#"#"&'#"'&7676Ž; -32JI,œ§¹¹:º….´˾ü ®fcºþVJ{:@ ‡ ½‡¸¼ FüÄì2Ä1äôìÄÔÌôì90´PŸ].#";#"&53>32JI,§Liéþµ£¹:º….´˾ýž™aœÀÖt®fc„~{%@ ÜÌì2Ì1@  ‡ ¼‡/ì2üì9903!5346;#"à¤þ¤£µþéiLåý¿¤¤AÖÀœat~{3!5376'&+532Ê´ýð£'&iéþrHžåý¿¤¤ª—˜20œ%Pº—`°@4  B© © ¼     Füì2ÜÄì99991/<ôìÔì9990KSXíí9Y"²@]@Bz%%%&'&&& 66FFhuuwˆˆ˜˜]]#.+#!232654&#0s2®Ã¢J{Q©¹„ÚÖpýõÆwu t]þ΀:þ'`ž¥iŒþ¯VNM`º—`E@  Füì2ÜÄì99991@  ©©¼/ä2ìÔì9990332673#!32654&#º¹©Q{J¢Ã®2s0jpÖÚþ|¹Æuw`þ':€þÎ]t Œi¥žìþ¯`MNVoþVÇ{0€@C  S('  S'('B©½1 '(†‰‰!¹¹.¸Œ1' ($R$+E1üÄìÔìä9999ìÌ1äôìþõõî9üì0KSXí9í9Y"²0].#"#"/;#"&=32654&/.54632‹N¨Z‰‰b”?Ä¥÷ØdXLiéþµ£ÌÁ‚Œe«@«˜àÎf´?®((TT@I!*™‰œ¶ ™aœÀÖûjYQKP%$•‚ž¬ÿÙþV×4@ O Fü<ì22ä991@ ‡½ ‡—üì99ôì046;#"+5326¾®½®°cM£µF1iK»«™Phû)ÖÀœaÿÙþV× O@ !O F!ü<<ì22ä99Ì2Ä1@©¼! ©‡½! ‡—!üì99ôìÔ<ì2ôì0546;#"3#+53265#53#5¾®½®°cM¢££µF1iK´´¯`N»«™Phý¨¤þ(ÖÀœa™ؤi7þV3e;#"'&74'&+532M&&i1FµRR'&c°®ÃQ]™10œ`aÕ(h((™Va¯YþòþV×!#"327673## 54!3476;#"´³w|n!̵¿5RµþѾWQî°d%'š3A0Ç›o@`ØÒ®´\V™()g7þÀò^3@   /<Ô<ì2991@ © ¼©/<ì2ôìÄ990²¯]!5!4&+5323#²þ…{Ks½½Õ¢‡‡þÀ>`‰NšŸÒý þÂ7þVöž=@©¼‡ ½  Fü<Äü<Ä2991üìô<Äì2990²¯]!!;#"&5#53w{þ…LiÊൣ‡‡žþÂü™aœÀÖå>ÿã`C@ ‡©  Œ¼  NFüì2ôì221/ä2ôÄÜ22ì22ü0´` Ï ]3!33##5#"&=#5!326®¸:¸ºº¸C±uÁÈ®ŸýÇ||²høþøþ¤þ<¬fcðç ¤¥ŸŸºqÿâ„`S@ (  üÄüÄÔÄÌüÄ1@©¼ ¹Œ ôìü<ì2220@ààïïÐÐßß@@OO ]5!#"&54675!33254&'„þLfˆ°°ˆfþFíaááa¼¤ÜB׋ŸÂŸ‹×BܤHë˜ëþÜ$ë˜ëHÁ]b/@ !  F üüÄÄÄÔì91@ ¹¹¸ ¼Œ äìôìì0+"'&53?27654'&'5\‹ŽáFµRQ¸&(g3XXJInhX¤6$î’``ÖÊý6™12abžèec–0Y­s=`h@'B¿ÔK° TX¹@8YK°TK°T[X¹ÿÀ8YÄ91/ì290KSXííííY"33# =¤ú¤Ãþ¢þ¢`û ¬üTV5` ï@   ÔK° TK°T[K°T[K°T[K° T[X¹@8YK° TK° T[K°T[X¹ÿÀ8YÌ91@  ¿/<<ì290@0U U U U   BKSXííííííííY"@ÿ - : FFI O TTZ _ aai vpvpˆ–—› ³³ÁÈÀ       %%#'!%""% ' $ ! #966 90FHF@B@@@ D D D @@VVVPQRRP S T U cdejejjjn a gouuy}x}zzx y  { v }‡ˆ——”“œ›˜˜™ @/–Ÿ¦¦¤¤««©©« ¤¯µ±½»¸ ¿ÄÃÌÊy]]!# # #335¸æåÙæå¸%ÙñòÙjü–jü–`üj–=F´ÔÔÄÄ1µ©—/<ôì0· ü<<<¶  9@   ìì3676;#"# =ìPHJ|“lL*./!ÅÃþ¡þ£ÒÇ>=š$#‡^û²lü”fk`8@   ÔÜüÔÄ91³¼/ä20@ ììì3 3#fÙ%.Ùþ]Ë`þ8ÈýþðXþV¿`ª@"B © ½©¼© OÜK° TK° T[X¹ÿÀ8YK°TX¹@8YÄ2Ä99ì1/ìôìüì0KSXííY"@B&GI + 690@@E@@CWY_``f``b€¯]]!!;#"&=!5!qjýL´Li/Fµ£ý7´ýe`¨üÛ§™aœÀÖ¨%Xÿ‘Û`!±@  "ÜKTK° T[X¹ÿÀ8YK°TX¹@8YÄ2Ä99ìÜ<ì21@ ©¼¹ ©/ü<ÜìÌôì0@ BKSXííY"@:&GI #+ #690#@@ECWY_#``fb#€#¯#]]!367632+#47!5!3254qjýL¯"TA`„:&>R~i™þ–´ýeÿ8ŠFX`¨üÛ¢G7W9W`/=3<;4¨%üÆ6]XþL/` ©@ "!ÜÔÄÔÄì̲91@B©!©† “¹ ½¼!äüìôìì9/ìì³ 990@ ìì@  **8;ILT[q ]@  %$ 5 7E FT \ ]@    ]2!"'&'5327654'&+5!5!`´qÿãÅ|/=@1 %,%E0üìÔìÄÔìÄ1@¹¸0 © 0¹"Œ0ôìÔìôì²( 90";#"327654'&% !"$5467&'&5476EwEFDCt›”‰HNTU—Òhcc`þöa——þÖþÆîþþŠ|p<:!ÖÀœa™þå>>ãÍÍãÿÿº`¿þòþV.9@ Fü<ü<ÜÄÜì991@  ½¼± /<Ì2ääüÄ03#33## 54!3#"3276Á¸¸¸µ½7K¼þÑÁ¸u_+éËû ‹xG`ÝÍ‹BA0 ºþLœ` ## 33œ¹ýÛëRý•ð9¹þL—þ TýÝ#º`@ ¿©FüüÌÄ1/ìì03!!ºÊü·`üJªqþVø $C@¹  ¹¸Œ#½%‡—% "GE%üìôì221üìääôÄìÆî0@ `&€& &à&]32654&#"#"32546;#"#/§’’¨¨’’§s:±|ËÿÿË|±:£µþçiM¹/ËççËËççý®daDDadÆÖÀœa™ùÚX¥$L@ & %ÜÜ<ü<Üìij#ÌÌ1@ † $©! ¹—©/ÔäôìÜ<ì2KPXÜÔYì032765&'&#"56763 3###53T?ÀV:9c³PONNLQQUŠmlpªççÊåärLb…Ar+¬#}ºªswÔ¤þì¤X¥$M@ &"#E%üìÜ<ü<Üij "#ÌÌ1@† ©$!#¹ —#©#/ÔäôìÜ<ì2KPXÜÔYì0535&'&5476!2&'&#";3##÷çªpln‰UQQLNONP³c9:VÀ>ååʤÔwsªº}#¬+rA…bLrþš¤þìqÿãà &) 76'& %3!!!+5#"'&7632/ST$TTTTþÜT ¸iýL´ü—ž:XY|Ë€€Ë|YXòšúþjtsst–tssH^þL¨üÛ“¨d01¢¢¢¢10MüùqþL4@#5#"'&76323!2!"'&'5327654'&+5 76'& Z¸:XY|Ë€€Ë|YX:¸jþej€bVQþÐþè^cdjTÈm¾cd\]¥®®ú:ST$TTTTþÜTÍü3¨d01¢¢¢¢10d^þL¨þ$8*mhŠÝò%Ã12KK„KJ¦óÓþjtsst–tssqÿ‘ 3: 76'& %%!332!##47!#5#"'&763233254#/ST$TTTTþÜTØ™ýghýL¯<Ûãþ²)™þ–:XY|Ë€€Ë|YX:¸ý®FXúþjtsst–tss_üú“¨üÛ ö½3<;4¨d01¢¢¢¢10d^ú6[7ÿã@žF.#"#"'&'#"'&5#533!!;5327654'&/&'&54632N¨Z‰ED11”?ÆQR|{ØZa]g½ÕQQ‡‡¹{þ…%&s³fcca‚FF3,±@«LLàÎf´?®((**T@%$!,KL‰œ[[!&POÒ`>þÂý ‰''M5-,QK($)$JK‚ž¬7þV%.!5476;#"+53276=#"'&5#53!3wxWQî°c&'QRµF1i&&½ÕQQ‡‡3þˆ%&sžþÂNµ[V™((hû)Ö``œ01™POÒ`>úü¢•ý ‰''7ÿpÉž-9D!6!2&'&#"63 #"'47!"'&5#533276'&#"&57!3w{•ÿUQQLNONP³cccOÎ+eKTI™þëÕQQ‡‡;BS_ƒr(þÖ€‹þ™%&sžþÂz•#¬+qrþfr «öv)2LOAPOÒ`>úù 'KV ø›ý ‰''/þVo5+5327654&#"#!##535476;#"!;67632oRQµþéi&&||•¬¹þÓ¹°°WW½®°c'&-·BYZuÁcc¤ýHÖ``œ01™²Ÿž¾¤ý‡Ñü/ÑN»UV™((hc®e22wxÁÿãÉ#5.#"#"'&'#34632327654'&/&'&N¨Z‰DE11”?ÆPS{|ØZb]h¸¸àÎf´ý8b_ca‚FF2-±@«LL?®((**T@%$!,KL‰œ[[!&ýž¬þÔý²2-,QK($)$JKÁâ 3!!!+Á¸iýL´ü—ž¸šþL¨üÛ“Íüù6ÿâé 333# #333# #6t‘‰‘t¹ˆ˜™ˆ¹t‘‰‘t¹ˆ˜™ˆUþéþéýýþ=þéþéýýþ6­é3@    Ü<ì2Ô<ì2Ä1@  ©©ÔüÌ2ÔüÌ20!#!#!#!#6³ýk³ýkUþXþûrþXþûþJ!32653##"'&554'&+532ž||•¬¹¹BYZuÁcc&&i1FµQRÀŸž¾¤yùìbe22wxè¤ ™10œ``Ö þVv,!5#"'&554'&+53232653;#"'&'×BYZuÁcc&&i1FµQR||•¬¹*&h2F¶RK¬e22wxè¤ ™10œ``Ö ýbŸž¾¤yûŽ”60œ`YÝuœÅ0@ ÔÜ32ÄtNN^luu)qJy}þ…wYYk\þžgþ«88†uœÅ;@ ÔÜ<Ì/ÌÌK° QX±@8Y1²]@ Ô<ÔÌÔÌ´ ƒƒ]0#4&#"#46;#">32ÄtNN^lugr ’B0)qJy}þ…wYYk\þž„xkW6Vr88†ÿé­î #@Ü<ÌÜ<Ì1@ÔÔÌÜÌ03+5327653#zt43r,Bttý‚x66XVr‚uœ@ ÜÌÌ1@ /ÄÔÌÔÌ0.#"#3>32.biuu$uT ¯ qkþ¶sa97Gä327653#5#"'&'Gc45tt%:;T ü 98kJýa9G­u 327653;#"&=#5#"'&'Gc45t0B,rf%:X@?X=>POæPPuï‡"'&4763"3‡sPOOPs@XX@ïPPæOP>=X?@X>uœ‰32765&'&#"567632#'y7$#?q22110335®WDDFk€[@*7K$@ ` XFh_@Cþ“uœ‰#&'&547632&'&#"3êkGDEW­53301212q>$%6y[þAmC@_hFX ` @$K7*@ 2õ°% % êþ™gþ»õ‹´´‹õ 2õ°5-5õþgþ™ê'õ‹´´‹õÁ|?f33¶õ‹´´‹õ|êþ™gþÁ|?f3# #¶”õ‹´´‹fþgþ™Áî?f7@ ´³uÜì91ôì290K° TK°T[X½ÿÀ@878Y3#'#¶”õ‹´´‹fþˆõõÁî?f7@ ´³uÜì91ô<ì90K° TK°T[X½ÿÀ@878Y373¶õ‹´´‹õîxõõþˆÖç^@ÜÜÌ1@/Ä0#^ˆýÕ+ÿÿÕb+öqsîRf3#‹Çþº™fþˆªð‰f #o™þºfþŠvÖþÑ^ü@ÜÜÌ1@/Ä0%#^ˆüýÕ+ÿÿÕþÀ+ÿTqù^ªþ‰ÿ’#o™þºnþŠvsþRÿ”3#‹Çþº™lþˆoÔ#!!!²e³³þ›ÙJý'þ¶oÙÔ#!!²eÙJÿÿuþ‡#{þÿÿuþ‡#|þÔá–!533áþ>––j––,þÔÔá–5!##––––þÔ,Á‰ß 533##5#5¢”áá”áþáá”áá”já!5!áþ>Âj–Ç)9H W@ ð³VVÜìÔì1ô<Ôì0K° TX½ÿÀ@878YK°TK°T[K°T[X½@ÿÀ878Y332673#"&Çv aWV` v ž‘‘žHKKJLšDf@ ƒÍÔì1üì03#šÌÌÌîá  @Áò ÁñV xVÔìôì1ôìôì04&#"3267#"&54632˜X@AWWA@XzŸssŸŸssŸô?XW@AWX@s  ssŸŸLþuÁ @  óô 'ÔìÄÔÌ1/üüÄ90!33267#"&546¸w-+76 >&Dzs5=X..… W]0i¶J7c@$  Ãà íVwVvôìüì99991ü<üÔ<ì99990K° TK° T[X½ÿÀ@878Y'.#"#>3232673#"&ü9! &$}f[&@%9! &$}f[&@Z7IR‡“!7IR‡“ðî®fB@´³ÔÜÔÌ991ô<ì20K° TK°T[X½ÿÀ@878Y3#3#ü²ø‡ªß‰fþˆxþˆÿÿÞ­%3;#"'&5¸&&i+@¯WRþëd¤”™10œ`ZÈ¢ïîf '#7'373\\]´µµ´]\´¶¶îaa»½``½»uªý '&73733274²òþö¶ú‰¿·‰þ¼Œ†€Üù´‡Àñ/ààþŠ®˜MMŒzœî ±/Ì1±/Ä03#zttü™uœ/2&'&#"#"'&'532654'&/&'&547632j1549W++](}24NMˆ9>=D@?>=RX o(l00GF‚@99 a /$*+MW33 k2-*)*IX01 uœ! #'#37ÿ ‰Í͉û‰»»þÏþ¾ööH+ßßuœ‰#&'&547632&'&#"3êkGDEW­53301212q>$%6y[þAmC@_hFX ` @$K7*@ÖX@ ©ÄÔì1/Ôì0!!5!•þAGЈú¨ÖX'@??//©ÄÔì21/ÔÜì]0!!5!3•þA¿ˆœˆ4ú¨ÖX@ ©ÄÔì21/ÔÜì0!!5!3•þA¿ˆhˆhú¨ÖX'@pp00©ÄÔì21/ÔÜì]0!!5!3•þA¿ˆ4ˆœú¨ÖX@ ©ÄÔì1/ìÄ0%3!5•ˆý¹ˆÐú¨ˆÿÿÁýì?ÿÖùpÿÿÕâ+v#q€q€îëf3#3#––@––fþˆxþˆÿÿîý.ÿS—øM¶þvJÿ!'&'&#"#67632327673#"&ü9 &}33[&@%9 &}33[&@þ³7 %$R‡IJ!7 %$R‡IJÿÿü¨ðþ‡fCûþÿÿýqîÿPfvûþÿÿü¿îÿ=fƒûþÿÿü´ÿH7™ûþÿÿüÙbÿ/öqüÿÿûì| üÿÿü¿)ÿ1H•ûøÿÿý¤Dþp–ü ÿÿüÕFÿ'jûþý7òþ÷{"@ V@€ V /ÌìÜì1@Á@À /Üì0632#546?654&#"ý7pihX,#w3-.>GZdH3UC=A   (6%""($4ÿÿüìáÿ—ûþÿÿüôîÿ²fšüÿÿüÅîÿCf„üý¼ìþD¨#þDˆ¨þD¼ÿÿüðìÿ¨'¹ÿ4¹Ìü]îÿf#!#ý͇ø¾‰ßfþˆxþˆxÿÿü¿)ÿ1Ö'–üÆ•ûøÿÿü¿)ÿ1H•ÿø qÀþéÿD( @ÔÌ0#3þòÓ¤é?ýÂþ‚Á#55#53þ‚òppòÃþÿ{‰þýÂþ‚Á53#7"ýñopòÃþþ‰{ÿyš‡3#@Çu™þˆÿÿü¨ýßþ‡ÿUCûþøïÿÿýqýÝÿPÿUvûþøïý ý&þDÿ53#5#5ý¼ˆˆ°þ_±þ±ˆý¼ý&þôÿ3##3þD°°ˆˆþ_ˆ±êþU†?p!5!#Iþžêˆèˆþþðk{à1@V/K° TK° T[K°T[X¹@8YÜ2Üì1@ Á/ÄüÌ0532654&'3#"&þð=X..… W]0i×w-+76 >&Dzs5ýüëþ“ÿ"3"'&476þ“@XX@sPOOPð>=X@?X>=OPæPPý ý×þõÿ3!5353þD±þ±ˆþ_ˆˆ±ý ý×þõÿ#5!##ý¼±걈þˆˆˆ±ý ý&þõÿ #53533##ý¼±±ˆ±±ˆý׈±±ˆ±ý þˆþõÿ5!ý êþˆˆˆýzþVÿЀ '+53276=0RQµþéi&&€”Ö``œ01™”ýwþVÿÍ€ %3;#"'&5ýw¸&&iéþµQR€”™10œ``Öÿÿýšþ‡þfÿS–üùCÿÿüÕþ‰ÿ'ÿSjûþùCÿÿüìý.ÿÿS—ûþøMýjþþÿT @ÔÌ03#ý¼Ó¤¬þÀÿÿý#þuþÁzüÿÿýLþuþÁ˜üý¼ý˜þDÿT#þDˆ¬þD¼üðþ ÿÿT#5!#é‰þ뉬þ¶ÂÂJücþ9ÿ˜ÿX#"4533273273"ýþ32326SKOZq Mg3OIN’S5dJ t]F‰ ®;73 !;?®<6 7=ýwÄÿˆh!5xýðh¤¤úíÄÿÿh5!úíĤ¤ûhÿ¢ÿ¼¼'ûÈ`õ_^NÌOúÿºÿ‘'úygfFXYÿÿýùý;ÿ ÿ`ÈüŒüKÀÿÿüñþ[ÿÿ¥Öüý¯Àüðý.ÿÿT!!éýÙžþë¬ýÚ&þbþêücþ9ÿ˜ÿX632#&#"#&'"#72ýþ;tÚv gfv ifvÜtúRþæ––•–ý*òþæ® '7'77þ}`}}`}}`}}`p}`}}`}}`}}`þÂÿ Ò.54675>54'&'þC!“‡RI 7!“‡RI Ç0PQn +0PQn ÿÿûì: 'üüþ¾ÿÿü¨ðþ‡fCûþÿÿýqîÿPfvûþÿÿü´ÿH7™ûþÿÿý„Âþva“ûþÿÿüçFÿbÒ üÿÿýÆþVþ¢ÿ¤üüÕÿ+I#5!#!Õ–þÖ–V––,ýþ2þáÿ¸!5!5!5!þáþ>Âþ>Âþ2x–xýþþëÿŒ3#3#ý––@––tþˆxþˆýþþáÿÖ!#!ý–þÔ*þ>,ü¶îÿJf'73327673#"'&'#7&'&#"#67632ýÿBmk  &}33[& !Bnk  &}33[& ÿg©  $%R‡JI g¨ $%R‡JI ü¶‰ÿJÌ%3#3#'.#"#4632326=3#"&ýH––Ò––9 $(}gV$=09" (}gT";–C–Î! 2-ev 3)dwÿÿü¶ÅÿJ"g·g§ücþ(ÿÿ 7!#'73!'3þp„þ„¯¯„ç„~¯¯þ(››ÍÍ››ÍÍý3þþÍÿ¤#557'þ2d›ÍÍ›þç„~¯¯~„ýxáþˆ&'&4767þˆ@*,,*@rNPPNr‹*,@A++{OPæPNÿÿü¿)ÿ1Ø'½³åÿÿý*ýTþæÿéøbýxáþˆ5567654'&ýxrNPPNr@*,,*‹{NPæPO{++A@,*ÿÿÿ.Dÿú–ý”ÿÿüpþÿ…üÉÿÿüpkÕüÉPý*Ö7#'&'&#"#67632327673#"'&O,$e5F¢qpÈ[?9ZO,$a9G¢qpÈ[?9Z7  $0G‡JI "7  $,K‡JI ÿÿüpnüÉüwþ(“ÿÂ5!'3#7üws„~¯¯~„þÃd›ÍÍ› tŸf@ÔÌ1ÔÌ03 A¾ntòþ þVŸH@ÔÌ1ÔÌ0%#ŸA¾nHþò¶þV’ÿ¤ #"'&=3;’”• #þV!.åå ÿÿÿãõ{ÿÿžÿÃ#sîRf1@ ´³DÔì1ôì0K° TK°T[X½ÿÀ@878Y3#‹Çþº™fþˆÿÿ×FRÒ&j l@¯Ÿ_]@_q0ÿÿhf' þÚÿÿÛH®Fyÿÿÿçuf' þtêÿÿÿóf' þ€äÿÿÿí}f' þzêÿÿÿòÿãf' þ#(ÿÿÿá‘f' þn(ªÿÿÿÛf' þh,6ÿÿ€Ò' ÿ.<ÿÿhÕ$ÿÿÉìÕ%ÉjÕ@ •üüÌÄ1/ôì03!!É¡ý)ÕªúÕhÕ=@ B••ÔÄÄ1/ìôì0KSX@ììììY !3¼þf5û¹:å9ûš¨Õú+ÿÿÉ‹Õ(ÿÿ\Õ=ÿÿÉ;Õ+sÿãÙð!2@•‘"•­" •Œ"#3"üìÄôìÄì1ôìôìôì0!!"3276'&' ! '&76ÅÂý>bÜ‚ÜÜ€€Ü:x¼¼þÆþż½½¼pª†¤¤þåþæþ¸¤¤¤¤¤þ[þžþŸÒÓÒÒbbÓÒÿÿÉ“Õ,ÿÿÉjÕ.hÕ<@ B•ÔÄÄ1/<ôì0KSX@ììììY3#3#åÕ:å9Òþ&Õú+ÿÿÉÕ0ÿÿÉ3Õ1ÉbÕ *@• •­•   ü<ÄÔ<Äì1/ìôìôì0!!!!!!2Çý9i™üg™ügqªªûªÿÿsÿãÙð2ÿÿÉ;Õ¡ÿÿÉÕ3É‹Õ F@B ••  ü<Ô<Ì1/ì2ôì20KSX@   ììììY%!!5 5!!±Úü>ßþ!°ý8ߪªªpªªýóÿÿÿúéÕ7ÿÿÿüçÕ<sÙÕ&367654'&'&'&76753#–b‚‚b–Ê–b€€b–Êôž½½õÊô¼¼ôÊŽWsÆÅsWWsÅÆsWü† ¡‡ŸŸ†¡þñþò¡†ÿÿ=;Õ;sÛÕ.@ •ÜìÔ<ü<ÔìÌ1/ä22Ü<ì20!6'"'&336763#ÂÖ¼¸Õ‚nŠÊŠn‚Õ¸¼Ö†°ÒÌh™þgþ椌ñüŒ¤™þgþ˜ÌÒHîNÏç&3@ •‘&•("3'üÄüÄôÄìüÄ1/<ì222ôì0%!567654'&#"!5!&'&576! Ïý¨±cc„„ØØþ÷cd²ý¨?žIHÀ¿1/ÁÀGG¡²²²a¦¦Êð‘‘þÝïʦ¦a²²‹••¸>ÅÅÅÄþË””ÿÿXN'e/u´ +1ÿÿÿüçN'equ(´ +1ÿÿqÿæåf&4 nÿÿ…ÿãÈf& P8ÿÿºþVdf' Æ:ÿÿ¦˜f&< ÿFÿÿ•ÿâ*Ò&H qÿæåz *È@ ,%E+üìÔÄÄ99@ ?/]q@ ¹)¸ ¹!Œ¼‡/ìäôìôì99@<ììì<ìì10@ „†ˆ‰ €]@IIIJN LNIK ]@:9:88? <>]@ + +*))]@  ]@++]'&'&3273;#"'&''&'&767$N,-²†=MKLy†H¤c¤Í( #) Xn^T),`,êsuÆ7 çìo‰·ÜikÕç%ý¡Û1)0œT*Xk[*–œ)‡—¿þV‰!7@E Füì2ÄÔìäÔì1@¹ ¹¹ Œ½ìôìÔü9Ôì0%#! %&7 54 y¹ª°¯þÔYoÅ þ0kêþûEþÈþþîdZþõþ%I®:ªFÜþÈ þV`@@ ÔÔüÔÄ1@ ¿½/<ìä20@ ìì99ìì3#&+532iõ^Ãþ;¸þÚ,_1FŰýLdû þVªD~žqÿãuð-T@(/E( Q!E.üìÔìô² ]ìÄì99@%¹%¹Œ.ôìÔüÔÌ99@Sì910&#"#"'&4767&5!232654'&'&ìfïýÐuމ‰ð‰5Kœ¹ÝxþD7VUV•“¬[a~@Fu\0%p‡þëþ÷œœÌ¥@$OFþ(IqÌËrsè¾Ç`g …ÿãÈ|2=@" † ˆ¹¸3©3'†(ˆ#¹,Œ34 '0E3üìÔìÔÄÄÄ1ôìôìÔìôìôì0&'&547632&'&#";#"32767#"'&546‹p<@ ÔìÔÔÔÄüÌK°QX¹@8Y1@¹ ¹Œ‡—ôì2ôìÜì0%#457654'&# !5!Ê„OTJP£E* :ý¢;ýìfý,KOxsPWKL,#%5,*3ìY¹¹þ”þ'þiºþVd{1@‡¸ ¼½ FN  Füì2ôìì1/ìäôÄì0@ €]#4&#"#367632d¸||•¬¹¹BYZuÁcc¤û²HŸž¾¤ý‡`®e22wxqÿéu$!?@ ¹—"•"¹Œ"#E QE"üì2ô²]ì2ì1ôìÔìôì0@ #€#]!3276'&#"2#"'&76±ýƒEV•–SI 6V“™Q@=ð‰‰‰‰ðñˆ‰‰ˆÆþÕœŠÉdžœ~þü´ÔÓþŠþ‹ÔÕÕÔuvÓÔ¦n` @ FüüÔÄ1@ ¼‡/ìä0;#"'&5c"$lYo´RR`ý+‘.0œ`bÔÊ¿…` I@   F üì2ÄÔÄ1@¼ /<ä20@   ìì <<ìì33 ##¿¾ãàþGþáþb‰¾`þ/ÑþZýFBþ?= F@ ÔÄÔÄ1@ ‡ —/<ôì0@ì ììììì # #'&+5zÃþÆþ~ÃëJ/k`uâeú›<üÄ2Æ~žÿÿ®þVå`wJ`A@ÔÄÔìÄ1@ ¼/ä20@ì ì9ì9!367676'&'31 þªÆ!xdLjºE.*ˆ±{`üT|¬p5dwƒY|rNįätkþR&@@ (" %'ÔìÔìÔÔÄÔÄüÌ1@¹ ¹Œ'#‡"‡—'ôü<Ôì9ôìÜì0%#457654'&# %$47#5! $Ú„OTJP£E* :ý‘MþèÜÐý‹ýÆKOxsPWKL,#%5,*µ,X$ÅR¹¹þÝ¿ ªþ¼þñÿÿqÿãu{RJÿÙ˜`/@  ÜÄìÔìÄÄÌ1@ ‡Œ‡¼/ôì22ôì0!#3267#"&5!##J117,#J%x\þc¼`¸ýPH?… ƒ°œüX¨ºþV¤{1@¹¸¹ Œ½EQ Füììô²]ìì1ìôìôì067632#"&'#44&#"326=—;¶ÌÿÿÌ{±:¹+§’’§§’’§˜fZ#þ¼þøþøþ¼adý®ÏçÝËççËËççqþRç{$6@ !& HE%üìôÌÔüÄ1@¹¹Œ% † ˆ ¹¸%ôüôìôìÜì0 !2.#"32#457654'&¨þóþÖ-U¢LNP³ÆÆ¯ƒPTJP£E* >:##¬++ãÍÍãLOxsPWKL,#%5,*qÿãÖb 1@  QEüìô²]ìÔÄ1@ ¹Œ‡¹¼ôììôì0"32654'&'##"'&76s˜RV«•“¬VOšcÎm‰‰ðñˆ‰‰rÎns¾ÉçèÈ·zn“¸œÝþ휜œ‚dm`#@  ÔÄüÄÄÄ1@ ‡ ¼¹/ìôì20%;#"'&5!5!!æ$lYo´RRþ\ þWÌ0œ`bÔ¸¸ýã‘•ÿâ*`+@ E FüìÔìä@?? ?]1@ ¼¹/ìô<0327676'&'31'"'&5R27k–i;jºF-*€œþ³eb`ý+‡@EÐv»f€wƒZ{sšý»äxvÅÊoþVÒh )=@+E(#E*üìÔ<Ìü<Ôìì1@¹ ¸*'‡Œ½*ìô<ì2ô<ì20"276'&'&'2##"'&7673=A^`VUF6{……Ƿdžˆ‰h¤B:WULqË‘ýRh]ßÐp[„þÙþñ¡˜þn‘™œ’m£Ns¾Êsg¯.;þUdav@   ÔÄÔÄÄ9@‡ ¼‡½ô<ìô<ì9@ ìììì@   10#&+53;'$Ü•þÍÙ²¶1š1FA”3ÙþN¶1š1FþþúýÐ×~ž§þ0üèþ)~žpþVÑ`6@   ÜìÔ<ü<ÔìÌ1@ ¼ ‡Œ½ìô<ì2ô<<0&'&53367653#EçkƒºUJ|·ƒCUºƒvÜ·%awó‰ý~·LBÕü,BT¯ýxünc#þn‡ÿâ(`8@E  EüÜììÔüÔììÜì1@ ¼ ‡/<ì2ô<Ä0 433237643%$&þa›ÆßϪÏÞÆ›þ_þñ")Rë@þÀðþOýã¯ð@þÀëý­*þÕÿÿ}&<jÿ.ÿÿ•ÿâ*&jHÿÿqÿãuf& }Bÿÿ•ÿâ*f& "Hÿÿ‡ÿâ(f&L Y¦ÿéM% %52767654'&'&#"'&76#327674'&iPTwDy$2uz]6î`;[;~öü‹ox†Ò¤ko7&ûC]JN:P®WO^p=l“W5I ÄpþËAKu‚_ÕÕ¨¡‹¾Õos›€kK–þꀰœ-V{HVpÿév$ (6'&#"'&47632#"'&3276®7KŒS@8yJþ̃Óhh¯Ñ‡€ €‰ð팕 Ã!uU–Y_pö~ªGBZ™kA  Jx' npÔÈþþ}ÆÕÕáÒþ‚×›œ¦WQß#4''&56%6'&F R*Ë*R txC CHko@x6!uVHþó¥ývŠ¥ H4ª0þr{C1]–Vÿÿÿá¡f' þnTPÿÿWQN'eÅuTpþVÑ'A@)   $E(üìÔ<<ü<<ÔìÄ1@ ‡¸(‡ Œ— ½(ìäô<ü<ô<ü<02##"'&76327676'&#"üÇ…‰‰…Ƿdžˆˆ†Ç·qMTVMq·qLWULþc™œþíþ휙þo‘™œœ™úwgsÊÈugü¸HguÈÊsgAÿâm`5!#%$! 47)323764A,“Mþaþñ")þøþaM:ü’GÞϪÏÞ¨¸¸Ï¤ý­*þÕR¤ÏѧþOýã®§oþ[Îg/&'&7'&7676'&#"56776327'5ùö!½`È=`ˆ[+Ž9[R~ö!*½`È=`ˆ[+Ž9[&͘­7 ðœclþ÷|Y‘DT„|Ë©hlà="îŒpl |Y‘DT„|Ë©hlýàfMZ  sþXÙð#&'&76!   76'„¸ü ½½¼;:¼¼¼Ÿ{þH‚‚¸€€þp³ÒÄÓÒÒÓþžþŸÒ³I¤¤þåþ椤¤¤¤qþVu{ "32654'&#&'&7632s”VVUV•“¬VV9ª¾k‰‰ˆñð‰jßstþntsèÈÇtuü þn’}œœœþÈþìþíœ{‹þR«Õ$ 32#457654'&# '&76)Fþó`{[mÈzYTJP£E* :þÀŽ•¹Šxe+w˜þÍþµ˜TOxsPWKL,#%5,*ËÖeNí±ªqþRQa#"32#457654'&#"476!¬Ø>cccnƒPTJP£E* 9ÌþÖ—h4­¨HqÀÍrqLOxsPWKL,#%5,*>󼃸ÿÿÉ#Õ)ÿ@þVF'347632&'&#"!!#"'&'53276îˆ`©1213$)),x:KAþ¿‹b­933.1220W@R‚ Žd ¤>QoþÉý?’¥s ¤K_³ÿüÔÕ7"'&76'&526n ê'BƒæQ_šý¬'BƒæQ_‡þ[~ý,`*l#½FR¶Úþ‘`*l#½FR¿ˆ #!3ˆþç¸âý&¸âpüÆMý]rþV`ñ!#56#'#64?&%&QªÍhЂÙíÖöáR8yEͶ»Ðþ¤0:ýŒIKiÆ× þØþñý½þXþ’LÊÑ} \4ÐýÆ!÷ù wþ–x#&'#&' #'nï¹d2þF¹b.¼Ó-òà¬t¨`4þÌÀ#Mýа!„¤ØÈþPþßþ‰^ösþKÕ=4&'##"'&=##"'&477#3276767$7676d8_úT‡CGA†tFFÇGHr}IHC‡Tù];d{yÓ’ed''dDg¤ÍyŠaŒv´ÛD=àœ‚Fþ¿Ÿ·þÙwmihÆññÆhimk3·ŸAFŸþòÉþh´±^^­­^A€Q0…*dˆ¦æË‡þU(`%!$! 4337643'676ˆþí#þòþa‡ÚßЪÎÞÚ‡9iÅšÒkp[Q‹Ç þò5ë@þÀðþ—Ôþ+hð@þÀëÑ„ôž{I%l +?sþVHð32763## '&6%ì´`…nbÃÄbcÙÙDhhªÿœ¢º—(J„¹þîù«˜˜™ ìø„@?ÕÝG6ÕqþVŒ{ 7653##"'&54763‹šPr^SLTT¸¸:XYÚ…‰žýýcнtstË1ùöRd01¢¨øìÈ¢ÉþKâÕ% '676767654'&#"#3676L'±¾Pe^Ò8*ˆ7D˜ ! ! 12ÀÔ°œˆ.#A“L.#^YŒq4+& "H4B;;=/?"+ŸVhP’OþV ö!! 7654'&#"#676! 3 7úÿþíþ¯þ¹º³llc¤´^#ð,V£¡¢¢þ÷þœÕ)èì¾£ñÛ„œe]’6?¡f‘ñضþòþ…µ³dþVj{ # 7654'&#"#67632327\ÚêþîþÞB§\\T‹™PÌ%I‹îèНþ/‘©ýÅþï™yYÂk}oSKu,2Rœè¤œÅþàºs¶ï5%! &'&#"567632 67632'&#" ;!53276ÚnþÍþ€þÜ"?E! rK,/ 4'Kr !D<&þÒtEGúÃGH ªÊþh=»" » C(FþK#C » "&þEýà !ªª!6Ë{6%) &'&#"56763267632'&#";!53276ËüÏÌäþ[9ï6:ƒ@%(ÅÅ(%@ƒ:6ö-:IûkI:ž8þî¤=35þú53þ¸þgžžsÿã%+$67632! '&76!2767&#"327*þÖW8QU{‚õ2þÎþùþΤ£‹|°s• K^—lŽÈº¼hiie¿¼b-sJ V"1þ¼ýðþ¼œ›PÞÒ» '±$üA‚æstÀ½xssqÿã[/&67632#"'&76!27674'&#"3276›ãI,)e[xÌ€€Ûÿ‰ˆtgO_\SG]EZ¨ST’•VXXT—”RS7xJ©F61¢¢ý𢢜›PÞÒ» '§'üøÍrsstËÇxsst,þV·Õ#5!#!#!3·ËþëËþëËàË`þòdú `duþ‹7þUÏ#5####!3­å¹å­’¹_ÿpú†zppþoÿòÎg+'&7676'&#"56776327'&'&7(`È=`ˆ[+Ž9[R~ö!*½`È=`ˆ[+Ž9[R~ö!*™þ÷|Y‘DT„|Ë©hlà= ðŒpl |Y‘DT„|Ë©hlà= ðŒp·þV¤{$6767632#"'&')! $'&  7ºX=—;¶Ì€€Ì{XY: ôþþ -STþÜTSST$T%̧fZ#¢¢ýð¢¢10dþXªÚ4–tsstþjtssÿÿqÿãç{FÿÿÿÛþVyMsÿãÙð! 76&'&  ! '&76üEz¸wbþH`Ö:¼¼¼¼þÆþż½½¼Æþÿ𤤙¬º~¤¤y¿€ÒÓþžþŸÒÓÒÒÄÓÒqÿãØ{!&'&#"!!32?# '&76!2Ø%%cj·f_¥ý[_f·€MJOhkþôœœ en('® c\©©\c§œœ(œœ Äÿã+{!56763 !"/532767!5!&'&#"Ä'(ne œœþôkhOJM€·f_ý[¥_f·jc%®£ œœýØœœ§c\©©\c ÿÿÉÕ ÿÿºþV¤Àÿÿsÿã'ð&ÉÕ ! !###É-}-ÅþËþÄÕþ!ßú+þçúáþV³` !!###þ¹þì™þë¹`þ{…û ²þ` ú¤UþV¤{'4767632#"'&'!!#5#5'&  7ºZ=—;¶Ì€€Ì{XY:åþ¹eSTþÜTSST$TµçŒfZ#¢¢ýð¢¢10dþȪppªô–tsstþjtssÿÿsÿã'ðHÿÿsÿã'ð&{y3ÿÿsÿã'ð'yäÿÿÉ‹k&—hîuÿÿÉ‹N&—eåuÿúþf¬Õ%+5327654&#!#!5!!!2¬ÌäL>†87||þˆËþR‹ýqmhþòôªKKÂ"Ÿžý9+ªªþFwrîÿÿÉjk&•f®usÿã'ð<@  Üì2Ô<ÌÌ1@•­ ¡ ®• ‘¡®•Œôìôìôìôìôì0! ! &! !!! 'Ôþõþ±þz†OÐÓÿþøîüâîFÓŸhgŸŽÕ½þãïªïþäÿÿ‡ÿã¢ð6ÿÿÉ“Õ,ÿÿXN&ˆe/u´ +1ÿÿÿ–þf“Õ-T/Õ!5675!32#!% 4&+pþfbþ‘Ù>WxêûþðûþLª@£à+¸ýÊþøý8ª/¤XþýšÚþEÚ¦‹‡ýÝÉÌÕ!!#3!332#4'&+3276 ý†ÊÊzÊêûþðû6ON£àà¡POÇý9ÕýœdýšÚÞÝÚ·‹DCýÝDCÿú¬Õ2#4&#!#!5!!ºqmÉ||þˆËþR‹ýîqwrîþfŠŸžý9+ªªþFÿÿÉjk&œfîuÿÿÉ3k&šhåuÿÿ#½m'lru¥Éþ¿;Õ )3!3!#­þÊÞÊþªÕúÕ+ú+þ¿ÿÿhÕ$ÉÿÿìÕ.@  . üì2ôìÄÌ1@ •• ­•/ìôìôì04&#!!26!!2#!£þ¼D£lýNûþðûýè·‹‡ý݇¨¦þ@ÚÞÝÚÕÿÿÉìÕ%ÉjÕ@ •üüÌÄ1/ôì03!!É¡ý)ÕªúÕeþ¿ÛÕ2@  ÜÌÔìÔÌÌÔì1@ • •/ì22Ì2ôì0%!!67!3#!#Ó”þpþ±†&axªªûÞªªÔþ þµD+?x4&úÕþAþ¿ëÿÿÉ‹Õ(;­Õn@B •­  Ô<ü<Ä1/<<ô<ì2ô<<0KSX@$   ììììììììY33 ##### 333Ù•4Ùþ¢Ùþ›–Ê–þ›Ùþ¢Ù4•ÊqdýGüäÇý9Çý9¹ýœd‡ÿãšð(?@ * %)ü2ÔìÌÔüÌ1@• ¡®• %¡&®"•‘ Œ)äôìôììôìÔì02#"$'532654&+532654&#"5>Iö8Žƒ‘£þîzþä,™©|¼Ð¹ÃÌÔ³ž£Æ†\ÍqìðѲ|«!ÄæéBÐY+•„•¦wps{MÅ("É3Õ y@ B ¯ 6 üìüì991/<ì2990KSXííY"² ]@068HGif€  FI WX ei y …Š •š Ÿ ]]#!33ÄýjþðÄ–Õú+áûÕûáÿÿÉ3m&šlõuÿÿÉjÕ.T:Õ%@   ÔÔìÔìì1@ •• /<ìôì035675!#!TÙ>WxÊþfbª/¤Xþú++¸ýÊþøýÿÿÉÕ0ÿÿÉ;Õ+ÿÿsÿãÙð2É;Õ@• üìÔìì1/<ôì0#!#;Êý"ÊÕú++úÕÕÿÿÉÕ3ÿÿsÿã'ð&ÿÿÿúéÕ7#½Õ>´ ÔÄÔÄ1¶B •/ìì20KSX@   ììììY%+53276?3 3 OûM?w.-þ!ÙsuÙµ2&]ª*jkü”lyjÕ =@!   üìÔ<<ü<<Ôìì1@ ••/Ü<ì2ôÜ<ì203>54&'$%53# ÙææÙËÙääÙËþÃþ©W=Ë=Uþ«þÃËŽÌÅÅËËÅÅÌü+  -ŸŸþÕþõþ÷þÔÿÿ=;Õ;Éþ¿åÕ (@  üìÔìÔÌÌ1@ •/ì2Ìô<0)3!33#;ûŽÊÞʪªÕúÕ+úÕþ¯³Õ$@  ÜìÔì2ì1·• ­ /ä2ôì0!!"&533!3èþ_ºÞÉ||xËdéîšþvŸžÇú+ÉÅÕ *@    üìÔüÔìì1@ •/ì2ô<<0%!3!3!3¬OÊùÊOʪ+ú+ÕúÕ+Éþ¿oÕ1@  üìÔüÔìÔÌÌ1@   •/ì22Ìô<<0)3!3!33#ÅùÊOÊOʪªÕúÕ+úÕ+úÕþ<Õ *@••­•  ÌÜì2ÔìÌ1/ìôìôì0!!5!!2#4'&#!!276õþGƒNûþðû6ON£þ¼D¡PO+ªýšÚÞÝÚ·‹DCýÝDCÿÿÉFÕ&®,³ÉìÕ $@• ­ •  üì2ÔìÌ1/ìäôì04'&#!!2763!2#!ON£þ¼D£NOü²ÊNûþðûýè·‹DCýÝDC¨ýšÚÞÝÚoÿã#ð<@ Ü<ÌÔì2Ì1@•­ ¡® •‘¡®•Œôìôìôìôìôì0! 7!5!&! 56! ! 'oÓîüâîþøÿÓÐO†þzþ±þõÔF½ïªï½ÕŽþaþ™þ˜þaÓÿã0ð&8@•‘'•Œ'!•&­$#(  !%$'üì2Ô<ìÔìÌ1/äôìôìôì0"3276'&76! ! '&!#3~Ü‚‚ÜÜ€€üs´´;:¼¼¼¼þÆþÅ´´þÐÊÊL¤¤þåþ椤¤¤¤¤ýóÍÌÒÓþžþŸÒÓÍÍýkÕýj;ÆÕE@B• •­  ÔìÔì2ì1/<ôìôì0KSX@  ìì9Y.546)##"#>#";}ƒüÈÊÜx‹J¿ÙÍ>{;þ’••’þ¼$ºØÖú+wb–þ˜~‰…ƒƒ‡ÿÿ{ÿã-{Dpÿã7):@+E'Q! E*üì2ôììÔÄ1@©—*$¹¹ ¸Œ*äô99ìîôì02#"'&5476$%676"32654&}ðþîðñþö:[;z631-ú~LǂӔ¬«•“¬¬{þÈþìþíþÇ0åw) v¹ ’ ,u™8wœçÉÉçèÈÇéº>` /@ " F!üì2ÔìÌÔì1@ © ©¼© /ìôìÔì0!2654&#32654&#%!2#!r~„„~þúòh„„hþV¶ÅÔljŒçÖþ9þ_ZZ^ÉþÊSJJO“…gy˜r–¤ºÐ`¶FüüÜÌ1´©¼/ôì03!!ºý£`“ü3kþå`2@   ÜÌÔìÔÌÌÔì1@ © ¼©/ì22Ì2ôì0%!!6765!3#!#»þ}vþØ[(bõ““üt““:ŒþdÜ6(UÓ©Ôü3þRþå®ÿÿqÿã{H2­`m@B¼ ©  Ô<ü<Ä1/<<Ô<ì2ô<<0KSX@$   ììììììììY33 ##### 333KqÄþ×TÅþÕr·rþÕÅTþ×Äq·¡¿ýõý« ý÷ ý÷U þA¿…ÿãÈ|(>@ &* )ÜÄÄÔìÌÔì1@† ˆ¹#¸)©) † ˆ ¹Œ)ôìôìÔìôìôì0#"&'532654&+532654&#"5>32Â|ŠþþîP©ZGª]—©–‰”›t‡‹wG¡abªLÄãx\’l­¶«%%pZXk˜YF@\§]ºy` ?@B ¼ F F üìÔì99ì1/<ä2990KSX@  ììY##3y·ýäì·`û ƒü}`üÿÿºy&º•šÿÌ¿¡` F@B¼ F üì2ÔÄ9Ä1/<ä20KSX@ììììY33 ##¿¹%ëý®kðýǹ`þãýôý¬#ýÝLs`$@ F  ÔÔìÔìì1· ©¼© /<ìôì0356765!#!L¶8Dõ¸þ{X^™~±Å·û ÍoþPÂϺO` M@B ¼  F F üìÜìì1/<Äì290KSX@   ííííY! !###º >? ¹þ˸þʹ`ýîû °ý'ÙüPº` '@ ©¼ F F üì2Üì2ì1/<ä2Üì03!3#!#º¹U¹¹ý«¹`þ7Éû ýüÿÿqÿãu{Rº`@©¼ FFüìÔìì1/<ôì0#!#¹ý«¹`û Íü3`ÿÿºþV¤{Sÿÿqÿãç{F<m`¶ ÜÔüÜÌ1µ©¼/ôì20!!#!<1þBµþB`“ü3Íÿÿ=þV`\pþVgÕ (3B@5E)! '.E4üìÔ<<ü<<Ôìì1@,¹¸—41¹$Œ ½4ìô<ì2äô<ì20327&#"#"323>32#"&'4&#"326/‘{brrb{‘à9ƒS§éé§Sƒ9¹9ƒS§éé§Sƒ9à‘{brrb{‘/ëǨ¨Çû<9^N5=L^ýü^LþÃþíþíþËN^ýÇÙëǨýì¨Çÿÿ;y`[ºþå` (@ F üìÔìÔÌÌ1@¼ ©/ì2Ìô<0)3!33#ü9¹U¹““`ü3Íü3þR–`"@© ¼FÜìÔì2ì1/ä2Ôì0!!"'&533!3Hþ©™f\¸45h)¸×_V¸þõu;;öû º˜` )@ F  F üìÔüÔìì1· ¼©/ì2ô<<0%!3!3!3Ú¹ú"¹Ù¹“Íû `ü3ͺþå+`1@  FüìÔüÔìÔÌÌ1@  ¼ ©/ì22Ìô<<0)3!3!33#˜ú"¹Ù¹Ú¹““`ü3Íü3Íü3þR>.` ,@ E  ÄÜì2Ôìì1@ © ¼© ©/ìÔìôì02#!!5!!!2654&qÖççÖþ8þ•$þù~ƒƒ—£¨¨¤Í“þ7“þ_ZZ^ÿÿº›`'ó"κ>`%@ E  Füì2Ôìì1·© ¼©/ìäÔì04&#!!263!2#!zƒ~þú~ƒý@¹ÖççÖþ9LZ^þ_nþ7£¨¨¤qÿãç{73267!5!.#"563 !"'qž“ÒýÈ2 ŸÇš¡¦-þÛþÿ½“ÕV«Ú“ißV¬FþÃþñþòþÂHÁÿãL{ :@ E  Füì2Ô<ìÔìì1@¹¸¹Œ©¼/äÔìôìôì0"32654&632#"'##3J”¬«•“¬¬ýqùððþîðñþù и¸ßçÉÉçèÈÇéþ¾þÈþìþíþÇ.øý÷`þAE"`!D@B©¼ © #F "ÔìÔì2ì1/<Ôìôì0KSX@   ìì9Y.54763!##"#676#";ÈjplkÙ„¹©a;;?¢Ã®545ØÆw@@@@wÆ Œi¢QPû Ù%$qþá2^66Ñ..TS//ÿÿqÿãk&·CZÿÿqÿã&·j–(þVk(#5353!!67632+5327654&#"#Á™™¹FþºBYZu¹kcRQµF1n!&||šQV¹}““}þWe22wnòýŸÖ``œ07“[Ÿž_ežýÞÿÿºØm&µv†qÿãç{K@ HEüä2ü2Ì1@†ˆ†ˆ¹ © »¹¸Œäôìôîþôîõî0@ € ]2&#"!!327# ¤¦¡šÇŸ 2ýÈÒ“ž“½þÿþÛ-{F¬Vßi“Ú«VªH>=ÿÿoÿãÇ{VÿÿÁyLÿÿÿôF'jÿóÿÿÿÛþVyML¿`2#!!56765!264&+ÖèçÖþ›þšX^þ˶8DØ£~„„~£—£þ°¤ÍoþPÂÏ™~±Å·þ7ýü_´^þº·`32#!!#3!264&+N«ÖèçÖþ›ýÞ¹¹"\~„„~£`þ7£þ°¤ýü`þ7Éü3_´^þ(k#5353!!67632#4&#"#Á™™¹FþºBYZu½gc¸||˜SV¹}““}þWe22wsíý³GŸž_b¡ýÞÿÿ¿¡m&¼väÿÿºyk&ºC]ÿÿ=þV&Å•^̺þå` !#!3!3ç“þf¹U¹þå`ü3Íû sÿãÕ43276=332764''3#"'&'#"'&4673’I}rHGÇFFt†AGC‡Tú_8d{{Ñ’ed''de’Óy{d;]ùT‡CZmihÆññÆhimw'·ŸAF‚œþç¾þf²±^^­­^^±´˜ÉŸFþ¿Ÿ·þÍÿÿ‡ÿâ(`L±Õ!2#!!5!53!4'&#!!276XNûþðûýèþpÊqON£þ¼D£NOQâÚÞÝÚQ¤àà¤ýf‹DCýÝDCçÕ$4&#!!2!5!3!!!2##ƒ~þú~ýÃþ»E¹Eþ»ÖççÖò´^þ“Í“uþ‹“þÊ£þ°¤Óÿãð+#3376!2&'&# !!!2767# '&ÊÊÒÃS†vwhfst‚ÿˆg²ýF‰ÿ‚tsfjwv„þ­Ãº Çý9Õýœ§Ð$#GÕ_//œwƪþó”//_ÓH$$ÏÆOÁÿã{#2&#"!!327# '&'##33676>¦¡šæ\" Ìþ, žUxž“¼þó”{ “¸¸˜z—{F¬V´AWô^3VªH­äýü`þ3Ê€žøÕ #'#3#jæççfÊÞþ¯áåáþ¯?Àþ@w¬ýärýsÕú+Ž3` #'#3#âÀÀÀ]¸³þâÃŽÃÃþâpJþ¶Wƒþj•Qþ`û çÉ Õ !#3!3##'#†æççýûýøÊÊ_<åáþ¯ÜÊÞþ¯á?Àþ@wý9Õýœdú+ŽrýärýsÁÐ` !#3!3##'#¡ÀÀÀþ-þk¸¸éÃÃþⱸ³þâÃpJþ¶W2þ`þéû çQþj•QþsÙÕ##767!#'&'!‹Ê“d‚Õ½xªþQþP¤t¼Õ€`ø>ýƒYý§Y~¤þåbÒ†1êý2‚Òþž¡zÊ(k{`! #4'&'##767Eþ]Ñþ»kK‰ÃV:V¸S8V‰Jlþ»¶þ–ýÌ&VœþìÇtOþ\¢KtÉœU'4ÉÄÕ! !#'&'##767!#3!ïþŸþP¤t¼Õ€`™Ê“d‚Õ½UnýµÊÊ„>ýƒqdý2‚Òþž¡z ý§Y~¤þåbÒ_4ý9Õýœn(Á.`! !#4'&'##767!#3!7þçþ»kK‰ÃV:V¸S8V‰þ’¸¸þ]ÑwéýÌ&VœþìÇtOþ\¢KtÉœþ`þ?þ–sþVsmKR2&'&# '&547632327654'&+5327654'&#"567632#"'&#"373»<[`VGg†þÍr£?Gc.„Id[U?\[§®¶•OOQR˜S¾rsdeY憆GGƒ“PQs˜ÆVLU*( u^Ó‹¦¦‹ÓÑ&§) C`“HQ-ZAyzJI¦;$&´ hi²|UV!`b†Ðfˆ$*$CW' 5 ²²þö[þtÈfIP%27654'&+5327654'&#"5>32'&'&#"32&'&# '&547632 373KW;6NH‰”›tCDFEwGQPabªLÄqr<>õ‹´´‹õ™1-[L83˜,-F@.. §NO]@A’`¡¶#Lc ‹" 8Q˜;D$UxõõþˆÿÿsÛÕ+ÿÿpþVÑ`KÿÿsÿãÙðjqÿãM{   $ !&! 6yÌþøþ4þøzþè‘ Q ý¯ ‘‘{þÌýÐþÌ40˜ÊœœþÑœËË'ð2'&#"#3 6©??DI"GTþåýÆÓÙ8s®ð» "CÝüÕû=2•2{2'&#"#3676´38:&%A=þäúþ\Ã^èPfB{7¢ý `üTpÕO3'l#%#2'&#"#3 6ý‡®??DI"GTþåýÆÓÙ8s®kþøþ÷ þ„» "CÝüÕû=2•ÿÿ2f#»Â÷ÿÿqÿã%ðäÿÿqÿãq/åsÿã-ð)R%327654'&+"'&'&'#";676762# '&76!36767623 !#"'&'&]ër€€rë > .ër‚‚rë. >þ.þ¡˜½½˜_- > ^˜¼¼˜þ¢ >‘¤òó¤‘ ‘¤óò¤‘ ¡ªÒtÓª ªÓþÆþÇÒ« qÿã¡{&P%327654'&+"&'&'#";67>2# '&5476!36767623 !#"'&'&r-¡HVV?ª- ,4, -£GVUH£- ,4 É.þÿx‰‰t. 4 .w‰‰tþû. 4 ¤`t·§ƒa  _t¸¼p_   “‰œî颈   ˆœï袉   ÿÿsÿã·#,=âÿÿ‡ÿâ(d#Äÿêãsÿã3 @#'##'##'3276=332764''3#"'&'#"'&4673~d22¯222¯22dhI}rHGÇFFt†AGC‡Tú_8d{{Ñ’ed''de’Óy{d;]ùT‡C3ÈddddÈú'mihÆññÆhimw'·ŸAF‚œþç¾þf²±^^­­^^±´˜ÉŸFþ¿Ÿ·þ͇ÿâ(à &#'##'##' 433237643%$d22¯222¯22dþa›ÆßϪÏÞÆ›þ_þñ")àÈddddÈúRë@þÀðþOýã¯ð@þÀëý­*þÕsþV'ð!# '&76!2&'&# 3!#ú®þ¥»ÃÃÃS†vwhfst‚ÿˆˆˆ˜ðkÉÆÐShÏÐ$#GÕ_//œþØþÓ‚”ý°qþVç{! '&576!2&'&#";#˜þû•—–UQQLNONP³cccc³õÉ–Ÿú#¬+qr͹rqýê24޼7'77''''7'77'7;iØdØ}®}ØdØiØdØiØdØ}®}ØdØiØdµ}®}ØdØ}®}µ}®}µ}®}ØdØ}®}µ}®ûÚÞÿBz/!"'&'&'&547676763!47676762þ¹þ3 8 Í 8 g    û÷)þùM6323&'&#"6ý][F80 v OVŠ|xHŠ•/*$MHMC)(†ü"ãþøu!#3þøýÀ––÷–~’~ü"ãþøu!53#5!ü"@––ýÀ÷~þn~ÿÿ÷ÖþF`+•ÿŽØÀ+•û±À+• ±À+•ü`ùÀ+•¼ùÀ+•ü` iÀ+•¼ iÀ •ÿŽ ‰ÀøXýÃÂ- #)/'7'7'7%'%53-#%5#53 3#k–yo\©ûw–yo\©–zV\þãúL•yþ©[`¬@þÀøÂ¬þÀ@_Ó¤RÓÓ¤RZ–yþ©\µ–yW\þãþñ•zn[©ûw–yo\¨Ô¤‚RÔÔ¤‚R߬@þÀøÂ¬þÀ@ÉþVüm!#!3!3#332673#"&3ÄýjþðÄ–Éþ’†ý´v cSRav  ŸáûÕûáúÕªþV 6978w{zÁþV8!##333#332673#"&€·ýäì·í¸þÞ{ýÌv aWV` v ž‘‘žƒü}`üü9™þV¾KKJL!ìÕ!2#!#535334'&#!!276“Nûþðûý訨ʨÜON£þ¼D£NOQâÚÞÝÚQ¤àà¤ýf‹DCýÝDC&Ež 4'&#!!276!2#!#5333>C€þùB>ýøÐyttsÖþ9››¸L^*.þ—.+ßþÊURþ°RRÑ>þÂÉáÕ'+#!2'674&+327'7UŒj’~ÖþÊÈû€â šþþrG×j#u~{Sý¨ÕqrÛ’-,9†’ýÏ/´~ºþV¤{)%'7654'& 32'#"'&'#367632*ŒnŠOSTþÜTSST’F“o•Wl{XY:¹¹:YX{Ì€€ ˜§]¥sÅËtstsþjts®]³.01dý® ªd01¢¢ýð¢Éj@ •üüÜÌ1/ôìÌ03!3!É÷ªý)Õ2þ$úպК· FüüÜÌÌ1µ©¼/ôìÌ03!3!ºƒ“ý¢`:þ3ü3GjÕ 3!!!!##G‚¡ý)#ýÝÊ‚èíªþ½ªüÂ>8Ð` 3#53!!!!º‚‚ý¢ þ`ôªÂþÛªþ ÉþfÌÕ#!!!2+5327654&#“Ê¡ý)¡ºqmÌäL>†87||Çý9ÕªþFwrîþÎþòôªKKÂ"ŸžºþV `#!!3 +5327654'&#r¸ý¢úFRRQµÁ¬n!&&1†çþ`ªþÁGQåþòÖ``œ07“ª );þ¿ÂÕ%3###### 33333WkÅ)þ›–Ê–þ›Ùþ¢Ù4•Ê•4Ùþ¢ªþAÇý9Çý9¹ýœdýœdýG2þåÁ`%3###### 33333Ul¸!þÕr·rþÕÅTþ×Äq·qÄþ×™þL ý÷ ý÷U þA¿þA¿ýõÿÿ‡þušð&z9™ÿÿ…þuÈ|&zιÉþ¿jÕ%3###3!Á©ÅEý3ÊÊžýªþAÏý1Õý‰wýH¿þå¡`%3###33Ÿ¸8ýǹ¹%ëý®™þL#ýÝ`þãýôÉjÕ'#373! !#àMÊÊMdíýþöýäd‚Mý1Õý‰IQóÐýHüãø¿¡`#5'#37573 #e@¹¹@e€ëý®kð„Šë>ýÝ`þ8Ù‚Rýôý¬!jÕ#53533#! !#ɨ¨Ê¨¨žýþöý3ÊQ¤àà¤ówýHüãÏý1=œ3 ###5353!s%ëý®kðýǹ}}¹`öý‡ãýôý¬#ýÝö¤zz¤2–Õ !5!! !#õþ=žýþöý3Ê+ªý‰wýHüãÏý1*‹` !5!3 ##©þ8%ëý®kðýǹÆšþãýôý¬#ýÝÉþ¿Õ!!#3!33#qý"ÊÊÞÊÉÉÇý9ÕýœdúÕþAÁþå@`%3##!#3!3ˆ¸¸¸ý©¸¸W¸™þLýü`þ3ÍÉÕ #!#3!!;Êý"ÊÊÞ¡+úÕÇý9ÕýœdªÁæ` #!#3!!ˆ¸ý©¸¸W¶üJýü`þ3ͪÉþftÕ#!#!!2+5327654&#;Êý"Êr¡ºqmÌäL>†87||Çý9+úÕÕýœwrîþÎþòôªKKÂ"ŸžÁþV!`#!#!3 +5327654'&ˆ¸ý©¸ÇúFRRQµÁ¬n!&&1†çþÆü:`þGQåþòÖ``œ07“¤&.sÿ-'ð1?%&47632327#'#$'&76!2.# 32767654'&#"Ed`_©¨ÀfJxuŽTGIRþé¾DLþż½ÃÃSu‡^\úyÿˆˆ‚ÜÙI0a++IJ++ˆ¹Ü}}úÜÖs?]¦À ÑÒbhÏÐ$">·7^œþØþ覤.$?ÖxEGEFyþäqÿR{ ?%67654&#"&54763327#"'# '&76!2&'&#"3W!V0),3MNƒ„NM‰'8HeZ>FRë‰5<þýЉ—–UQQLCZIU³ccUT«­q‡HT*.N³›…›WXXW¥µš,4ž—œ#˜qrÍÉtsÿÿsþu'ð'z-£ÿÿqþuç{'zÃÿúþ¿éÕ %3##!5!!×ÉÉËýîïýîªþA+ªªþå6` %3##!5!!x¸¸µþB1þB™þL¶ªªÿÿÿüçÕ<=þV`%#3 3ÅÃþ;Ã^^ÃþD¼Nü”lÿüçÕ 3 3!!#!5 ýðÙž›Ùýð ýôËýôÇýšfüòªýãª=þV`#!5!3 3!ÅÃþ;Åþ;Ã^^ÃþFº|þÒ.ŽNü”lû²Ž=þ¿;Õ%3## # 3 3ËpÅþ\þYÚþ/ÙsuÙþ ªþA{ý…¸ýÕ+ý3;þåy`%3## # 3 3q¸!þºþºÙ³þrÙ))Ùþk™þL¸þHJþqýßÿúþ¿GÕ%!33#!!5!!ÖÞÊÉÉûŽýîïýîª+úÕþA+ªªþåB`%!33#!!5!!xZ¸¸¸ü9þB1þB™Çü9þL¶ªª¯þ¿|Õ%3##!"'&533!3³ÉÉËþ_ºqmÉ||x˪þAÇwrî7þÙŸžd–þå¸`%3##!"'&=33!3¸¸¸þ©™f\¸45h)¸™þL _V¸êÓu;;¾¯³Õ#"'&53;333###‚;ºqmÉ||ÖËËÖÇwrî7þÙŸž9þÇdú+ÇþÏ–`5333###5#"'&=3ù ¯¸¸¯ ™f\¸4+¤Âľû  ÄÄ_V¸êÓu;0¯³Õ!2#4&#!#z¡ºqmÉ||þˆËÕýœwrîþfŠŸžý9ÕÿÿºdKÿãð"*76! !!267# '&'&=3%!&'& ²"–¼:Cµ»ûp‹üpoƒ„’þ¢Å¼ ªvzªKB@­b‚þH€amªÒÒÛþ„þôþÎ`_×F$$ÍÂUgkßL>D9¿|¤¤|ÿâf{%."'&=33676!2!32767'$'&&'&#"XY`œ09Jt’ÿ⃄ü² fg·jdcbchneþóœ”NRSˆš]\RZ¬F1—!&Å‚¡‘’úZ¾dc4®*—…—ZZWWžÿÿþuð'˜¼>ÿÿþuf{'˜ç?ÿÿÉ“Õ,ÿÿ;­m'ltu˜ÿÿ2­H'•ð¸Éþf5Õ32+5327654&#!#3!©‹ºqmÌäL>†87||þˆÊÊžqwrîþÎþòôªKKÂ"Ÿžý9Õý‰w¿þVˆ`3 +5327654'&#!#33^HRRQµÁ¬n!&&,‹þü¹¹%ëwGQåþòÖ``œ07“¦$)þ`þã6þVÕ!#!567!3#:Êþ„bþ‘ÔCuxÉþ’†+Ôþþªý8§.¨%5úÕªþV.þV+` 3##!56765!ý´¿¸þÞ{å¸þ{v^þ̳;bõø™™þVªdžþ’þüϙϧÔÉþf;Õ%!#3!3+53276qý"ÊÊÞÊÎãL>†87h_ý9Õýœdú“þòôªKKÁþVˆ`!#3!3+53276Ðý©¸¸W¸RQµÁ¬n!&ýü`þ3ÍûŒÖ``œ07ÉþVÕ!#!#3!33#;Êý"ÊÊÞÊÉþ’†Çý9ÕýœdúÕªþVÁþV@`!#!#3!33#ˆ¸ý©¸¸W¸¸þÞ{ýü`þ3Íü9™þV¯þ¿³Õ%!"'&533!3##èþ_ºqmÉ||xËËɪwrî7þÙŸždú+þ¿ë–þå`%!"'&=33!3##Hþ©™f\¸45h)¸¸¸™p_V¸êÓu;;¾û þå´ÉþVèÕ%3####! !Éþ’†+ÅþËþÄ-}-ªªþVªüúáÕüøÁþV`%3####! !H¸þÞ{å²þ˸þʲ>?™™þVª°ý'ÙüP`ýîÿÿÁyOÿÿh’'•ÎJ’´+1@oo]0ÿÿ{ÿã-&•Oײ´"+1ÿÿhN&’e¼u´  +@ 0?  ]1ÿÿ{ÿã-&²jR ´-( +@(o(P-_(@-O(0-?(-( ]1ÿÿHÕˆÿÿ{ÿão{¨ÿÿÉ‹m'l¡u—@@]1ÿÿqÿãH'•–·@p]1ÿÿuÿãÙðQÿÿqÿã{ÿÿuÿãÙN'e uZÿÿqÿã&jT[ÿÿ;­N'etu˜´+1ÿÿ2­'jð¸ÿÿ‡ÿãšN'e‡u™ÿÿ…ÿãÈ&j:¹ÿÿ ÿÁøÕyÿÿXþL/`OÿÿÉ31'qõ;šÿÿºyõ'q’ÿÿºÿÿÉ3N'eõušÿÿºy'j’ºÿÿsÿãÙN& e'u´ +@ @O]1ÿÿqÿãu&Àjs´ +@ @O0?]1ÿÿsÿãÙðvÿÿqÿãu{2ÿÿsÿãÙN&je'uÿÿqÿãu&kjsÿÿoÿã#N'egu¯ÿÿqÿãç&jâÏÿÿ#½1'qr;¥ÿÿ=þVõ&q^ÿÅÿÿ#½N'eru¥ÿÿ=þV&j^Åÿÿ#½k'nru¥ÿÿ=þVf&š^Åÿÿ¯³N'eÌu©ÿÿ–&j^ÉÉþ¿jÕ %3##!!“ÉÉÊ¡ý)ªþAÕªºþåÐ` %3##!!r¸¸¸ý¢™þL`ªÿÿÉFN&­e·uÿÿº›&Íj‘´Õ 3!!"!"$54$3!fON£Dþ¼£NONýèûþðûN·ŠCD#CD“ú+ÚÝÞÚfqõ` 3!!"!"'&763!5>Bþù€C>Àþ9ÖsttyÐLZ+.i.*¶û RRPRUÅ‘ÿãCÕ 0!"32765#"'&54$3!3327653#"'&êþ¼£NOO_´KV! 3j^nîˆûNÊ?4pi;?Ênh×Ùf1ÉCDþêP_m}ŸþÝ`61‰ÊÞÚfûì[JJO›ŸýZàxx9qÿãs` 0!"32765#"'&54763!3327653#"'&=þù€C>A@j”\-1C]^ˆ¬fetyи>¸dhÎÓd.*^\:9m4œþöl01a`¦ªRUÅýaŸPOORAþ¸ìsxx%Éÿãð74'&+5327654'&#"567632327653#"'&'&ª\]¥®¶•OOQR˜S¾rsdeY憆GGƒ‘RQ?4pi;?Ênh×Ùf0!²„JK¦;$&´ hi²|UV!bb€[JJO›ŸýZàxx8Pa«ÿãF|54'&+5327654'&#"5>32327653#"'&NH‰”›tCDFEwGQPabªLÄqr<=ih<>¸dhÎÇpb8f83˜,-F@.. §NO]@AHOHXDEORAþ¸ìsxueÉþV<ð)!#4'&+5327654'&#"5676323#sÉ\]¥®¶•OOQR˜S¾rsdeY憆GGƒ‘RQÉɱ…JK¦;$&´ hi²|UV!ba’þùý¬«þVƒ|)%3##4'&+5327654'&#"5>32È»¸¸NH‰”›tCDFEwGQPabªLÄqr<¸dhÎÇpbþ{v^þ̳;b`ýWŠORAþ¸ìsxue{†þ’þüϙϧÔÿÿÉÿã-Õ¸Áÿã`327653#"'&=!#3!ˆzgh<>¸dhÎÇpbý©¸¸W`ýWŠORAþ¸ìsxue{Ìýü`þ3Íÿÿsÿã‹ð*ÿÿqÿãO{ÿúÿãfÕ327653#"'&5!5!×?4oi;?Ênh×Öinýîï+ü–[JJO›ŸýZàxx}âqªªÿãö`327653#"'&5!5!x>=ih<>¸dhÎÇpbþB1¶ý®VFEORAþ¸ìsxue{~ªªÿÿ¤ÿã{ðRÿÿ…ÿãÈ|8²ÿã Õ F@   8A!ü²p]ìüìÔì³ 991@ ••Œ /ä2ôìÜì¶  9033265332#54&+! '&²Ë®ÃÂ®Ë ,”ÀœgQ]*-þæþå‘ÕüuðÓÓð‹ü\GC¶«F1l[R.•••$²)òK@  8Aü²p]ì2ü<ìì991@ ••‘ /ÄÄ´`]ôìüÌ0¶ Ÿ ]376! #54&#"!2#54&#!²‘$Ë®ÂîX•¿œgQý¨¤$••þÙþÙ9 ðÓÓð¶«F1l[ýÁ²Äò%D@   8!&ü²p]ìô<ì2Ôì991@  • •‘ /ôìÔ<ü<Ì0²O']32#54&+#!"'&54! 4&#"3)G•¿œgQGËþ*ÉŸn(!Ë®Âî5Z¦r¶«F1l[þ=ó|îï#þÖþÜþÎðÓÓ¢¢I|²ÄòH@   8Aü²p]ìüìÔì² 91@ •¼  •‘ /Äôì9ôüÌ0²O ]32#54&+#4&#"#576! Y•¿œgQGË®ÂîˑZ`¶«F1l[üO‹ðÓÔï 9$•••\²ÿã)Õ#! 76=##"'&5!2354'&#!#²‘“‘ËWWÂÃWWXQ70œ`_•ý¨Ë1þÜ•••’ã9 ¬jiijðg1*l1F«[[u›ÿºð"0%!67#"'&543 2#54'&#!3 7654'& fè<0I|à‚ƒâƒ›:4ç•_`œ07Qý5˧OPPOþðOPP¯áÐ'.ˆ‡ëæÆêþ©þÏþ÷[[«F1l*1LL]]¢¡]^^]¡¢]²ÿ)ÕD@8 :  üì2ô²€]ì99ôì991@ ••¼ /ääìÌüÌ0%!2#54&#!3!2#54&#!}…•¿œgQý°ËX•¿œgQý¨¯¶«F1l[Õþ‹¶«F1l[²ÿ)ò@@  8Aü²p]ìü<ìì991@ •‘ •/ìÌÄôì0¶Ÿ]376! #54&#"!2#54&#²‘(Ë®ÄìX•¿œgQ¤$••þÝþÕ9 ðÓÖíý$¶«F1l[²Žò-:#'&'&763!&'&#"#76! 32#54'&!#"327654:gi˜’m‚INK(*WÂÃWWË‘—\!%•_`œ05þл™9:E5:.± ßrs Tf½“LQR2jjiðüu¤$•••[¢[[«F1j,1‡i--Q@“²Äò+#! '&4763!332#54'&)"32765pG‘þåþí˜nŸÉÖËG•_`œ07þþT¦Z5WWÂÃWW±þþÜ•••Ž.à|³’þn[[«F1l*1}H•àijjið²)Õ:@ 8Aü²p]ì2üì1@ •¸/Ääôì0²9¶Ÿ]363 #54&#"#²Ë Ñ(Ë®ÂÁ°ËÕþ;dþÝþÕK2ðÓÑòýó²ÿVÕ 3@ : üìô²€]ì991@• /äìÌ0@0P]!2#54&#!}…•¿œgQý°ÕúÚ¶«F1l[Õ²ÿãçÕ327653#"'&!#3|%3x*%ËqXÒÆdqþÌËË`ý×þå>WWK‡°ý7Õ}bbpi“üOÕþ‹Aÿã™Í$3! '&7#'&=33!2#54'&#%" 76'&Öɼ¼þÆþż½Ãg”``œ07Q°•_`œ07Qý¨á|‚‚¸€€y&áþ¤þŸÒÓÒÒbcÚ\[«F1l*1[[«F1l*1 ž¤þåþ椤¤¤©ž²)Õ!## '&33276=3)Ë Ñþí˜ËWWÂÁYWËÅd•Ž+&ýóðjiihò˜²ÿ)Õ !2#54'&#!5 uwüÉ •_`œ07QüÝ1þkÕþ®ü,[[«F1l*1¯ÀfÿÒÉð'-;%#"'&763267#"'&543 767%& 7654'& ®nV¬Igɲ”ƒr0I|à‚ƒâƒ›:7¾ $T.~g˜šþÎ]*VµOPPOþðOPP@#2nõšwï'.ˆ‡ëæÆêþ©þ¿Ì"%dÀYÆQ<-&]]¢¡]^^]¡¢]²ÿÄò!!4'&#"#576! 32#54'&#^WWÂÅUWË‘‘G•_`œ07Q‹ðijjjï 9$••••þÜý [[«F1l*1\ÿâ…Õ,3276=4'&#!#5354763!!"!2#5# '&ÙWWÂÁYW07Qý ²²`_•#ý Q70X•_`Ë Ñþç’±þ˜ðijjgò¡l*1¯«[[¯1*k[[«ýFd•”%²ÿãÄÕ!! '&332765!2#54'&#)‘þæþå‘ËWWÃÂWW•_`œ07Q&ý þÜ••••$¤üuðjiijð‹[[«F1l*1ŒÿãSò1476!  '&53 7654'&#!5!27654'& ­›“›II’RQ…„ýJ„„ÊRSèSSSRõý¿AæIJcaþ–aW «`XX`€[Y "cc¯õttstö¢NMMN¢§MMŸAAtY100+J\ÿãnÍ!3276=3! '&#"'&=33ÂWWÂÅUWË‘þåþæ‘G•_`œ07QÕüuðjiikï 9þÜ••••$õ[[«F1l*1²ÿá)“ 3276=3%$'&576%7%5zZ[¾ÃWWË‘ŸþôþÐ{=s–ý9þ¤þ™W/¯hiikï 9þÜ•¥ƒ›ê&dà¡AŒ¾¾¾œ¡žU²)ò7@  8Aü²p]ìüì1@  •‘ /<ôì90¶Ÿ]376! #4&#"²‘!Ë®Âî¤$••þÖþÜü\‹ðÓÓðüu²ÿB)ô4'&#"#576%5%$76aZ[¾Ã®Ë  0z‘=þ–Çûï\gW/ίgjÔï 9$•¥ƒ›êþÚdà¡AŒ¾¾¾œ¡žU²¡ò##576! #4'&ˈKuË®‘9)Ÿ¯ËuBGü”lP|Ý 9´••£þêü\‹ÌP›ÿºð,%&'&43 2#54'&#!3!7676'&'& ¢EðÊ⃛:4ç•_`œ07Qý5Ë«e?7OþðOP—£ÜܪŽæÆêþ©þÏþ÷[[«F1l*1LÃÂ,½×¾@^^]¡ªt~²ÄòH@   8Aü²p]ìüìÔì² 91@ •¼ •‘ /<ôì9ôüÌ0²O ]32#54&+#4&#"#76! Y•¿œgQGË®ÂîˑZ`¶«F1l[üO‹ðÓÓðüu¤$•••\ÿÿ²ÿã)Õ8²ÿÄÕ!)2354'&+##"'&=#!27^Q70œ`_•GËWYÁÂWW˘Ñ 1*l1F«[[&ýóòhiijð˜±þוdÿÿ‡ÿã¢ð6²)ò.@  8Aü²p]ìüì1@•‘ /Äôì0¶Ÿ]376! #54&#"²‘(Ë®Âî¤$••þÝþÕ9 ðÓÓðüuŒÿãSò0@ '&53 7654'&#""#6767&'&5476! "327654'&’RQ…„ýJ„„ÊRSèSSSRõâefg#R’HJ›““›IIþP´acIJåæIJcaW"cc¯õttstö¢NMMN¢§MMM *c" Y[€`XX^‘€[YÙ01YtAAAAtY10² Õ=@ 8  Aü²p]ì2üìÌ1@ ••¸ /Ääôìì0² 9²]54&#"#363 3^®ÂÁ°ËË Ñ—uçÛ2ðÓÑòýóÕþ;d•sâ¯ÿÿsÙÕ)\ãò,<47632#"'!2#54'&#!##"'&=337654'&Ð’ëô„‘‘„ôöIô•_`œ07Qþ Ë •_`œ07Q*Š]WW]Šˆ_WW_r•sppz•zpSÚ[[«F1l*1þ=Ã[[«F1l*1ÜA>T]=BD=[V>CÿÿsÿãÙð2‡ÿã¢ð167654'&4'"!"'&'5&'&547632¹qG^CCþ¼95+<&0âkl’‘þçjxw€{vEB¾[eK[¥ç”ýø 4D~n>=„>@%‘c3A +ml¶Ùpp/ÐE# ,,W`«×arÉÿÿuï‡|ÿÿ²þ×Õy^ñ©Â#33ÕvÕñÑxñ†%"#476327653ÿ[RB˜hjµ[RB˜hjÍTDD‚jlTDD‚jlÿÿžð}fCô^å½7#47! !"332'&'&üž q3U7KþÁû˜ay&"ÍÎ9ñÓS üþªzžŒ³NZñ²%3!Zªª}ñ4þb–ºÿæb&^@PP F'üìüüüü<91@  ‡#Œ¼/ô<<ô<Äì290@0(P(p(( ( (¿(ß(ÿ( ]%#"&5332765332653#5#"'&®E``‚¯¾¹ruSS¹rw¦¹¹?XXyzVUØ|:<öâ¤ýb¢œ`^¤zýb¢œÀ¢zû ®h02>>ºþVd{?@ ‡¸¼  ©  N  Füì22ô<ì1/üÌäôÄì90´`Ï]4&#"!!#3>32¬||•¬ñý¹¹B³uÁÆ,rŸž¾¤þ6¯þV ®edïèþˆqþV/{ <@" GE!üìô<ì22ÜÔ1@¹ ¹¸Œ© ½¼!ääìäôÄìÆî032654&#"##"32533#/§’’¨¨’’§+¸:±|ËÿÿË|±:¸ÕÕ/ËççËËççû\RdaDDadªüO¯ºþV9{=@ N  Füì2ô<ìÜÄ1@ ‡¸ ¼½© /<ììäôÄìµ  90!#4&#"#3>323d¸||•¬¹¹B³uÁÆÕþVHŸž¾¤ý‡`®edïèþ ¯®ÿãX?@ ‡Œ©¼NFüì2ô<ì21/ôüÌôÄì90´`Ï]3!!327653#5#"'&®¸òý>>|˜TV¸¸C±uÁddºZþLªþ ŸPO_b¡;üà¬fcxxqþV/{<@ G Eüìôì22ÜÔ1@¹¹ ¸Œ©½¼äôìäôÄìÆî03!#"325332654&#"ZÕþs:±|ËÿÿË|±:¸üÕ§’’¨¨’’§þø¢RdaDDadªýÏËççËËçç®ÿà,@ Füü<ÜÔìÄ1@ ©¼ ©—/äìÌôì0)3!!32#54'&Sþ[¸zý†í˜M`œ01þLªüùI[«F1i&&ºþVd{>@‡¸ ¼ © ½ N  Füì2ô<ì1/üìäôÄì90´`Ï]!4&#"!!3>32¬||•¬ñüV¹B³uÁÆžŸž¾¤üŒ¯ ®edïèý\ºþV6{ )u@ +G  F*üì2ôìÜij$Üü³!Ôì²!$ISX³ $<323#'&5476#"3276#§’’§¹¹:±{Ìÿ’¢5`¬ 4xBdB˜Ÿ‹J4/ËççËü' ªdaþ¼þø¯¡Z¡+h|{Nv¯qq<qÿã/ 4@ ! GE üìô<ì2ÜÄ1@¹Œ ©¼— äô<ü<ôì0!"32765#"4763!33¢þƈbO§’šMS¸þìK•öÿ}ù<¸Õ¶za¬ËçksÔ‡þCþ¯š+Dß«§´þLªºþVd5@ ‡¸ — ½N  Füì2ôì1/ììôÄì90²`]#4&#"#3>32d¸||•¬¹¹B³uÁƤý\žŸž¾¤ûݾýžedïÁþV×` @FüüÔÄ1@¼©½ôää0!!3y^ýê¸þø¢ ºþV(i@ P(P  F)üì2ôüôü<1@‡ ¸‡!$Œ¼ —½/ìääôÄìôÄìµ(!9µ 90@0)P)p)) ) )¿)ß)ÿ) ]4'&#"#36763232653#5#"'&5>>|x¬¹¹c&YkÁcc>8nŒ­¸¸C±l¯bdžŸOO¾¤ûݾýž2wxèã—XO¾¤{û ¬fcx{äqÿâ¼0\@ 2 $G,E1üìôìÜÄ´,ÜÜì1@ ©0¼1©—1¹(Œ1ôìôìô<ü<0´!""<<µ!ìì²<<#"327676''&5476;#&!!'&'&4763Ã[¥AS§’­].þÝSD81“N/VþÉ®!…‡â÷qÚ¶ZsºËç–IR\++˜(VL-%¯)$žªþ¶?‰¦¡¢뮘®þVX:@  ‡Œ— ¼ ½  NFüìôì21ìääôÄì90´`Ï]332653##"&®¸||•­¸¸C±uÁȺZû­ŸŸ¾¤{ùöVfcðÿÿºdKqÿãZ 4e@ GE5üìôü<@ (''*%%*3ÜüÔì9/ì² 91@.© ¹¸¹Œ'—/äôÄìôìÜì² 90@ `6€6 6à6]32654&#"#5#"325&+"'&5473;2/§’’¨¨’’§énD¸:±|ËÿÊWCv>!¸%“7)/ËççËËççkP¨þÛýÕ¨daDE<6pG5P0,!K7ºþV9{;@ N  Füì2ôìÜÄ1@ ‡¸ ¼ ©½ /üìäôÄìµ  90!4&#"#3>329þs||•¬¹¹B³uÁÆþø¢HŸž¾¤ý‡`®edïèüT®ÿãX-b@ (N  F.ü<ìô<ì2¶ -9·  ìì° /1@%‡Œ©¼†—/ôìô<ü<ôÄìµ! (90#5#"'&=47#5367$732%326=4'&#X¸C±uÃbdzzÚp˜­Ý>Bi°‚Oý˜Š>Ay•­cW ýà¬fcx{äIéʪ€`®&¯$„%8ÃvÆåJ¢MO¾¤;Ï)ž®ÿã +?@-% $NF,üìôì2ÜìÜÄ1@ &©—$‡&)Œ¼$/äôÄìôì90332654'&/&7676;#"#5#"&®¸||•­ M.=<‹ìì(`¸C±uÁȺ¦ýaŸŸ¾¤— ¼p0.-¯ *ó/(ü„¬fcðÿÿÿÛþVy`ù1ÿãZ#G@%  N!$ÔüÌÜìôì2Ä1@  !© — © ¼ ‡Œ /ôÄìô<ìôì90;32653#5#"&5#"'&7676;#"òƒó||•­¸¸C±uÁÈ;•^SWsvYYƒêŠýaŸŸ¾¤{û ¬fcðçü^S‘ƒBW¯ŸþV–|T@ !E F ü<ìÔ<ìä1@ ©½ †¹¸ ôìÔìüì0@   ììIPX±A/­(32!!5RZ@>|•¬¹¹B³uÍAGþúWýßèn„`RO¾¤ý‡`®ed¹^w°Uþǯ¯ÿÿ®ÿãX`X®þV-=@    NFüìôì2ÜÄ1@ ‡Œ —¼ ©½üìääôÄì903326533!#"&®¸||•­¸ÕþsC±uÁȺ¦ýaŸŸ¾¤/øä¢Vfcð®ÿã{%i@  PPF&üìü<ü<üì1@‡¸ "‡Œ ¼ /<ô<ôÄìôÄìµ9µ  90@0'P'p'' ' '¿'ß'ÿ' ]3>32#4&#"#5#"&533276¸B³YÁƸ||zUV¸C±dÁȸ||‚XWå{®edïèý\žŸž_`£ý‡¬fcðç¦ýaŸŸ_\ºþVd{7@ ‡¸ ¼ ½N  Füì2ôì1/ìäôÄì90´`Ï]#4&#"#3>32d¸||•¬¹¹B³uÁƤý\žŸž¾¤ûÝ ®edïÿÿqþVZ{JÁ×`@FüüÔÄ1@¼©/ìä0%!!3y^ý긯¯`®þV%k@  PPF&üìü<ü<üì1@‡¸ "‡Œ ¼—½ /ìäôôÄìôÄìµ9µ  90@0'P'p'' ' '¿'ß'ÿ' ]3>32#4&#"##"&533276¸B³YÁƸ||vYV¸C±dÁȸ||‚XWå/ýžedïèý\žŸž_\§ûÝVfcðç¦ýaŸŸ_\þV¿{$U@&E  G/Ü<ì222ôìÄä1@"¹¹¸Œ%©½¼%äìÜ<ü<äôÄìÄî²IPX±32#"&'!!#54&#"326Õ¹:±{ÌÿÿÌ{±:éý¹+§’’§§’’§ú–Īdaþ¼þøþøþ¼adþô–°°)ËççËËççÿÿqÿãu{RzþV–+"-6u@83 .# *E7ü<ìÜ<<ü<<ÜìÄ1@†&¹—7/ ‡ Œ"½7ìô<Äì2ôìì³#99²#9¶3.  90´#,<<µ. #ìì&'&'5&'&547676##4'&27654'&,Dd}1ÓKcçfep_˜{5S#Âal’~¢¸EU@;'G]7_E8G»I£-a`¥“q`4O”þ©-blëþÚiZþn!sO;s:$öý+I¿³J>®ÿã¶8@    NFüìôì2ÜÄ1@  ‡Œ— ¼ ©/ìääôÄì90332653!!5#"&®¸||•­¸^ýêC±uÁȺZû­ŸŸ¾¤{üO¯¬fcððÃR@ü<ì21@ƒƒ/ì/ì073#3#ðÓÓÓÓþþRþ`¤ í27#"'&'3U ooÍ,rr€ON§cA¢UUŸWxþCÿÓ´Ü<Ì21¶ÜÜÜI:03#3#x––––-–d–ÿÿGþCêÿÓ'äÜêÿL°KRX»@8<1Y3þCÖÿÓ %¶  ÜÜÜ<Ì21@  Ü<Ü<ÜI:05!73#3#3}––––Ö–––d–3þCÖÿÓ.@  ÜÜÜÜÜ<Ì21@   Ü<Ü<<ÌÜI:03#3#'#5#5!@––––ú–}-–d–úÈÈ––xþ»ÿQµÜÌ1ÜÌ03#x––¯–ÿÿûþ»‹ÿQ&è}胲ISX¹@8Y1ûþC‹ÿÓ O@   ÔÌÜÌÜI:1²ISXA @ÿÀ88Y@    Ü<Ü<ÜI:03#3#73#x––}––ú––þÙ––––—þ»ïÿQµÜÌ1ÜÌ0!!—Xý¨¯–—þuïÿ¡´ÜÜÜÌ1´ÜÜ<Ì0#5#5!–áXõ––––––µÔÌ1ÜÌ03#––––ÿÿ—þ!ÿÝ'èÿ`&èöèÿŒ=² ISX¹ ÿÀ8Y³ I:1² ISX¹ ÿÀ8Y² ISX¹ÿÀ8Y³ I:0‚å{µÔÌ1ÜÌ03#‚––{–xþCÿÓµÜÌ1ÜÌ03#x––-þp—ï–µÔÌ1ÜÌ0!!—Xý¨––Ñÿ8‹(3#Ѻº(ú¯–µÔÌ1ÜÌ03#––––áw–µÔÌ1ÜÌ03#á––––Ñ‹`3#3#Ѻººº`Êý4ÊfÜ`46;5#"!5! n†”’ãgfvþDy–zzþòý¢—þCïÿÓ´ÜÜÜÌ1´ÜÜ<Ì0#5#5!–áXÃúú––˜±`3##673>5ĸ±lRÙþE`e¸®bþèÙjh`²þùÄþ:T†ÔëÀyýú ŠÔdÚ`4&#!5!23!5!Vn†þ6ÈãgfÊûŠòy–zzþòþ1Kb`4'&+532##77†Œ’ÜÌ’Ç[þäÙË^ÞJKôþò<ýÞSþ­"fv`#!5!¬ºýtÑü/Ñʼ`!#3#4&#!5!2ƒ¹¹9¹n†ý»BãgfŠývy–zzþòf¨` 4&+532#ïn†•’ãgf¹y–zzþòý¢f` 5!"#7f²ŽnºYÑ–Âý‡y Kʼ`!#4&#!#!2¼ºn†þu¹Bãgfy–ü/`zzþòÊÿâà`3767676'&+532%$'&ʺML·›V_GB{ˆˆÃ†q‹|þúþ÷{†`ýêþec]hë¾qh—€þñþÕ¡Žˆ”/ÒÖŒ`#3ŒººÖŠfþVX` #4&#!5!2Xºn†ý¼BãgfþV#–zzþò˜Š`35!276'&#!5! #˜¼ëPBBd×þDxcc•òŽWH;WxþØþ¿_lÕ476=!3!#Y ´üâ»"¨¬¿“€[Åþ‹þ¬zŠŽlþòʼ`3!2%!4&#!ÊBãgfüÈ~n†þv`zzþòý¢ê–˜`"#673632!5!4'&\ÿx6HºFdÆÙašþãgfý°–7UÑçh’þðÈ €€zzþòý¢ŽÐËBhfþV¨` 4&+532#în†”’ãgfºy–zzþòûøfÜ`4&+532!5!"n†”’ãgfýмy–zzþòý¢Xÿâ”`#5! %$'&6766'&)"Êî$••”›þâþú‰•$ÀaqwgþüþÞŽdÑ‘þñþÍŠ‘›!þDS`ædWþ_þâ^BNÿO~`%676765356732fVŒ)!ºy*?–þÕïžÓ[Ûƒ4U›}*÷þÖþ]¾B-mL=!±)zþVl`#4&#!;#"'&5!2lºn†þu=pxu•@³BãgfþV#–ðU' ZÀdzzþòʼ`!! )5! 7676'&!#;#"'&5ʤ$••”•þÜþ\XfrwfþúŸ=pwu•@³`‘þñþðŽWaêædWðU' ZÀWþV„`#3676=37ºþÚÍØq%:¸k:¨þV`ªþ1LÕ›²ñM˜²`3676=3!5!˜Új.:¸kFlRûæØ`ýú =MÔ›²þùwMþ:ŽÊþV`!#76767654'&#!5!2#3CüsÔ%d#'ST†ý–Z㋊"'WŒý§ººu×+rFMHwKKttÂ_OZiý¸4fX` !#4&#!5!2Xºn†ý¼Bãgfy–zzþòÊÍ`33$763 76763)ʹ :¹0nþ‚LœÇaƒ¹„ÝþTþÃ`ýñ±SþÊlûþÍ+7ŸÔüýíÜþ˜`!#4&#!+52765#5!2ºn†þºRQµ r&&¼ºãgfy–ýÅÖ``01¦;zzþòÿÿf„`'ýÜýÿÿÒp`'ýÈÿÿÒÖ"`'–Ûì!#53®Ó¤R¬@þÀûüò 327654'+533676Í7M593¯pQf$h?FA@6b !©eþ¿I(R[2*Û #53 3#®Ó¤RÓÓÓ%¬@þÀý-þ“°ð$%#5754&'./.54632.#"¼Ë'/XZH߸gÁ^a³Olƒ39ZZ8þþþ“{4<5/VV‰LŸÂ89¼CFnY1^5YV‚eš£UÞ"756767&'&54767632&767£/SD4Ž35gcbnZdF31`È9:H:ZÍçU°!LOTAKv?=¹0ps2#¹=Áy3#Á¸¸ùìÿÿþ¢ë&Yp9þ¢ÿÿ‹ÿÆ &;qú„ÿÿÿëë &Yq¼Šÿÿÿëë&Yr¼Šÿÿþ (g&&pþ (g$$27'&5767&Ã$ÄþÚ×àJKÁÔ–úþ^©ƒÔ`‰eŸ‡_'@5š ´¼÷Œ[£v¸bĘÞße4)ÿÿþ (°&&p?}ÿÚR%67654'&'3#"'532‡¬#þ¢›—¸€Šÿÿÿ«þ b¶&*pq ‚þ î?%#&'$473327676'&/3327653323#"'&'üT…ÁPx€mþíi¸l“_Qb_y^@@¸$;sR,%¸@nޏ\Kf% I0Š1_2F„,³kª>GHö´Îܳ&%0žlŽ}=êœJ"5Œþ^ó.327654'&'&#"&#4763&547632#bzL,5;(.;Dn2KÈxAZ¢M\MO¶bxX²'*9:X DD(ÁNOþì­f7*(”„?$S§-8’APÿÿ“þµI¶&up? ‹ÿÆ Þ"327654'&'2#"'&5476»B!799[]KB{˜Æ¶“¥„`Q§%T*WE{R,,9.UMAx³ |”ÈKU#JïµN¹ÿ«þ2CÙ,567$#"'&54767632654'&32¸·þªú¥J?z…Kb–NLc9_/!<\[)B,4((7(*HþæŽ&¸uêHKCW4,”E$2RY­ÌŒÕv+M;3*)3P&‚þóÀJ6%#"'$47376767654'&'&'&'4762#&'&'&Vfþ©±xHþÛ?¸B¤a=~±T;~BrC:@¾_Ð`¸ B(EN><}ø9M ªI&huqƒc“- !P85J.39s–J%*=­=!'&"7*S@UYDÿÿ‚þ ÀJ&=qôþ ܺ$š5%5%ÜHý¸Hªn‚nþŽn‚nܺ$ý&567&'&54763233"/#"'&5332767654&#" %!lE?I(7 /4KU^r8Z #08Ÿ " -d$* 9^W4'6O'&n=NVš)qaKî" %Üþ$ÿö5%%5%ÜHý¸Hþn‚nnn‚nܺ$ª5%ÜHºn‚nܹ$ý-&'&5476323"'&'#5276767654&#") lE?I(7$# +EÈ“˜‹V " -º 8_W4'6O -n=*{nmp" %Üþè$ÿØ5%ÜHþèn‚nÈÊ9ô('&54737676537654'3'&!9EO)"a 3=` LG g&ZG„M'DA2omb}8T"¨RY$6Å­s9It…6X !ìá 4&#"32>"&462–X@AWWA@XzŸæŸŸæô?XW@AWX³æ  æŸ˜¹hÁ732767#"'&'˜ gC*6:)kXZZC5"LMD¥6{S )L}@F€ÿÿO¾§w[ÕÿÿÿOþ §ÿÄ[ÕøÚóî 4373¶Ã‹‚‚‹ÃîFÃÃþº¸Â”¼3#¸Üܼú¼ !#'3¼´%1œÄyI ©Ü!nþÝþ”›Rð#'337673#"¦ ´%1œÇBR´{6´)cóoajr›þ©Ü!n›˜•UPymþúL%#'37676537653#"'« ´%1œÄ/(/H´/; ´'G›… 44.5WY¾þ9©Ü!nr|> @2¦Þ%,*ÊþÏ;l>3 ¯ÿì§ *"2767#"'&54767&'&'&76#zfˆ\MOY‡p0;JcX~VI|ee•pdkAXH,7âp ¨4C@#90¤L@rRiUZ‡hÔÀ®ÇsBBsÇ®Àþ¡ë³þËuu5³ëaUò#'#"'532N%bÄU`޲§´¥ÒþÜþŸþëþ†DK*‘2´2<!&'3673ÌbŸ~ÄšZ00ZšÄ¥xUö:þæþÊþŨ ¨;6þÓþIþÊú<3#&'#6Ì´Ux¥ÄšZ00ZšÄ~ŸbúþÊþIþÓ6;¨ ¨þÅþÊæþ:cò#&'&'&'&76#'&'&#"¿Î=¥Bfb‘š\ %ZÄ[$ "8kM;9;"LOU)Ae{Žb~Tv§‡–þÍþ¤œnWl42@B^!xþ©–$%-_,. d! M fMÿÿÿëëš&Y„ý¨ÿÿÿëë&Yt9„ÿÿþ ë&Yt9ÿÿÿþë &Y'q¼Š©þÿÿÿëë¶&Ys¼ ÿÿþ ë&Ys¼ÿÿÿÿëë&Yu¼„ÿÿþ ë&Yu¼ÿÿÿþ (¯&&HŠÿ8ÿÿþ (ª&&t?ÿÿþ (g&&qŠÿÿþ (g&&t¯ÿÿþ (ª&&rÂÿÿþ (g&&s––ÿÿþ (g&&u–¯ÿÿÿ«þ Â0'¼þ>*ÿÿÿ«þ Ér'J¼þ>*ÿÿÿ«þ &'Jù*ÿÿÿ«þ „°&*rô ÿ¤ŸÙ:654'&32! '$&73! 76767#"'&54767632µ)B,4((7(*H³nþÃþïþáþÙ‚þ·@¸AËZAÑ×d#?z…Kb–NLZB`.+M;3*)3P&þÚ´F=)d Š\^ˆtL"9;l&NKCW4,”E$2Hf6‰âÿÿÿ¤Ÿ&orx~ÿÿÿ¤Ÿ&ouxxÿ¦)-%6767654'&54767'$&73¸Â›&6þÊ2 #déý­Gf>6þøã¡À€þ·@¸AËhXN>:.EB|=Q#!w*6ºú(  %þ¶{{qeXSG(eŠ\^ˆ}C#ÿÿÿ¦)+&r”ÊÿÿþÈÉÄ&8J¼“þµIî#"'$47332767654'3Hep÷aP„mþ¸/¸1ÈZ`LGÁL"f¸g8­²ÅD%jdëQ¬í45Þb`¸Þœÿÿþ (°'s––&&p?ÿÿÿ«þ2CÐ&<Jôœÿÿ‚þóÀJ=ÿÿ‚þóÀr&=Jÿôþ>ÿÿ¸Â”¼Kÿÿ¼LÿÿRðMÿÿLNRÅ%'&547632&767#"'#'3ÈX\lTX\D8/0EÃ=’ ´%1œÇBx:=œ$!"4'´Qjr›þ©Ü!n›8jÿôã$(327654'&#"327'&'&5732€-2!WZWXZV%2-Z(‘ .5_³ª¡¼^63›‘Z¡JkVרààÕÚ<…J¡Ð—œµ|&ÄvþŠ»þѤÐ 3767"'&547676&#"327ÐAoDdN.†bpŒxXWs>0B7,gŒ`áp†5ÿµoU%m—¯`m!´3/AbM3))´I˜·áÿÿ<Rÿÿ<SÿÿcòT=` !#!#3!ÃfþfäúþÀÀþí`ýG [`3!!!!!!!! Ùjýöóþ ý/þ¾tšè`”þÓ”þˆ“þíÍýÚ&{ÿão{,3>%#"=!.#"5>32>32#!3267#"&3267%2654&#"JÔ„âþøN Ì·hÈddÐj§øMIؽÒýûþþ§—`¶Te¾ZŽÕü÷¥‰™¹i߬o™¹›Z^#úZ¿È55®*,ywxx»¨½À‹..ª''`‡—´®ž`f{bsÙ´)>>` #% 54)3#4+327#!5#53!2xþþþúÜÜÞìòòì¹ÖŒçÖþ9||¶ÅÔ™µ´f¤_‘þڪИr–¤ø¤Äÿÿqÿãç{Fºh`32654&#%! )sÙËËÙþº7F0þÎþ¼þÉÍüÇÇÖÕÇ“þñþàþßþð$h` ! )#53!#32654&+º7F0þÎþ¼þÉ––zÁÙËËÙ`þñþàþßþðõ¤¤þŸÇÖÕÇþ̺‹` !!!!!!ºÄýöóþ ý/`”þÓ”þˆ“‚ÿãÅ|1#"&'5327654'&+5327654'&#"567632¿p<54& #.54! ì++ãþfã++ª$$>:#tNP³ÆÆ³PNM¥]ý*þÓþúU¢3MY + 3267>54&#"'>3 '# 5467'7²ý°*(èÈOuš))ëÓHn.—MÅw834¨O³MÆxþíþÇ43¨Nç)gA“¬\*g>—©}66þïñ]ŸC‹_’56ð`¡?‹`qÿãÃ{ '25!.#"5>32>32#"&'#"7326726&#"qN Ì·jÈbdÐj òQGÑŒñþïñŒÓBNèâþø¹¤‰™¹”¬«•“¬¬Z¾Ç44®*,nmnmþÇþíþìþÈolkp#Ƴ®žþ´ç’çèÈÇéq/u{ 4&#"#32²¬“”¬Âñð/ÇéçÉ8þÈþìqÿãu/ 32653#"4¬“”¬Âþïñðþî/ÇéçÉþìþÈ8–Ì`!2654&#%!2#!#N[cc[þH¸¼ÁÁ¼þÿ·Åþ˜^VV^›ª¥¥ªþ>ÿÿE"`Ñ2`!&'&'3;3!"'&546#"3µ7545®Ã¢?;;a©¹þ|Ùlkp Æw?@@?wS66^2þáq$%Ùû PQ¢iŒþcQ++ST**ÿÿ<m`ĺÿà`$ &5# 65#èþþs¹Ù¨Ù¹}Ž¢³ý;ÛààÛÅýM¢®L+÷%!5!2654&#!5!#TýZŸŸŸ¾¤ý…`¬fcðL¸||–¬¸¸B²tÂÈ®MÛø5353!5!2654&#!5!#®ÊÊÊŒýZŸŸŸ¾¤ý…`¬fcðxÌÌþzÊʤ¸||”®¸¸D°vÀÈ/þª{"#!5!2654&#!5!2654&#!5!#¸|võâý\ž¡œ¾¤ý‡ž¢›¿£ý‡`®gb| EÀ‚¯¾¹ru¦¹rw¦¹¹?°yz«ÿÿ=`YÿÿV5`ZÿÿXÛ`]xÿãº`73264&+5%5!2 'СӀ„{n ýÔþöF—oäþ}ɽBd»d>““þÂJŸm ¶7³ü{3!!³Iý{ªü/ÿÿ=`I–ÿúí`!'ì¶þ¶`û ¼üD`ÿÿ–Ì`›Z_`367653#5&'&3¸U9Vˆm±¸¯mŠÄV9S`ý1MsÉ,þÔþìœ}îî}œ,þÔÇuM(ÿêì`56765!#!)œ4Yš¶þÕkO—!{ǧÔû ·vþ‘ÿ¾MŒ¡ +"3276=7#5#"&546;54&#"567632ºŒ67RF`:;ss(;32#"&'#3t45¸5445¸5þª$pMPPPPMp$uucä@AA@ä@AA86Z[þØ[Z68^gGŒ¾3#5#"'&76322764'&"Jtt%78N€PQQP€N87þš45¸5555¸5°Sü™^8Z[([Z¡ä@AA@ä@AAGŒÕ#!32767#"'&547632&'&#"Õýë@AsC?>>>BAD©bc^]ŸŽSSt44Va:: ï2j88a WW•š[ZQRmT3210YGŒÕH@ ÔÌÄÔÌ2K°SK°QZK°T[X½ÿÀÿÀÿÀ888Y1@   ÔÌ/ÌÔÌÔÌY05!.#"5>32#"&73267G‚sC}>?ƒC©Å»ŸŽ¦thVau»2koa®•šµ£mTebXTŒb2&'&547632.#";#"32767#"&5476ùG&%HG{065>=f,K,,+*Ib]W-155_;65-9553–¢+,î$$4O,, ^$'U13 `fa<))RŒ`1#"'&'532654'&+5327654'&#"5>32»FLHG{065>=23-KX+*Ib]V.156_:65-9j2–RQ,+¼ H4O-+]4$'U 12  `33a<))G­¾ 14'&#"327#"'&'53276=#"'&763253J44^]4444]^4¨PP¥=7633223r99$88N‚OPPO‚N88$tmà=>>=à=>>F NO e 45k37XX"XX7_z¨î3#53ztttýô‚‚uœç 33 ##uuZ”þ‰†—þšuýþþÛþ²2þÎuœ{)67632#4&#"#4'&#"#367632Ÿ+=þzx66X6V‚YYk\þžsa8BDGŒÏ 6@ ÔÌÔÌK°SK°QZK°T[X»ÿÀ ÿÀ88Y1@ ÔÌ/Ì0"32654&'2#"&546‹]ml^]ll]—­­—˜¬¬Çqq‚poƒW®›š¯¯š›®GŒu 67632#"'&'532764'&#"G0336¥^_]^ :5311213p?>>?p3121÷ XX™—YY _ ?@æ@? GÕÏ4'&"#4632T66º67z¬˜—WVÕoBAA@q›®WW›GŒÏÕ27653#"'&5Â66º67z¬˜—VWÕoBAA@q›®WW›u­ì#3>32#"&$4'&"27êuu$pMPPPPMpf45¸5445¸5úþ³b_86Z[þØ[Z6¡ä@AA@ä@AA#œÛÁ3#;#"'&5#535ìïï0Hww†33UUÁ²Pþ¬M,V-,vTP²nŒ½3327653#5#"&nt''N^67tt+78Jy~”{þˆY,-65\cý`9†nÇAÔ!5!27654'&#!5!#þU¦e22<KLÇg#"FS10gg%dAl88u{(#"&53327653327653#5#"&Q+<=Rnxu$$IZ54t$$KY45tt(78LMlE!"Šzþ‰[+,64\cþ‰[+,66Zcýb;F&œÕ33#&{ÝÜ{þøžýòýºþV£{(!2.#">32#"&'#32654&#"ºþa¬QQžRµ´9²|ÎüüÎ|²9¸¸¥•”¥¥”•¥F³,*½¿[cbþÆþýþüþÆbcª#ÈÜÜÈÇÜÜt…`5!#3#3!53#53t¨¨¨¨ýð°°°¼¤¤þ¬¤þत ¤T‘þV/%+53276'7#3/¤´F0j&*¸¸š®ÖÀœ06”ú†GŒ¾#367632#"'&$4'&"27»tt%87N€PQQP€N78f54¸5555¸4ú_s^8Z[þØ[Z¡äA@@AäA@@GŒu&'&#"32767#"&54632u1122q>??>q22110h;Ÿ¼¾¥533÷` @?æ?@ _²—™° GKv+325&#"47&'&54632&'&#"632#"Z%0\R@5`$^¾¥4412/412q>??5{¼Ò3î *š &;/Z–™° ` ?@æ@bŠiGŒÏ.&'&#"32654'&7#"&54632''7'37 i:;n\[nO$$ZY‘’²®‹ dɱrPѺœ =67TŒb1#"'&'5327654'&+532654'&#"5>32½N+,QR–2658-56:_651.V]aIV-+K-32==l/|GHLî ))¿¿unn77wU:8PýÝ#P,i/0ÿé­\#5333#3+53276=zrrtno43r,BœP#ýÝP x66XU G­¾ ,5#"3276#"'&'53276=#"'&54763JÆ]4444]^44tPP¥=7633223r99$88N‚OPPO‚Ýë>=à=>>=¢ýÛ NO e 45k37XX‘‚XXn­½3327653##"&nt''N^67tt+87Jy~”{þˆY,-65\cüžO9†Iœ– 5333##53#Irtggttt™\þæ\ýýj‚zœ~ ;#"&5îC,rfþpUWlwIœ– 5!#3!53IMjjþ³o³\\þE\\»Iœ–!=!#3!53–þ³Mjjþ³oõ\\¾\\þE\\»ÿV­`3#"54;33#'#"3276ztte¿ªztry "3rKNB ‚ü,|ssýW?#5˜$ z­~3;#"&5ztC,rfäüáSVXlx[­`+53276'7#3`34r,Bttòax66XS güïqœƒ3!!q“ýîýÝ_u­{467632+53265&7454&#"#4'&#"#367632Ÿ+=32#4'&#"î43r,B0t*pJz>?t'(N^66‘x66X6V~a88BDþ…wY,-56\u­U 4'&#"#367632;#"'&5P''N^66uu)89Jy?>0B,r34Y,-56\þžsa8BDþzV6X66xqœÄ 33##q«-{«þÓ{þùý~úþGŒÏ 2#"'&5476"!&'!3276‹—WVVW—˜UWWUõº6/‘/1þw &6^]6&WW›šWXXWš›WWW@9\[8ïE-AA.G®Ï&.#5!#3!535&'&5476767654'&O—¢—pFVVFp—þ^—nCWWCnt6%66%ª4#76$§\\ŒFW›šWG…\\†FWš›WE[þ*,ApoA-þ9Ô*Aâ@+F­a:.#"#"/;#"'&=32654'&/.547632;1j8W*,]({44MNˆ9> 0B“ r34@?>=RX l)k`GF‚@rýb/$+*MW33 V6X66x"j2-*TIX00ÿé­Ê476;#"+5326z73zno>43r,B0‘]Me30U:ýJx66X6#­ÛÁ3#;+5326=#"'&5#535ìïï0Hw43r,B0†33UUÁ²Pþ¬M,ax66X6V -,vTP²^Œ!533!33##5#"&=)3276^ntgtuut+87Jy~Úþš''N^61™\þæþæ\ý`9†‚Y,-6/G‹Ø&5!327654'&'5!# '&54767GE()78Z[78*,?”G$"ZYþäYZ!"J³\{':?KY7667YR8>#{\8?>LƒRRQR€R<=:zœ¿31+"&53?27654'&'&gËH#"YZŽ,rftA Z87)2:0Ä8?>LƒRRlwþpU67YQ8C&œÕ# #3Õ{ÜÝ{ žœýòs7œn !!!5!G'þL´ýÉ´þ\^þ=R^Ã7­ý!!#;#"&=!5!G'þL´C,rfþ>´þ\^þ=R VXlx ^Ã7^n#47#5!5!3632#'3254#|`å´þ\'þLn&ŠÒ m,7œ!!^ÃR^þ=¢ŠjR37¨£!2#"'&'5327654'&+5!5!hCQ>63``°;??C5~Ex>?::hnþ\&§ =;M|CD m**PJ*)]R^GÏ !32767&'&"2#"&76Sþo/6^]6/ +6º6,Ç—WVVW—˜¬VV*€MWXMÞmGYXFoƒvwþ^wwî¢wvÿÿý.hÕ'ª·$ÿÿ{ý.-{&ªkDÿÿÉìP"%–­@ÿÿºÿ㤅'³uEÿÿÉþ‡ìÕ"%Ï¥ÿÿºþ‡¤"EÏšÿÿÉþÀìÕ"%Š—ÿÿºþÀ¤"EŠÿÿsþu'k"‰Cvþð@,Ìÿÿqþuçf"©vCÿÿɰP"'–ý@ÿÿqÿãn…'³þuGÿÿÉþ‡°Õ#Ï®'ÿÿqþ‡Z#ÏzGÿÿÉþÀ°Õ"'ŠèÿÿqþÀZ"GŠOÿÿÉþw°Õ"'z[ÿÿqþuZ"GzöÿÿÉþ°Õ'ƒ¦ù*'ÿÿqþZ'ƒ^ù*GÿÿÉ‹Z"(žîÿÿqÿã^'žÿÙÿHÿÿÉ‹Z"(ìÿÿqÿã^&Hÿ×ÿÿÿÉýÝ‹Õ"(Ù±ÿÿqýÝ{"HÙ°ÿÿÉþv‹Õ"(«³ÿÿqþv{"H«›ÿÿÉþu‹f"(c•Ú¾@9™z¾ÿÿqþuH"H#•‡zKÿÿÉ#P")–v@ÿÿ/øP"I– @ÿÿsÿã‹"*†2"ÿÿqþVZö"J†IÿÿÉ;P"+–@ÿÿºd…'³uKÿÿÉþ‡;Õ#Ï+ÿÿºþ‡d#ÏKÿÿÉ;P"+j@ÿÿÿëd…'´uKÿÿþt;Õ"+zþîÿÿÿÿþtd"KzþßÿÿÿÿÉþ9;Õ"+Ú ÿÿºþ9d"KÚ•ÿÿþv”Õ",«ÿJÿÿ'þv8"LB«–33@ÿÿYZ",›þtÿÿÿôF"ó›þaþ¼ÿÿÉjk".Cv¤ð@,Ìÿÿºœl'fZvNÿÿÉþ‡jÕ".ÏÜÿÿºþ‡œ"NÏ‘ÿÿÉþÀjÕ".Š ÿÿºþÀœ"NŠvÿÿÉþ‡jÕ#Ïš/ÿÿ¶þ‡ƒ#ÏOÿÿþˆjk'°*u'Ï™/ÿÿÿñþ‡H1#qÿ;$ÿÿÉþÀjÕ"/ŠŽÿÿ'þÀ"OCŠÿ}33@ÿÿÉþjÕ'ƒ—ù)/ÿÿÿÞþ\'ƒÿù)OÿÿÉk"0CvBð@,Ìÿÿºf"Pv”ÿÿÉP"0–w@ÿÿº'–FPÿÿÉþ‡Õ#Ït0ÿÿºþ‡{#ÏæPÿÿÉ37'mþ\1ÿÿºdÁ'–ÿ±QÿÿÉþ‡3Õ#Ïþ1ÿÿºþ‡d{#ÏQÿÿÉþÀ3Õ"1Š÷ÿÿºþÀd{"QŠŒÿÿÉþ3Õ'ƒþù'1ÿÿºþd{'ƒ•ù'QÿÿsÿãÙZ"2£fÿÿqÿãu "R£ÿ²þ²ÿÿsÿãÙV"2¡lÿÿqÿãu"R'joÿgrÿÿsÿãÙZ"2žjÿÿqÿãu^&RžÿµÿÿÿsÿãÙZ"2hÿÿqÿãu^'ÿ¹ÿRÿÿÉk"3CvAð@,ÌÿÿºþV¤f"Sv2ÿÿÉP"3–„@ÿÿºþV¤'–ÙSÿÿÉTP"5–ƒ@ÿÿºJ"U–ÿÿÉþ‡TÕ#Ï}5ÿÿºþ‡J{#Ï UÿÿÉþ‡T3cqz2@@nGÿÿºþ‡Jõ"qÿHÿÿÉþÀTÕ"5ŠåÿÿTþÀJ{"UŠÿÿÿ‡ÿã¢P"6–¸@ÿÿoÿãÇ&–%Vÿÿ‡þ‡¢ð#ÏŠ6ÿÿoþ‡Ç{#ÏVÿÿ‡ÿã¢k"6#–ÿ¤ZCvòð@,Ìÿÿoÿãâf"V"–ŒVvÿÿ‡ÿã¢W&¢ä6ÿÿoÿãǰ&#–" ÿÿ‡þ‡¢P"O–›@ÿÿoþ‡Ç"P–*ÿÿÿúéP"7–r@ÿÿ7ò/"W–ÿ#ÿÿÿúþ‡éÕ#Ïq7ÿÿ7þ‡òž#ÏèWÿÿÿúþÀéÕ"7Šbÿÿ7þÀòž"WBŠ<33@ÿÿÿúþéÕ'ƒrù'7ÿÿ7þ'ž'ƒÿèù&Wÿÿ²þ‰)Õ#Ðð8ÿÿ®þ‰X`#Ð{Xÿÿ²þv)Õ"8«òÿÿ®þvX`"X«ÿÿ²ýÝ)Õ"8Ùàÿÿ®ýÝX`"XÙuÿÿ²ÿã)Z&£.8ÿÿ®ÿãXì&+v–†ÿÿ²ÿã)4&™28ÿÿ®ÿãXô'™ÿÈþÀXÿÿh}"9™íFÿÿ=7"Y™mÿÿþ‡hÕ&9ϼÿÿ=þ‡`&YÏ^ÿÿD¦r'hõ|:ÿÿV5k'C ZÿÿD¦r'fõ|:ÿÿV5m'v†ZÿÿD¦4'jõ$:ÿÿV5¿'jEÿ¯ZÿÿD¦P":–õ@ÿÿV5"Z–GÿÿDþ‡¦Õ":ÏûÿÿVþ‡5`"ZÏJÿÿ=;P";–Ê@ÿÿ;y"[–gÿÿ=;N";jÊ>ÿÿ;y"[jfÿÿÿüçP"<–p@ÿÿ=þV"\–fÿÿ\k"=Cƒ¾ð@,ÌÿÿXÛf"]ƒÿÿ\þ‡Õ"=ÏÙÿÿXþ‡Û`"]Ï1ÿÿ\þÀÕ"=ŠÇÿÿXþÀÛ`"]ŠÿÿºþÀd"KŠfÿÿòN"Wjÿ->ÿÿV5"Z—Bÿÿ=þV"\—ÿÿ{ÿãa"D{Úÿÿ/øP"A–ÿý@ÿÿþ‡hÕ#Ï·$ÿÿ{þ‡-{#Ï!Dÿÿhð&$µ¼uÿÿ{ÿã-{&DµTÿÿh:"$¤ÿÿ{ÿã¯Å'¤ÿ—þ‹Dÿÿh:"$¥ÿÿ{ÿã-Æ&D¥ÿ”þŒÿÿh["$«ÿÿ{ÿãæ'«ÿ–þ‹Dÿÿhu"$¦ÿÿ{ÿã-'¦ÿ–þ‹Dÿÿþ‡hm#ϯ„ÿÿ{þ‡-f"¤Ï"ÿÿhZ"$¨ÿÿ{ÿã-'¨ÿ‘þªDÿÿhZ"$©ÿÿ{ÿã-'©ÿ’þªDÿÿh‹"$ªÿÿ{ÿã-5'ªÿ”þªDÿÿhY"$§ÿÿ{ÿã-&D§ÿ’þªÿÿþ‡h’"ÄÏÀÿÿ{þ‡-"ÅÏ3ÿÿÉþ‡‹Õ&(Ïžÿÿqþ‡{&HÏ‹ÿÿÉ‹ð&(µžuÿÿqÿã{&HµÿÿÉ‹Ec™¹L@33(ÿÿqÿã7#™—HÿÿÉ:"(¤ÿÿqÿãèÅ'¤ÿÐþ‹HÿÿÉ‹:"(¥îÿÿqÿãÆ'¥ÿÐþŒHÿÿÉõ["(«îÿÿqÿã׿&H«ÿÐþ‹ÿÿÉ‹u"(¦êÿÿqÿã'¦ÿÑþ‹HÿÿÉþ‡‹m"ŒÏžÿÿqþ‡f'Ï‹&¢ƒ‹ÿÿZð&,µ#uÿÿD|"óµ ÿÿÈþ‡”Õ&,Ï.ÿÿ·þ‡ƒ&LÏÿÿsþ‡Ùð&2Ï'ÿÿqþ‡u{&RÏsÿÿsÿãÙð&2µ'uÿÿqÿãu{&Rµ}ÿÿsÿãÙ:"2¤lÿÿqÿãÎÅ'¤ÿ¶þ‹RÿÿsÿãÙ:"2¥jÿÿqÿãuÆ'¥ÿµþŒRÿÿsÿãÙ["2«jÿÿqÿã½æ'«ÿ¶þ‹RÿÿsÿãÙu"2¦eÿÿqÿãu'¦ÿ¶þ‹Rÿÿsþ‡Ùm"–Ï'ÿÿqþ‡uf'Ïs&¶ƒsÿÿgÿãÃk'f'ubÿÿvÿãÓf&vscÿÿgÿãÃk'h'ubÿÿvÿãÓf&CscÿÿgÿãÃð"bµ'uÿÿvÿãÓ{&cµ}ÿÿgÿãÃ^'g'ubÿÿvÿãÓ7&™scÿÿgþ‡Ãð"bÏ'ÿÿvþ‡Óë"cÏsÿÿ²þ‡)Õ&8Ïõÿÿ®þ‡X`&XÏ{ÿÿ²ÿã)ð&8µîuÿÿ®ÿãX{&Xµ}ÿÿ­ÿ÷_k'fîuqÿÿ°ÿãif&v{rÿÿ­ÿ÷_k'hîuqÿÿ°ÿãif&C{rÿÿ­ÿ÷_ð"qµîuÿÿ°ÿãi{"rµ}ÿÿ­ÿ÷_^'gîuqÿÿ°ÿãi7#™€rÿÿ­þ‡_é"qÏõÿÿ°þ‡ië"rÏ{ÿÿÿüçr&<hr|ÿÿ=þVk&\C!ÿÿÿüþ‚çÕ#Ïvÿû<ÿÿ=þV`#Ït\ÿÿÿüç÷&<µr|ÿÿ=þV‚&\µ`ÿÿÿüçEc™yL@33<ÿÿ=þV7"™w\ÿÿqÿæåa&4“pÿÿqÿæåa&4ËHÿÿqÿæåf&4 ”ÿÿqÿæåf&4­„ÿÿqÿæåf&4¡„ÿÿqÿæåf&4® ÿÿqÿæåm&4¢vÿÿqÿæåm&4¯Dÿÿha&“ÿ#ÿÿha&Ëþóÿÿôf'Œ ÿ|ÿÿôf'Œ­ˆÿÿf'®¡ÿSÿÿXf'ð®ÿoÿÿ™m&1¢ÿQÿÿàm&x¯ÿNÿÿ…ÿãÈa&8“Dÿÿ…ÿãÈa&8Ë9ÿÿ…ÿãÈf&8  ÿÿ…ÿãÈf&8­%ÿÿ…ÿããf&8¡Oÿÿ…ÿãf&8®Rÿÿ-a'¢“þÿÿ-a'¢Ëþÿÿ7f'¬ ÿ|ÿÿIf'¾­ˆÿÿ­f'"¡ÿSÿÿéf'^®ÿoÿÿºþVda&:“¦ÿÿºþVda&:Ë¢ÿÿºþVdf&: €ÿÿºþVdf&:­pÿÿºþVdf&:¡„ÿÿºþVdf&:®®ÿÿºþVdm&:¢œÿÿºþVdm&:¯‡ÿÿéa'®“þÿÿæa'«Ëþÿÿçf'¬ ÿ|ÿÿíf'²­ˆÿÿnf'3¡ÿSÿÿŸf'd®ÿoÿÿ¯m't¢ÿQÿÿÊm'¯ÿNÿÿ›na&<“ÿÿÿ‘na&<Ëÿ ÿÿÿ°¹f&< ÿ'ÿÿÿºÇf&<­ÿ<ÿÿåf&<¡ÿQÿÿÿÒîf&<®ÿ=ÿÿÿËnm&<¢ÿÿÿÿÆnm&<¯ÿÿÿAa'®“þÿÿ5a'¢ËþÿÿKf'¸ ÿ|ÿÿKf'¸­ˆÿÿÇf'4¡ÿSÿÿf'p®ÿoÿÿ"m'¢ÿQÿÿ)m'–¯ÿNÿÿqÿãua&B“xÿÿqÿãua&BËnÿÿqÿãuf&B eÿÿqÿãuf&B­Tÿÿqÿãuf&B¡ˆÿÿqÿãuf&B®‘ÿÿÿãüa&##“þÿÿÿãVa&#}ËþÿÿÿãOf'#v ÿ|ÿÿÿãYf'#€­ˆÿÿÿãf'#6¡ÿSÿÿÿãPf'#w®ÿoÿÿ•ÿâ*a&H“=ÿÿ•ÿâ*a&HËÿÿ•ÿâ*f&H 'ÿÿ•ÿâ*f&H­!ÿÿ•ÿâ*f&H¡`ÿÿ•ÿâ*f&H®Wÿÿ•ÿâ*m&H¢8ÿÿ•ÿâ*m&H¯ÿÿIa'(bËþÿÿÿf'(­ˆÿÿf'(6®ÿoÿÿ3m'(L¯ÿNÿÿ‡ÿâ(a&L“^ÿÿ‡ÿâ(a&LËTÿÿ‡ÿâ(f&L Yÿÿ‡ÿâ(f&L­^ÿÿ‡ÿâ(f&L¡¤ÿÿ‡ÿâ(f&L®‹ÿÿ‡ÿâ(m&L¢cÿÿ‡ÿâ(m&L¯^ÿÿa&,N“þÿÿqa',¢Ëþÿÿif',š ÿ|ÿÿuf',¦­ˆÿÿCf',t¡ÿSÿÿyf',ª®ÿoÿÿm',B¢ÿQÿÿPm',¯ÿNÿÿqÿæåf&4¿tÿÿqÿæåf/ÿÿ…ÿãÈf&8¿Tÿÿ…ÿãÈf0ÿÿºþVdf&:¿ÆÿÿºþVdf1ÿÿÿnf&<¿þãÿÿ¦˜f2ÿÿqÿãuf&B¿{ÿÿqÿãufOÿÿ•ÿâ*f&H¿0ÿÿ•ÿâ*fPÿÿ‡ÿâ(f&L¿Mÿÿ‡ÿâ(fQÿÿqþVåa&ãHÿÿqþVåa&äHÿÿqþVåf&åHÿÿqþVåf&æHÿÿqþVåf&çHÿÿqþVåf&èHÿÿqþVåm&éHÿÿqþVåm&êHÿÿþVha&ë’ºÿÿþVha&ì’ºÿÿþVôf&í’FÿÿþVôf&î’FÿÿþVf&ï’hÿÿþVXf&ð’ªÿÿþV™m&ñ’ëÿÿþVàm&ò’2ÿÿºþVda&ÿÿ8ÿÿºþVda&ÿ8ÿÿºþVdf&ÿ8ÿÿºþVdf&ÿ8ÿÿºþVdf&ÿ8ÿÿºþVdf&ÿ8ÿÿºþVdm&ÿ8ÿÿºþVdm&ÿ8ÿÿþVéa&’žÿÿþVæa&’›ÿÿþVçf& ’œÿÿþVíf& ’¢ÿÿþVnf& ’#ÿÿþVŸf& ’TÿÿþV¯m& ’dÿÿþVÊm&’ÿÿ‡þV(a&7Yÿÿ‡þV(a&8Yÿÿ‡þV(f&9Yÿÿ‡þV(f&:Yÿÿ‡þV(f&;Yÿÿ‡þV(f&<Yÿÿ‡þV(m&=Yÿÿ‡þV(m&>YÿÿþVa&?’\ÿÿþVqa&@’°ÿÿþVif&A’¨ÿÿþVuf&B’´ÿÿþVCf&C’‚ÿÿþVyf&D’¸ÿÿþVm&E’PÿÿþVPm&F’ÿÿqÿæåH&4•zÿÿqÿæåö&4qyÿÿqþVåf&GHÿÿqþVåz&4HÿÿqþVåf&/Hÿÿqÿæå7&4”nÿÿqþVå7&ŠHÿÿhm&lºuÿÿh1&q¼;ÿÿÿüªf&B¿ÿRÿÿhf ÿÿþVhÕ&’ºÿÿ†Âxa“ÿÿ¶þV’ÿ¤†ÂxaH´ Ô<ܲ?]À1¶ Ô´?_]°KPXÌÀYÌ̲?]90±I±IPX³@@88Y#55#53xò†…ñÍþõgžÿÿ¶J7™ÿÿ¶FJm'g„jÿÿºþVdf&Kÿ8ÿÿºþVd{&:ÿ8ÿÿºþVdf&1ÿ8ÿÿºþVd7&:”ÿÿºþVd7&™ÿ8ÿÿÿüíf'b¿ÿRÿÿÿçufÿÿÿü©f'n¿ÿRÿÿÿófÿÿÉþV;Õ&’ÿÿÿ‰Â’f'“ÿ¿ ÿÿ´Â”f'“ÿ.ÊBÿÿ¶ÂJm'g„“ÿÿÿënH&<•ÿ$ÿÿÿãnö&<qÿÿÿÿØnÒ&<½ÿ.ÿÿ€Òÿÿÿäx7&<”ÿ.ÿÿÿæzm&<•ÿ0ÿÿÿõgm&l.uÿÿ[1&qÿ0;ÿÿÿüf'q¿ÿRÿÿÿí}fÿÿ~‹f'Ëþø¿ÿÿ•±f'ËÿÊ_ÿÿ¶ÂJm'g„Ëÿÿ•ÿâ*H&H•'ÿÿ•ÿâ*ö&Hq$ÿÿ•ÿâ*Ò&H½ÿÿ•ÿâ*Ò3ÿÿºþV¤a&D“»ÿÿºþV¤a&D˱ÿÿ•ÿâ*7&H”'ÿÿ•ÿâ*m&H•ÿÿÿüçm&(lvuÿÿÿüç1&(q€;ÿÿÿüÇf'(à¿ÿRÿÿÿá‘fÿÿ5a'%¨ËþÿÿªF)Ò&j¿lÿÿ×FRÒ ÿÿªð‰fCÿÿ‡þV(f&SYÿÿ‡þV(`&LYÿÿ‡þV(f&QYÿÿ‡ÿâ(7&L”Oÿÿ‡þV(7&ÃYÿÿÿüÿãf'#;¿ÿRÿÿÿòÿãfÿÿÿüf',D¿ÿRÿÿÿÛfÿÿNþVÏç&,’ÿÿsîRfv†ÂxaH´ ÔÀܲ?]<1¶ Ô´?_]°KPXÌÀYÌ̲?]90±I±IPX³@@88Y53#7"†ò††òÍ”žgd߃¶œÜÌ1Ôì0!!dý僤ÿÿd߃Üéy¶©é/Æ1üì0!!üyéy¶©é/Æ1üì0!!üyéyµ©/Ì1Ôì0!!øyéyµ©/Ì1Ôì0!!øyÿÿþø"__Jÿÿÿìþÿî&BBB®éÓÕ@ žÜüÔÌ1ôì0#53Ó¤Ré­?þÁ²þ×Õ@ žÜìÔÌ1ôì03#Ó¤RÕ˜þÁ?®ÿÓþ@ žƒÔìÔÌ1üì0%3#Ó¤Rþ¬þÀ@²þ×Õ#5…R¤Õ˜þÁ?˜®émÕ '@ž   ÜüÌÔÌþÔÎ1ô<ì20#53#53Ó¤RšÓ¤Ré­?þÁ­­?þÁ®émÕ '@ ž  ÜìÔÌÜîÔÎ1ô<ì203#%3#Ó¤RšÓ¤RÕ¬þÀ@¬¬þÀ@®ÿmþ '@ žƒ   ÜìÔÌÜîÔÎ1ü<ì20%3#%3#šÓ¤RþfÓ¤Rþ¬þÀ@¬¬þÀ@®émÕ #5!#5R¤mR¤Õ­þÁ?­­þÁ?­9ÿ;ÇÕ '@¹  YW Y Ô<ìü<ì1äôÔ<ì203!!#!5!¨°oþ‘°þ‘oÕþ\™û£]™9ÿ;ÇÕ>@ ¹¹  ÂY W Y Ô<<ì2ü<<ì21äôÄ2Ä2î2î20%!#!5!!5!3!!!Çþ‘°þ‘oþ‘o°oþ‘oßþ\¤š™¤þ\™ýá3Ñ…! · Ç \ Ôì1Ôì04632#"&3­~|«¬}}¬ú|««|}¬¬3Õq3¢ðþˆìÁþ73#ìÕÕþþìkþ%3#%3#–ÕÕýVÕÕþþþþìþ #@ƒ   ÔüÔìÔì1/<<ì220%3#%3#%3#–ÔÔ©ÕÕú­ÕÕþþþþþþÜk¯i3#ÜÓÓiþqÿã Lð #'3?K®@D$%&%&'$'B@’ .’(’F’4 :&Œ$‘L%IC'1+C =  1 =I 7+ ! LüäìÔÄìäîîöîî991ä2ô<<ä2ì2îöîî20KSXííY"K°TK° T[K° T[K° T[K° T[K°T[X½L@LLÿÀ878Y"32654&'2#"&5462#"&546!3#"32654&2#"&546"32654&ôWddWUccUžº» º»ùtž¼»ŸŸ¹º% üZ VcbWWcd²žº» º»ŸWccWUcc‘”„‚••‚ƒ•Ü»»ÛÛ»¼ÛàÛ»½ÚÛ¼ºÜùóŽ•‚„””„–ýŸÜ»»ÛÛ»¼Û”„‚••‚ƒ• qÿã rð "-7;EP\"32654&'2#"&546"32654&'2#"&546  &54%3#"26542#"&546"32654& WddWUccUžº» º»ýyWddWUccUžº» º»øÖ<¼»þ¹ß üZ u¬cb®cNžº» º»ŸWccWUcc‘”„‚••‚ƒ•ÜþŠÛÛ»¼Û”„‚••‚ƒ•ÜþŠÛÛ»¼ÛàÛ»½ÚÛ¼ºÜùóŽ•‚„””„þ5ÜþŠÛÛ»¼Û”„‚••‚ƒ•(` Õ3(­Ëþß`uþ‹ÿÿ(`ÌÕ&öö,ÿÿ(`øÕ'ö,&ööX(` Õ#3 WþßË`uÿÿ(`ÌÕ&ùù,ÿÿ(`øÕ&ù'ùXù, þ«ÿÃ#'#«”»¼•Rþùù¦žs#G@%èèèèBç¦onüì291ôì90KSXííííY" 5sþÓ-þ+#¿þôþô¿¢RÁ–#I@&èèèèBç¦opü<ì91ôì90KSXííííY"5 ÁÕþ+-þÓ#þ^Rþ^¿  ÿÿÃëÌ"™K#ÿèN##=NÎÿÿ“OÕ'ÿ^O“°ð$#5>323#7>54'&L¿ Za^Ág¸ßHZX/'ÅËËÅ-93A%‘­ #C¼98ŸL‰VV/5<4þòþBþR-5^1Y7ÿÿÿì| B_ÿ§þÇÿ… %³ ÄÔij991@  ÔÜÜ<Ì202$7#"$'56çÅåëþ:àßþ<ìæÂþµhh~vvuw~igÿ§Çn %³ ÄÔij991@  ÔÜÜ<Ì202&$#"56$6àÆëåþ;ççþ>æìÄnvv~hhgi~wuÿªþIÕ3 # #çbþâbíícÕþ$þ$Šþvÿÿ=ÿÅÃ# ý{# ý{ “ÿÿÝ3_C†ún@`þ‰ÿãÍð+@BŒ‘ÔÌ1ää0KSXííY"3#- ü\ ðùó°þòX 3!!#3hðþX¨ðð^ý#"ý#J°þòX 53#5!!53°ðð¨þXð^JÝøÞÝÿÿIð&"¶"fÿÿ“Jð&"Jÿÿ“Jð'ÿ^"šo¡„%3#5##5!!5!3#þ©Ñ´àù$¨ý2Ã¥Ðfff‹„Cþ4fìÿ;‡Õ !333>54$¬þ@¾Ž×ëþüÕùfùáNݸ¾èØÂ( 3+"&5463y¯¯v}¬­~ý±¬}|«ØÂ( ';2+‡¯¯v~­¬}ÂO«|}¬ÿÿ=ÿÅÃk ý{ÿB# #3#3ðÓÓÓ¤R#þýÙ¬þÀ@ÿÿÿ§þÇn&ÿÿ=ÿòÃo# ý¨ ÿÿ‘ÿBCÕ#‘#ŽÿÙHÿÿÙÓÛ1aÿÿÿ§þÇÿ~ø8È| #'7!5!'737!!ª ùqùþŸaúqú úqúaþŸúq)þŸ`ùrù úrûbþžúqú ùrú2¶¶ 535353úÈ,ÈÈÈÈÈþ¢ÈȼÈÈÿÿ(`$Õ'ö,&ö'ö„öXfNè 53!535353fÈXÈý¨ÈÈÈÈÈÈÈþpÈÈ ÈÈföNÞ 5353535353öÈÈÈÈÈü,ÈÜȆÈÈþpÈÈ ÈÈüôÈÈ ÈÈÛ®Õ3#3#ÛÓÓÓÓÕþü'þdþåýï 3#%3#3#3#dÓÓÆÓÓýÓÓÓÓiþþþ„þùòþpDÕ %53535353#!5!3!†ÈÈÈü,ÈÜÈ| ýfš šöÈÈ ÈÈüôÈÈ ÈÈþ„ýfš ›ýe ÛP®> 3#3#3#ÛÓÓÓÓÓÓ>þýþöþÛ®w 3#3#3#3#ÛÓÓÓÓÓÓÓÓ‰þìþü–þðþWîð "27654/2#"&546Ê2332Ê233—¡ªª¡¢ªª—VV¬­VVVV­¬V¯ÞÓÔÞÞÔÓÞyœî@ Ü<Ü<Ì1@ÔÄÜÌ03#3#zttttýg‚?œôß Ô@ Ý ÷‘ ] ÜÔ<Äì291ôüÔ<ì290K°TK°T[K°T[K°T[K° T[K° T[X½@ÿÀ878YK°TK°T[X½ÿÀ@878Y@T /9IFYi‹«»       "5GK S[ e„¥µ]] !33##5!5ÝþË5¦‡‡þbfþ]ýämººyfÓß !!67632#"&'53264&#"Žþþy¡^^a`°<~B9>>Eo‚‚o4h6ß_Ì MLƒ‡KJq f®f\óð/"327654'&&'&#"67632#"&547632³X3333XW3333«1221€DD &9:D‘TTXW‘§°ll¶122m45[Z4554Z[54bg KL™1LM„ONÞÔÆuv lœÕß!#!liþ¤ˆHþ3ß0üíäYìð *:"32764'%&'&546 #"'&54767327654'&#"º55j]\655þìT./¤RQ./SZ85UVžŸUV56-/.UQ100/SS0/*,+KLV,+–+]12Hdt::dJ01:7PyAAAAyN98Æ?&%%$A?&%%$Séð.532767#"&547632#"'&2654'&#"‘1220DC #<9E¨WX‘§WXkl¶122ÌXf33XU5443®g KKš/˜„MNooÔÆuv rh\Z4554Z\44‰œ°k !!#!5!Q_þ¡iþ¡_kþÈ_þÈ8_8‰Ô°3!!‰'üÙ3_‰a°¥!!!!‰'üÙ'üÙ¥^‡_o #&'&4767TRRTe^///._üþþþ€ƒ€ú~„gˆ3#676'&ge_/../_eT)**)„~ú€ƒ€~~uœÅ0@ ÔÜ32ÄtNN^luu)qJy}þ…wYYk\þžsa88†ÿÿWÿñîT#ýdÿÿ‰ÅC{ýdÿÿ^´TtýdÿÿbÿñÍTuýdÿÿ?ôC%ýdÿÿfÿñÓC&ýdÿÿ\ÿñóT'ýdÿÿlÕC(ýdÿÿYÿñìT)ýdÿÿSÿñéT*ýdÿÿ‰°Ï+ýdÿÿ‰8°—,ýdÿÿ‰Å° -ýdÿÿoÿif.ýdÿÿgÿiˆf/ýdV®Ö##"32.#"3267!!!!!!ÝO²cþþÛ%þe±NL­bÀÌÌÀb­LÄýÓýê:ý/¸667756ŸGFêþDêFG €þµ€þk€sÿ¦¾9'.473&'3267#"'#7&'#7&'&76%73&'hA>›/(%:@þÁwÓ]aØy›A9&›A²² œã‘X}R4>CþÁ5Aëi¥Õ<)û—^_ÓHH?W‡æÏghйKüpþØî”Ëû•(`ÿä³ð,%6767# !2.#"3>32.#".aXj]aÙyþÊþ›e6{Ù_]Ôwêù|^™˜0šn&<$€‹Š'/_ÓHGžghŸGGÕ_^þÇþØþÙœu]\Yª¶«…ËÕ!!!!3###5qZýpPý°úúÊì~WªþHªþµEþÇ9Ebð#!!53#535#535632.#"!!!5-üì¿¿ÇÇÖè=—OLˆ=”t‡þyìþ¾ªªB_ó¶))›ÔHºÿ½«*>32#4&#"#4'#&#"#3>3273Ì= EÀ‚¯¾¹ru¦¹þð€;5Q¦¹¹?°yJ<€!;]|võâý\ž¡œ¾¤ý‡žR<ü‘ú$¿£ý‡`®gbGu‡Õ"&)''#!333#3#!###535#53355KO¶8~ÄÓåÄÃÃÃÃþðÓåÄÃÃÃÃ8~OO¯ÎÎþò““4ýÚ&ýÚ{“{ýÚ&ýÚ&{“{{““þòÎÎÉÿã ÎÕP32654&#+#!233!!;532654&/.54632.#"#"&'5#"&5‡ï…‘‘…Ýqzìï¾­ìzWQ®eþ›Gl«`»[z„_¡<¡ÓÂ`©HJžU]‹;¹›éËU·f«É˜/ýÏ’‡†’þÌÈjqý¨ÕqRˆ>þÂý ‰N#55YQKP%$•‚ž¬®((TT@I!*™‰œ¶##ŸÒ`Éÿã3ÕE326&##.+#! 32654&/.54632.#"#"'&“þ’••’¿Ù¿J‹xÜÊÈüƒ}A{>[b`ca‚Œe«@«˜àÎf´LN¨Z‰‰b”?Ä¥÷ØZa,/ýúØ–bý‰ÕÖØº$~´3YQKP%$•‚ž¬®((TT@I!*™‰œ¶;®Õ"&)-1'#53'3!73!733#3#####5!73'!!7¶]:1Ì00ã00Í19]zžáþÚÃÜþàŸÀ¥¥þu‘û ¥¥å}ýL‘uÂÂÂÂÂÂuü€€ü€€ýg™uuþüýg™uuuu_ÿãñÕ % #4&#!#)"33!3_ÿ¸°þ±¸Žýýÿþú¸°S¸ÒþÖþÜþ‘VðÓú²*$oþªðÓNÿÿþÀ"ÓŠŠÿãð1@: Ó"+Ó ¡®•¡®•/‘Œ) 2+"!)#&  , & &*!/<ÔÄ2üÄÄ99999999991Ä2äôìôìîöîî2Ý<î20K° TK° T[K° T[K°T[K°T[K°T[X½2ÿÀ22@878Y@z  1Ti lnooooiko o!o"o#n$l%i'i-ŸŸŸ Ÿ Ÿ Ÿ Ÿ ŸŸŸŸŸŸ–Ÿ Ÿ!Ÿ"Ÿ#Ÿ$Ÿ%Ÿ&Ÿ'Ÿ(Ÿ)Ÿ*Ÿ+Ÿ,-2   USjg ]].#"!!!!3267#"#734&5465#7332[©fÊ A7ýæ¾8þŠ Êf©[Y¹`íþË(Ó7‹Â7œ(6ìb¹bÕiZÈ»{.# .{»ÊZiÓHH"{/ #/{"G(Õ33!!###5¿½uóý€ªþX°ùý_½—Tý‰wýsýÏý1ásÕ!5!!77#'%5'&ýîïýîåPþËæPþÊËçM4èMžªªþñ¡o؈¢oÙý¸º¡nÙˆ¢nþuZÈ#0;37367"76!32!73 4&+3 #"'3254#"”8t*¬‚–  Š@âî|þ¬þÔ0vD–€P†4JŒ JæÀHþ²à4\V|JJ„°–œD RÓ_¦‘^Ÿ¡þêñþwþÚ˜z ¨n®ÐýXþÿ¡ý‹,sBþ¥þÎþ7#þRmNCöõþ¹‚D¢Õ$+15#53!23#3#+##5!3276!&'&+!!64—RRÈûL\HGZMûþÊSþþMþÿMþ#ýÝ#ìVtqDjt,tkDqý¨xttzIYIíV,uÿã¼ð66767!5!67654&#"5>323!!!3267# $547#5\J€þ5’ ;³¥_ÌsrÚiõ¯þýgØC…üS1¼­rì{€ïjþçþݨ¡J,{ +kv€67Å&&äÆUB{\* {;^~ˆFEÐ/0àÙK?{ªþÓw!,&'&#2767#&'&576753w[TUeeUT[Y\Y[d¹sÔÔy²e]Y\þŠ[CvlC¤Õi--ûñ--iÓH$"þðuÖ9BËtèâ"#û£ùBuª¡f´lCü=zÿË!#'73!5ý„~¯¯~„å›ÍÍ›ü=zÿË5!'3#7ü=å„~¯¯~„d›ÍÍ›CÿÏØ $(B"326=7#5#"&54634&#"5>32%3#.#"3267#"&54632 pSHf¼¼™m¦ÍÆ©ogDc\”GÂÁ°ØüDØ©^o8y‰‰y8o^I‚IÊìîÑC€öBRCI”‚ Mþ >Ož–›W\ 7²$ÊúùË„²4œ”“4±"úÑÔùÿÿÃÿðŒð&rG&F Au>RÿÖÕ+™¸,/¸-/¸ܸܸ,¸(и(/¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸ и¸ и¸и¸#и /º!"+¸!0153&'&'6767!!5&'&76wI3cc3IÊ86QLNN7887NNMR48×ü_¡k•—i³:rÍÍq;Ôzn #¬+ü¤+ª$ *ªÞ rŸn<ÿÏå(2.#"3267#"&54632%3#"326&$  &54^o8y‰‰y8o^I‚IÊìîÑC€ÝØüDØkavva`wwþß‚ÚÚþ~Ù—²4œ”“4±"üÑÔùKùËž’‘Ÿ   øÕÔøøÔÕ<ÿÏM-1332653#5#"&.#"3267#"&54632%3#\¼QPcu¼¼`ž¡ýª^o8y‰‰y8o^I‚IÊìîÑC€ÝØüDØLýõriuðüD PÁÿ²4œ”“4±"üÑÔùKùËÿÿÃ&ð"r)H‡#>54&#"#3>32uƒ¹ƒ j_”Ù y¸/¸wFÚx”£ ¤ý\/HT^Ȧý“ýœ^m ‘$R"b67632#6&#"##7373!!”UcduÁLK-ƒ¸‚]|•Ñ {¹ùšš¹@ýÀ²e22wxèý\žŸž¾¤ý‡}““}jÿãFð!2?632327654'&54?#"'&#"632327#"&#"jŒou9„!ydG>PPÕPP5ʺò6…8^nm{z€}}È‹oÖz€Z¥'PV‰aK~p’md Œ‹yk”b¼^òÞOP681/:ª:b:ÿäÿãÒð&3273#"'#67&5477632654#0)W:K…ÌþH¾JýºÆî"&þÂ>&Š:(^^&<w/ÉþåÀ8ý‰ÕÖØº$~þh–\úó ýnŽýj%T¤žX$©ƒÕ§¸ /¸!/¸ ¸и/¸ ܸи!¸ܸÜAêú]A)9IYiy‰™©¹ÉÙ ]¸ и /º9¸ /¸/¸/º+¸º +¸0132654&#+#!273 # #sþšš s­þÊÈûN®¾èþÍCéÏÔèI/ýÏ’‡†’ý_6ý¨ÕãÛ¬kÛêþ†þkþü•‹(Ø'4.#"#"&'532654&/.54632733###æUW'AG/E8piŒ4sG[d/EK7?8pcŠ|3iи¡¢¸ŠŒ‡‰·Y"*/( VAO[`*,2,* M=H\þ¬TýÈ”þØ(þlÿü0`!!#!!!!!!!3!!³þr˜þsàoþÕþ+öý…ï…àý›`€ü à`fþ÷fþ»f€üæf'“FÕ >@!  É  b b cbcÔäüäÔìÔì91ô<<ì2Ô<<Ä903#######5J®¤ªqÃ7ËrqËrÉÕÿý¾äþÑ/þB^þä^ÿÿNÏç,NÿãÏÊ5! 5475!!! 4'Ïý¨±ÆþøþPþ÷Dzý¨?ž‘1/Ž¡²²aþ´ÊðþÞ#ïÊLa²²‹þÖ¸þÂþv‰5Â(ÿÿÉjÕ.ÿÿhm‡}ÿçY-)% 7673 $54$32!"53!25&'&#"C]–J˜jMo_޳þzþ›ÆÉg¾½gÊûJF_˜Ÿ ˜_DäM3TT<`xGZ³A¯°E®®þ»°IpP3RQ4OÉ#Õ )5!!5!3#ü¦ý°Pʪ¸ªÉhÿçJ) 4&#"322#"&54©WOmVPm˜ËÝ¢˜ËÝ÷t}þþÏt{ýØ£ÆþÿØ£Ægÿã²ð6 4'+5654/&54?'&547 '&5474/Ä‹c2üû›>B¬d=VEõÄ/b5Œšñc2ltc2¶c2Ðþuc1‚LS2œ?B¬djl,>8?]/c6gU›ñc1‚LS2ý–tc1‚LS2¶c1‚LS2— L`  !!!!#!3#'!#33 # #—ƒþ¼þD—ƒµjÿ—wŠZþDZŒÖõöþÃRþëþé``€þ¶ýéþC5ü€ææ€þ³MþRþ.}þƒÞ;ÿâ¸ð&0 #673>32#"&'532654&7>54&#"ºþ;Bº h]þéühäƒñ2††02Þ¸S¥UWžDiƒ;2[UÔ _¦I@YËr„~“YWþí×€ác?}<¢Å$$¶/1oX3gÎQ¡X’Â?@ÿÿ‰ÿãXð"{' )5u‹ýdÿÿ^ÿãXð"t' )5u‹ýdÿÿ‰ÿã^ð"{' )5&‹ýdÿÿ^ÿã^ð"t' )5&‹ýdÿÿbÿã^ð"u' )5&‹ýdÿÿ?ÿã^ð"%' )5&‹ýdÿÿ‰ÿã~ð"{' )5'‹ýdÿÿfÿã~ð"&' )5'‹ýdÿÿ‰ÿãwð"{' )5)‹ýdÿÿbÿãwð"u' )5)‹ýdÿÿfÿãwð"&' )5)‹ýdÿÿlÿãwð"(' )5)‹ýdÿÿ‰ÿãð"{ )5ÿÿÉ“Õ,ÿÿÉ'Õ&,,”ÿÿÉ»Õ&,',”,(ÿÿÉQÕ&,9éÿÿhÕ9ÿÿ˜Õ&9,ÿÿ,Õ&9',,™ÿÿ ÀÕ&9',',™,-ÿÿÉÕ&,;Üÿÿ=;Õ;ÿÿ=®Õ&;,ÿÿ=BÕ&;',,¯ÿÿÉjÕ/ÿÿsÿã'ð&ÿÿɰÕ'ÿÿÉÕ0ÿÿÁyLÿÿÁé&LLpÿÿÁY&L'LpLàÿÿÁA&LYÂÿÿ=`Yÿÿ=½&YLDÿÿ=-&Y'LDL´ÿÿ=&Y'LD'L´L$ÿÿÁJ&L[Ñÿÿ;y`[ÿÿ;Ô&[L[ÿÿ;D&['L[LËÿÿÁyOÿÿqÿãç{FÿÿqÿãZGÿÿº{Pyÿÿ }Õ  ) !3 !## !5²–þhþPýŒþPþh–²Ÿô5þáþËôÊôþËþá5Õþ—þ€þ~þ–j‚€iúÑ.,ûw‰þéþÔþÒþèɰÕ#ûº +¸ º+¸º+¸¸ ¸ÐAêú]A)9IYiy‰™©¹ÉÙ ]¸ ¸ÐAêú]A)9IYiy‰™©¹ÉÙ ]¸¸%ܺ"+¸º+¸º+¸º +¸ 013 !#3 #32654&#! )“ô5þáþËôHðñÿHNŸ““Ÿþ蟲–þhþPþaY³.,²ÂÏÐÞý茊Þþ—þ€þ~þ–yÿÿ }Õ(1C3 !#53 654&!#32# ) !#"&546;5# !3# !3`ô5þáþËôHÿñðÿHNŸ““Ÿ‡°˜þjþNýŒþNþj˜°ÕNŸ““ŸNHÿðñÿHôþËþá5ô/þéþÔþÒþè³ÃÐÏÂýbŠŒþ!j‚€iþ—þ€þ~þ–ßŒŠ†ÂÏÐó.,ÿÿsÿã'ðHÿÿÿãõ{&dÌ?8 ´  ÔÔÌ2@ @@ 00 ]1@  œ Ôì99ÌÌ0@  œ ü<<@ œü<<°KSX³ <<´œ ì´œìY5!!d‰xéÃû=éxUZ‰xéªéx£Ü @  œ Ôì99ÌÌ1´  ÔÔÌ2@ OO ?? ]0@  œ ü<<@ œü<<°KSX³ <<´œ ì´œìY3'#'-ZˆxèªêxÜþvxêû<ÄêxuÌP8 ´  ÔÔÌ2@ OO __ ]1@ œ Ôì99ÌÌ0@  œ ü<<@ œü<<°KSX³ <<´œ ì´œìY'7!5!'7Pþwxéû=Ãéx¯Zþwxéªéx£ÿùÕ @ œ Ôì99ÌÌ1´  ÔÔÌ2@ @@ PP ]0@  œ ü<<@ œü<<°KSX³ <<´œ ì´œìY#737‡ZþvxêªèxŠxêÄû<êxdÌP8Ú¶ ÔÌ2ÔÌ2@ PP_ _O O]1@   œ Ôì9Ì2Ì20@   œü<<@ œü<<@ œ ü<<@ œü<<°KSX· <<<<´œì´œì´ œ ì´œìY5!'7'7!d‰xé¼éx‰þwxéüDéxUZ‰xééxþwZþwxééx£ÿïÜÞ@   œ Ôì9Ì2Ì21¶ ÔÌ2ÔÌ2@__P POO@ @]0@   œü<<@ œü<<@ œ ü<<@ œü<<°KSX· <<<<´œì´œì´ œ ì´œìY3'7#7'-ZˆxèèxþxZþvxêêxÜþvxêüCêxþvŠxê½êx 4Ÿ³ 7!!# ?,þ¶^xü¢©t?©ü¢x^þ¶ 4Ÿ³ #'!5`?©ü¢x^þ¶³?ýÔJü¢x^© 4Ÿ³ %!5!73Ÿ?ýÔJü¢x^©s?©^xü¢J 4Ÿ³ %'3!_?©^xü¢J4?,þ¶^xü¢©dÌ?8'!5!!BÈ”—ýÿéxþw‰xédÈ”—š-þ¥Uéx‰Z‰xé[UþúªuÌP8!'7'7!'!5rÈ”—éx‰þwxéýœÈ”—þf×[UþúéxþwZþwxéþ¥Uª,ÓžP4327>76767632&'&'&#"#"'&/#7!í#/)85,0F"<;NJX[GR7<"#!2)85,/$#?2WG[XJN; ©?,þ¶ô!F0O<:" %7xþŸýéxUZ‰xéaxþÂþÂxaéxuÌP8 '7!' 7!'7PþwxéýþŸx>þÂxaêéx‰UþwxéþŸx>>xþŸéxþwdÌ?8 !5!3#•ûçéxþw‰x骪-éx‰Z‰xéYü¤¥Ü %'3'!!5èxˆZˆxèZü¤ªêxŠþvxêû檪uÌP8 #3!'7'7ªªéx‰þwxé-þ§\þ§éxþwZþwxé¥ÿùÕ !5!!7#7þ¨\þ¦èxþxZþxxè+ªªûæêxþvŠxê¥Ü7!!5!7'3'¯èxþx‚ü¤€þxxèèxˆZˆxèÂêxþvªªŠxêêxŠþvxêdÌ>†%52#!5! 767>54&'&'&>42/+-+-':1 üHéxþw‰xéÙÙܪ-)o=Ü  éxþwZþwxé(.46<=69)-dÌ>†>3276767654'&'&'&"5476767632+#5!5‘‚ 6 ©+/24>A1:'-+/24>‚©ý”éxþw‰xé×  ‚‚=69)-(.46=<69)-ÜÜéx‰Z‰xévÌP†>54'&'&'&"3)'7'7!#5#"'&'&'&5476767632# 6 +léx‰þwxéý”©‚>42/+-':1A>42/+ׂ  éxþwZþwxéÜÜ-)96<=64.(-)96=dÌP8X#532267676767632267676;'7'7#""'&'&'&'&'&""'&'&'&† éxþw‰xé 0$#$   "%'-0$' !  ' '- éx‰þwxé  ('Z&("  "(&Z'( -éx‰Z‰xé$ -#%"&* 'éxþwZþwxé ""&*  *&"" d¾PF%'!5!!'7'7! pþœéxþw‰x领 pdéx‰þwxéþ^¾:5éx‰Z‰xéo:þËéxþwZþwxé*ÿüØ %'7 ý!§^ßÁ bþ9YþÁ‹¾þXxýî¨û¸¾‹þÀÈbþñZ ò #!5 ªþéxþw‰xé‘ûoçéx‰Z‰xé¬[ò !'7'7!#¬—éx‰þwxéþª‘éxþwZþwxéüZÿã Õ !5!3 ýiéxþw‰xéíªDéx‰Z‰xéç¬ÿã[Õ 3!'7'7¬ªíéx‰þwxéD‘üéxþwZþwxéÝÿùÔ 7#7!5³éxþwZþwxéýÔÔü=éxþw‰xéªdÌ? !5!3?ü=éxþw‰xéª-éx‰Z‰xé,- eX&7#754767676 #4&'&'&"9èxþxZþvxê.-\ZnllnZ\-.ªBB54'&/#7!!#"'&'&'&54767D !BB54'&´x\-..0YXpl€…gtTY0../Z#þ¶,@ª#B"!BB@RN¾JV°]xþw‰x]TQ>°]x‰þwx]þ¬xL iiþ þ`iiTÁ4¬]x‰Z‰x]à4¬]xþwZþwx]JÒiiiiuÌP8!7'!7!5!7!'7'7!'7!5½giiþþÚyýìYu‚I0]x‰þwx]ýÌu‚Iþ«iiÒÒxÊK]xþwZþwx]ÊKxdÌ?8!!5!!¯ûÉ]xþw‰x]7ûQix]x‰Z‰x]xi¥Ü#'3'#'ñx\xˆZŠx^xh°ûP8^xŠþvx^ûȰhuÌP87'!5!'7'7!5$iiûQ7]x‰þwx]ûÉiix]xþwZþwx]x¥ÿùÕ737#73ñjhx^xþvZþxx\x%hh°ûÈ^xþvŠx^8dÌP8!7'!!5!'7'”iiüli…ý\]xþw‰x]¤]x‰þwxiiiá]x‰Z‰x]]xþwZþwx¤ÿðÜ7''3'7#7ñiiiá]x‰Z‰x]]xþwZþwx°ülii”iü{¤]x‰þwx]ý\]xþw‰x ÿѳ #7!##ÉPUý©?,ƒûUü°•vü°Uû„,?©ýUP¼ÿÑŸ³5#'#5!#5'ö•ü°Uûƒ,?©ýUv”ü°Uû©?ýÔ„ýU¼4Ÿ 753!5373öü°Uû©?ýÔƒýUP•qPUý„ýÔ?©ûUü° 433!'3É•PUýƒýÔ?©ûUq”PUý©?,„ûUdÌ?8!!!!5!!cÜû$ŠRü&xþw‰xÚû®¾xŠxx‰Z‰xxuÌP8!5!'!5!7'!5!Qû$ÜŠû®Úx‰þwxü&RFxŠxxþwZþwxxdÌ?8#''''#53777?(F´´´´´ncéxþw‰xé‹F´´´´´n-F´´´´´néx‰Z‰xéF´´´´´nuÌP8577773'7'7#'''un´´´´´F‹éx‰þwxécn´´´´´F-ªn´´´´´FéxþwZþwxén´´´´´F£Ü3'!!!!#!5!5!5!'-Zˆxè(þØ(þتþÚ&þÚ&êxÜþvxêþŽªªªþ¬Tªªªrêx£ÿùÕ#7!5!5!5!3!!!!7…ZþxxèþØ(þØ(ª&þÚ&þÚêxŠxêrªªªTþ¬ªªªþŽêxdÌ?8 5!!5!35!d‰xéqþéxªÿªÿUZ‰xéªéxaªªªª£Ü 3'#'3#3#-ZŠxêªêxbªªªªÜþvxêþŽrêxþVþªÿuÌP8  '7!5!'7%!#'#5Pþwxéþqéx‰ûÎÿÿªÿUþwxéªéxþw(ªªªª£ÿùÕ 737533-þvxêªêxþv‚ªªªŠxêrþŽêxþv4þþ¨ÿkË?9 !#3?ûîêxþvªªŠxêתêxŠþ~\þ€ŠxêuËI9 !'73#'7!uêxŠªªþvxêûî×êxþv€ü¤‚þvxê7†?~ 5!! !!Ïþö  ûôdþü ûôŒþöþöƒý}üüþïþ*^V 3! !!dþöþöƒý}üüþïþ*p þöûô düþûô H†P~ !! !!¸ûô  þ’ûô üŒƒþòƒ þÖþ^ÿÍVÕ #!# !!!dƒþòƒ þÖþe ûôþön ûôþ^V !! !3 3!!!Eþ*þïüüþïdƒþöþöƒrþ*rþò$èüþþ|è þöþþÔþ¤\d”^V )3! !3#!5#3 3 üšÈþïüüþïÈýÆÈžÈƒþöþöƒ\°üþýPd””x þö@t %#!5#3'!3!3! !33'ÓȞȡdþxd¡:üšÈþÑþÑÈýÙètø””Zddû®\’ýæýnªt^V%#!3!3! !3!5#3ĹØtIüš¹þþüüþþ¹þ¹tø”äØû\°üþýPìû”x^V%3 3!!! !!3 37áƒþöþöƒrþ*þïþèüüþèþïkŠþöþöŠ€dô þöý dôüþþè| þö€^V %#!5#3 3!3!! !!33 37ÓȞȃþöþöƒ:üšÈþïþèüüþèþïÈþÍŠþöþöŠ€ø””` þöü¨\˜üþþèþh þö€u†}~ 7!! !5#35! u\°üþýPd””x þöÏfÈþþÈ:Èýbȃ  ƒzMÕ!#7!!#Múc"?,þ¶^xü¢©ÕcúŽÕþŸ?©ü¢x^þ¶zMÕ35!3!5!73zpcþÞ?ýÔJü¢x^©crú+a?©^xü¢J^ÿÍV 3 3# '! !! !áƒþöþöƒƒ  þþþïüüþïe  þöüõþö dþüCüþuÌP8)5A '7!"'&'&'&'#5367676762!'7$"!&'&'!27676Pþwxéþ¡ 21@=“:C.2 ¾¾ 21@=“:C.2 _éx‰ü_R#)l$hþ˜$#R#$Uþwxé@21.2@ª@21.2@éxþw#þðxÿú<æ #737'#'[Zþwxéªéxωxéªéx‰‰xéÃû=éxcþwxéû=Ãéx‰uþtP'7!5!'7!5!'7!5!'7Pÿÿþwxéû=Ã××û=Ã××û=Ãéx‰ÿÿUÿÿZþwxéª×ת×תéxþwZÿÿdÀ?D5!3!!#!d‰xé3ªæþªýÍéxUZ‰xémþ“ªþ“méxuÀPD '7!#!5!3!'7Pþwxéýͪþæª3éx‰Uþwxéþ“mªmþ“éxþwdÀPD3!'7'7!#!5ª‰éx‰þwxéþwªþwéxþw‰xé×mþ“éxþwZþwxéþ“méx‰Z‰xédÀ?D5!333!!###!d‰x駪ªªþ⪪ªþYéxUZ‰xémþ“mþ“ªþ“mþ“méxuÀPD '7!###!5!333!'7PþwxéþYªªªþ⪪ª§éx‰Uþwxéþ“mþ“mªmþ“mþ“éxþwdÀPD333!'7'7!###!5œŒdŒ éx‰þwxéþàŒdŒþàéxþw‰xé×mþ“mþ“éxþwZþwxéþ“mþ“méx‰Z‰xé7Ä?@  !¥úJþB¾JˆôúAþƒ¾¾þƒ‚uÄ}@ 7'!5! úúPû¶J¾þBˆúúþÅ‚}þBþB7Ä}@7'! ! úúü–úý6þB¾Ê¾þBˆúúþ ôúAþƒ¾¾þƒ}þBþBhÕ %!3!3¼ýÛ ýÆÕˆ¡ˆÒýÇÇçüRÕþú+‡ÿãnðmº+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]º+¸º +¸0132#&'&#"327673#"‡ ûû…B!ÊOœœOÊ!B…ûûþ÷ézÆcI7™þÍþÌþÌþÍ™7IcÅŒhÿçÁ-)b@'! '!Õ* $$*ÔÌÜÌ9991äÌÜÌÎÎ990K° TK° T[K°T[K°T[K°T[X½*@**ÿÀ878Y>54&#"#"&54632#"&54324&#"32ôIH7$$0e´ÖþßÕ˜ËÝ¢e‚ WOmVPmmW£Kƒt,>bþÊþùþ±þFØ£Æ[àt}þþÏt{É‹Õ !5!!5!!5‹ü>øý9ÇýÕú+ªªºªŸÿ¢a53!#7#53#5!!5!73!!7!#hùý:ª@uˆÞ§þªþJÇþÁ5 cÕú+^^ªºªª`úuºª›ÿì]®(673#"'&'#7&'&$32 '&#" 32$767&'&Yj€iEdÈþ ¹»°80~iª?/cÆ`»¹°üÉô‘™šþÝRQQ$gý'-‘š™"SRR:;nSz²þ€þ¾_'œÒBT±€c¾_ ûé¥N“‘››‘@DüRO“‘››‘gÿú`Á8@ÔÌ91/ÄÌ90@cmpxyvn]] !3!¬þ^DýïàCúšîûÄú?ÿú`Á%! !¬¢ü¼3ý½fý½Ó<úñÁú?¯ÿìI®!!"$54$3!!!W?JŒ‰”¹ýGÀþ¾¾cÀ¹ýG”‰‹K@ õsJx‹NLŸÆ`»¹`ÈŸMOŠx] ¯þäI°&/!!!!3!!"''&'&54$;7#Ø–I$þ¢¹ý¯°$$¹ýGA?d–`,,±¾¾cÀêüÝ?JŒ ;¸°“Š‹K@ ¯7ÊŸþ þŸ þî7c`»¹`ÈüÅJx‹N ¸ üMOŠx]Ù›åg% $54$)!!3!+þØþÖ*(ºþFèiNvüŠ%Frߺ›öððöŽO:…Ž‘0QޝÿìI®&'&'&'!5!2#!5!676767!5¡?JŒ‰”ýG¹Àc¾¾þÀýG¹”‰‹K@ û 'Jx‹NLŸÆþ »¹þ ÈŸMOŠx] ¯þäI°&/'7!5!!5!&#!5!2+&'&'&'3676767 –IþÜ^¹ýéQ°$$ýG¹A?d–`,,±¾¾þÀê#?JŒ ;¸°“Š‹K@ þå7ÊŸü ãŸ 7þøcþ »¹þ È;Jx‹N þH þMOŠx]Ù›åg )5%2767!5&'&!5“(*þÖþØþFºèiNüŠv%FtÝþFgöñïöŽP:…Ž‘1RŽ,ëâ ¸/¸/01!!,¿âüœþwqÁ@×Ö¯ggÔìÔì1üìì20!#!#œÕðý ïÁø¶}ùƒœþwqÁ!#!#œÕðý ïþwJùƒ}þw;Á ]@    ÔÄ91ÄÔÌÎ990@0QVPZ spvupz €€ Z pp{ t €€ ]]!! !!5 7êüA ýJïúÞÕýIÁÁý3ýÀ•!ãÙ-Û×¶œÔÄ1Ôì0!!ÙúþתÙÛ !#!5!3!!5!®¨ýÓ-¨-ýÓý+ƒªƒþ}ªתªÙÛÕ Wº+¸¸Ð¸¸ и¸ и¸ и/º +¸ º+¸¸¸и¸ Ð01!!#!5!3#®-ýÓ¨ýÓ-¨¨ þªþûªû5Ìþ‰ÿãÍð+@BŒ‘ÔÌ1ää0KSXííY"3#- ü\ ðùóÿÿŠÿ’<%?ŠP¯%73% %#'±þTU¬¨¬UþT¬UþT¨þTU‚÷“÷ïþ÷“÷÷“÷þï÷“ÿÿDG¾ÂrýÒÛH®F·ƒÔì1Ôì03#ÛÓÓFþ=ÿ×} *@    ÔÌ91ÔÌÄ903##'%\½sý®BþÁ}}`ùºs-Pbý;ÿÿ=ÿ×Ð" .usàÿÿ=ÿ׿" .%sàÝÝî %.#"326"&'#"&54632>3"31…UfvYR†½I•OF^ˆº§†_™HDža+…J1†CšXX„je†ˆþèw‹‡ߦ¯Ø~ŠŠƒ–‡¢XZÝÝÏî /ÿ@- !$'!!0 $*0ÔÄÔÄ99991ÔÄÔÄÀ9990@¾     $$$   $$ $ ***///***55500055 5 :::???:::EEE@@@EE E JJJOOOJJJV´° °!°"°&°'°(´)]]32654&#".#"326#"&54632>32#"&“1†Te€vYR…Ä1…UfvYR†F^ˆº§†_™HDža†¼§†^•/XZ‡ie†‡7XX„je†ˆ‡ߦ¯Ø~ŠŠƒá§¯ÖwË™I%!3!™û‚ªÔË~ü,Ë™I%!3!™û‚ÀªüÍGË~ü,¯ÿ”IÕA¸/¸/º+¸¸Ðº9º9¸¸к901%&'&'3!!#4'!&'7`'JAWþÎã`òþLqR]+XþÉŒü* PÊ‹†s^þã(ýRs“§°Ê57756uíÿúÜÑ5º +¸ ¸ /¸/º 9º 9º 901 7&'7%%'6 676rý{Ž‹ÔþŠEG…þ%†yýÝ44RÀW!L!$îÒ¾³Æ ¡“¿Òñ&!L éþçþð{ž°þJP+3#°  +øfþJ›+ 7º+¸¸и¸и/¸/º9º 90137#'° ûPþµ ýMVÕüœ°oçü)g±nþJð+3#3#  @  +øáøfþJ›+{¸/¸/¸¸Ð¸/¸ܸи¸ ܸܸ ¸и¸ и¸и/¸/¸ /¸/º 9º 9º 9º 9013737##'   [P«   ]MæEü+qdý @oxûº×pü™÷AnÔ¢!3# iúhÃþÞþÝ¢û^¬üTÔ¢3 3#Ã#"Ãþ˜ú¢üT¬û^Ô¢32#4&#"#õñðõ¬”¥¦”¬P(*þÖþØý°7ôÓÓôýÉÔ¢332653#"¬”¦¥”¬õðñõRPýÉôÓÓô7ý°þØþÖ*/þú%&@ Û Ûܱ& iji&Üìüì1üìÜäÞä026732#"&'.#" #"&546327j ¾ÊPd@7*8  k½ÄOeD=!0 þú°l9¼TA6?&#Hý•Ánþ!þbSA8?Sÿÿ/þ& ? ?%ÿÿ/þD& ?' ?% ?JtþL·-6?676&'&'&'&'77&'&5476767654'&'ãSOJMG7”9GcBnnVsSOJMG7”9G]InoSuŠ=,EG%,½=,HK%â¤GCD4€±þÖK|’œoUþ¾¥FCD4€±1Io›œsVý›/HgjG$þ4Ö.JhgH$tþLÜMQZc676&'&!676&'&'&'&'77!'&'&'77&'&54767!!67654'&ãSOJMG7”9G~SOJMG7”9GcBnnVsSOJMG7”9Gþ‚SOJMG7”9G]InoSu‰~þ‚¾=,HK% =,EG%â¤GCD4€±þâ7¤GCD4€±þÖK|’œoUþ¾¥FCD4€±$þÃ¥FCD4€±0Io›œsVý’ñþ!Ö.JhgH$ºþ+/HgjG$tþLmqu~‡676&'&!676&'&!676&'&'&'&'77!'&'&'77!'&'&'77&'&54767!)!67654'&ãSOJMG7”9G~SOJMG7”9G~SOJMG7”9GcBnnVsSOJMG7”9Gþ‚SOJMG7”9Gþ‚SOJMG7”9G]InoSu,þ‚ýÛ~þ‚¾=,HK%2=,EG%â¤GCD4€±þâ7¤GCD4€±þâ7¤GCD4€±þÖK|’œoUþ¾¥FCD4€±$þÃ¥FCD4€±$þÃ¥FCD4€±0Io›œsVý’ñþñþ!Ö.JhgH$ºþ+/HgjG$tþL.F54'&'&'&''&'&'77#47676767676&'&7#'7"'&1,SOJMG7”9G+3$('f55C$'SOJMG7”9GE35^H¾6¼Hö802&&üg¥FCD4€±ˆ$'a8LCD55_¥FCD4€±þ³ 25DCL]H½½HtþLD'&'>7'7'&'&'77&'&54767676&'&7·=,HK%{C$,=Q ‡HVVsSOJMG7”9G]InoSuSOJMG7”9GcBc HH§JÖ.JhgH$M; þ+eˆHWþæZþ¾¥FCD4€±1Io›œsV<¤GCD4€±þÖKo|HH§CtþLE&'6767'7&'&'&'77&'&54767676&'&'·=,HK%8$,=(ASH‰#JVsSOJMG7”9G]InoSuSOJMG7”9GcBI¤HK JÖ.JhgH$ˆ þ+2P@TH‹BþTZþ¾¥FCD4€±1Io›œsV<¤GCD4€±þÖKR?¤HK|ÿÿyÍžÕ' -ÿžþ…' -ðþ… -GÿÿyÍžÕ' -Gþ…' -ð -ÿžÿÿ¡ÍtÖ' -ÿÆ -ÿÆþ…ÿÿyÍžÕ' -ð' -ÿž' -ðþ… -ÿžþ…ÿÿÙ-Ûj' -$ &ÙŸÜj !!3#3#ÙXü¨0ÓÓÓÓת=þþ1þÿÿØŸÜj& &' -ÿýþW' -ÿþ$' --þW -.$ÿÿÙŸÛj& P' -þW -$ÙÓÛ2#"'&'&'&#"5>32326Ûi³an’ ›^X¬bi³an“ ›^V©2³NE;=LT³NE;=KÙÓÛ23276767632.#"#"&'Ùg©V^› “na³ib¬X^› ’na³i2UK=;EN³TL=;ENÙÛl&#"5>323267#"''æcDX¬bi³a]y¬›¨eEV©gi³a`y«›S LT³NE+~FþŒ KU³NE,þ…FÙÛ¢ #"/&'&#"5>32326!!Ûi³an’›^X¬bi³an“ ›^V©ûeúþo³NE;=LT³NE;=Kˆ¨Ù`Ûô#"/&'&#"5>32326!!Ûi³an’›^X¬bi³an“›^V©ûeúþô²OE;=LS²NE; =KþkªÙaÛÓ$%767#"'!!'7!5!7&#"5>32Ë^Н i³aBPŸü﹉lþ噸‘ZX¬bi³an“$ïý}oþé"DX"²OEºªþdšªó8LS²NE;IüÙ¸ÛÁ"#"/&'&#"5>32326!!!!Ûi³an’›^X¬bi³an“›^V©ûeúþúþÁ²OE;=LS²NE;?KþkªËªÙÛÁ.#"/&'&#"5>32326#5!7!5!7!!!!'Ûi³an’›^X¬bi³an“›^V©üLç•ÑýšŒoþKÐ…üɦoÁ²OE;=LS²NE;?KüLªËªŠsªËª sÙÿõÛC33267#"'!!!!'7#5!7!5!7/&'&#"5>327b V©gi³a'+\+ýzlòü³h’>ùTmþ?u ›^X¬bi³an“ †’"KU²OE«ªËªÂNtªËªÚ=LS²NE; úNÙÛô;?@.9*-" *œ19œ"œ œ<-<Ô<Ä21ÔìÔìÜüÔìÀ9999990#"'&'&'&#"5>32326#"'&'&'&#"5>32326Ûi³an’ ›^X¬bi³an“ ›^V©gi³an’ ›^X¬bi³an“ ›^V©o³NE;=LT³NE;=KÚ²OE;=LS²NE;=KÙÛÿ43267#"'3267#"/'&#"5>327&#"5>29+V©gi³a@LJ“ZV©gi³aƒ}¤‰9+X¬bi³a@MH’ZX¬bi³Â ¤a KU²OE»8KU³NE; þ˜@^ LT³NE»8LS²NE;f@Ù¸ÛÉ59#"/&'&#"5>32326#"/&'&#"5>32326!!Ûi³an’›^X¬bi³an“›^V©gi³aq›^X¬bi³an“Æ3V©ûeúþL²OE;=LS²NE;?KÒ²OE;=LS²NE;?KüîªÙyÛÑ5P#"/&'&#"5>32326#"/&'&#"5>32326#"/&'&#"5>32326Ûi³an’›^X¬bi³an“›^V©gi³an’›^X¬bi³an“›^V©gi³aq›^X¬bi³an“Æ3V©ײOE;=LS²NE;?KÒ²OE;=LS²NE;?KÒ²OE;=LS²NE;?KÙ¸ÛÁ"32?632.#"#"&'!5!5Ùg©V^›“na³ib¬X^›’na³iúþúþÁUK?;EN²SL=;EOþȪªþ‹ªªØ×Û+  %5 % $%5$[þáþœg&Yþ¢þà%Zþ£þÞþàþhÓ¦²•¦²—³¦²—¤²—Ù6ÛÎ9%676767!!"'&'&'!5!!5!676762!!&'&'&[C-8›þö7VYÎYW6 þöœ8.CC.8þd 6WYÎYV7 þe8-Ù,CE[¨<0[2332[39¨\DD+N+DD\¨93[2332[0<¨[EC,Ù`ÛÎ !5!676762!!&'&'&!![C.8þd 6WYÎYV7 þe8-ý;úþ++DD\¨93[2332[0<¨[EC,ýãªÿÿÙ`Ûÿ' -¹ ÿÿÙÛÿ' -ýº&  -¹ÿÿÖÜÿ' -ÿü¹& þ -.ý½ÿÿÕÚÿ' -ÿúý½& þ -*¹ÿÿÎ62Ï' -ÿôþî' -ÿô‰ VÿÿÍ63Ì& ô' -…† -…þîÙ`Û¢ 3654'!!5!&547!5!!æ44ò34wúþ~þ€þ‰ú0IG00GG2ðªª?8>;¨¨_8Ù`Û  "264&'2#"&546!!!!^Hdd‘deH;k'**¨z{¤§ýôúþúþ¤bFE``‹bq+((d:s¡žvv£ý¨ðªÙ`ÛK  &!56!!!![áàþÿþæéþyúþúþK—²—•²—þW¨ðªÙ`Û  3# !!!!ý´Ÿ¾¸þ6úþúþâýcÙþ'@¨ðªÙ`Û 33#!!!!ý¦¸¾Ÿþý´ýØúþúþþ'Ùýc@¨ðªÙ`ÛÊ !!'!!!!Ó+]^*ò^ôó]þúþúþ®þä°þä°°þ¤¨ðªÙ`ÛÔ !3!!!!![¦Nßp!ýNþÖúþúþ þNfýQ¨ðªÙ`Û(/?GKO#"3###535463!3267#"&546324&#"'53#5#"&4632264&"!!!!}?$mmC???DíþÏJB&H#$J'`qk[Q_C<17CÆBB@,I\\I,@Íp`ctiF6A?9iÚýÐ=$#t¾u#g“SS“SþP¨ðªÙ`Û"&*>32#4&#"#4&#"#3>32!!!!x!]?U\Z79EPZ7:DPZZV:;Sýuúþúþ=:xoþµHOM]QþÊHPL^PþÊ%U20=ý˨ðªÙ`ÛÚ$(,3#7#546?>54&#"5>32!!!! eeb_--B6'Z0/`4\o$-,ýjúþúþaÈN2A+,/-7#!^aO&E++ þº¨ðªÙ'ÛÝ>@" Ïœ Ï œ  Ü<Ä291Ô<Ì2ü<ìþ<ì990!!!!!'7!5!7!Ù}®/þHÃ{üúþþ}®þÕ¶Ãý‡¢;fÕ¨ðªþÇfÓªðÙ¸ÛL !!!!!!ÙúþúþúþתªýÀªÙÿÎÛ4!5!7!!!!!!'7!5!7!5!•ýD€™Q"þrñýµn¹üé™RþÝoþL¢ªèT”ªËªËªêT–ªËªÙÛ  !!!!!!!!Ùúþúþúþúþ”ªªüKªªÙÛ¨ T@.œœœœBѧœ $# ü<ì2291/ìôì90KSXííííY" 5 !!Ûü@Àúþúþúþøþëþî²pªoüªÙÛ¨ V@/œœœœBѧœ$ # ü<<ì291/ìôì90KSXííííY"55 !5ÙúþÁAúþø°þ‘ªþ²ýǪªÚÿVÜ 3!! 5 !!Úúþü@Àúþúþúþªþëþî²pªoüªÚÿVÜ !!555 !5ÜúþúþÀBúþªªk°þ‘ªþ²ýǪªÚþ±Ü!5!7!5!7!!!!' 5'þ³Ú`ýÆȉŠ)Pþ"_=ý6ŠŠÞü@Àúþªªsª¤s1ªsª¥tFþëþî²pªoÚþ±Ü!5!7!5!7!!!!'55'þ³Ú`ýÆȉŠ)Pþ"_=ý6ŠŠþÜúþÀªªsª¤s1ªsª¥tF°þ‘ªþ²”.Ìß 5 5ÌüÆ:ûÊ6üþüÆ:ûÊ6þpþrÅŸ ÎþpþrÅŸ ”.Ìß 5555”6ûÊ:86ûÊ:ÎýöŸýøÅŽÎýöŸýøÅްþò'!67&'&54767&'676'&'{)#Y4JJ4Y#)þÀ)#Y4JJ4Y#) AAAAGF£žâßà㞢GGGG¢žãàß➣FGú2;;âÎá;<<;áþ2â;ØÜè5$?$%5%67$'W´É ßeþöþ»²Ä”‡·Èþûäd?þNÿÄ”])]²o&¶—²¯ bRô)`²q%µ ˜²¯ þŸRÙÛd%'%5% >ýz™‡“þ­ˆmþzÈþF<ß˶êþ½@6´¦ o@æh¶‹GpÙÿ Ûÿ%5'75%7-ý†™‡“ïüå­ˆmþá†ÈºþÄ%˶êC@þÊ´¦þàþ‘@æh¶‹GpÙÿ/ÛV !5!%5%%%!!'’þ‰/ôþƒ½xýËv¤H-þ‰réýÛf‹ý5L¤OlUýrªC¢ªÝ@=ÇV°lþÑŒ²žþíªÑ=Ùÿ/ÛV%'!5!75%7%5!!'‘ ÖþþøGWþbè[ý½„¤ÚýmmüÁN¤—L>üߪìw²‹õ§°·e=þ¨ˆª½þتÑ=Ùÿܨ$%#"'&'&'&#"5>32326 5Üj²bn’ š^X¬bh´`n” œ^V¨gü@Àúþð´ND:3232655Üj²bn’ š^X¬bh´`n” œ^V¨ûeúþÁ²NF<>LT²NF<>L>°þ‘ªþ²Ùÿ)ÜP14%&#"5>32%5%%%3267#"'&'&/' k X¬bh´`'+kýÆu¥E%þsäýák œ^V¨hj²bn’ "P¥vþ„1-LT´ND£ªÞ9A»T°jþÍŠ²œþãLT²NF<þñ=ß &T²N#¡w²‹ô¨°¸f=ý€J;ÐÿNÜ} 55 5ÚúþÀ8ü@Àúþ'°þ‘ªþ²»þëþî²pªoÐÿNÜ} 5 55Òü@ÀúþûúþÀ'þëþî²pªoö°þ‘ªþ²ÐþmÜ`!-%5%%%'5%%5 MMþÜ`ýºÂZ¦D„þOAòýè@ýFZ¦Dþt¸@þmþ¬*³_TW§ªÊˆ&þÔo°}þ䎲š¥ªÈþw&-r²~‘°›ÞbUÐþmÜ`!7/%5%%'%5%75%À®˜J¦’¤ýv±a¦d®ýì",ý©,ƒýV`¦bþL"ýÌ_D2,£/*/¼°Å¨&þO{ª˜”Ÿ°­Â¸²Äþ[&®}ªš”¢²­Ùÿ²ÛP %5$Ûþrýó ’þoüsaþa^þ~ï|¦|Ùÿ²ÛP 55%$Ùsüþo’ ýóaïþ|¦|þï‚^aÙÿ)ÛW!%5%5$Ûþgü—V¬þþ$Üþü}ƒ×¾‘®…ßþå]]þå×x„¦|€Ùÿ)ÛW3%55%$Ù¬Vü—þgƒü}þÜþ$¡…®‘þBW×þ€|¦„þˆ×]]ÙÿRÛW(%#"'&'&'&#"5>32326%5$Ûi³an’ ›^X¬bi³an“ ›^V©gþþ$Üþü}ƒ±³NE;=LT³NE;=K$þå]]þå×x„¦|€ÙÿRÛW(%#"'&'&'&#"5>32326%5$Ûi³an’ ›^X¬bi³an“ ›^V©ûeÜþ$þƒü}þ±³NE;=LT³NE;=K$þå]]þå×x„¦|€ÙÿƒÛ&%5$%67%'îðþÛÃEƒ¹žtºÖ‹$÷ãþ‚ë‚k—¡}u°U)¦?¥eKþtu•ï³uþÔíï"¦þ K 9'ÙþåÛ'567$'567&'Æð%þ=þ»þ⃹žtºÖ‹þÜ÷ã~ë‚þ•—¡}uRU)¦?¥ý›KŒu•ï³u,íïþÞ¦÷Küö9'Ë£é_%!"'&54763!!"3!èüÂÊŠŠŠŠÈ@üÀˆ¾^`ˆ@£‹‹ÈÆ‹–ÀˆŠ^`Ë£é_75!27654&#!5!2#Ì@ˆ`^¾ˆüÀ@ÈŠŠŠŠÊ£–`^ŠˆÀ–‹ÆÈ‹‹Ëÿ;éÏ #";3!!!!#"54763¢úˆ¾^`ˆ0ørªrnþdÊfýlpªpÈþꊊÈÉÀˆŠ^`&pþ–ýp–þ˜hÈÆ‹Ëÿ3éÇ 32654'&+ #!5!!5!32#úˆ¾^`ˆ0ørªrþ’œÊýš”pªpÈŠŠÈ9ÀˆŠ^`üÚþp––hþ˜þêÈÆ‹¾Ûè7!!!"'&54763!!"3!òéûéüÁÉŠ‹‹ŠÈ@üÀ‰¾_`ˆ@––,‹‹ÈÆ‹–ÀˆŠ^`Ùöè7!!5!27654&#!5!2#Ùéû@ˆ`_¾‰üÀ@ÈŠ‹‹ŠÉ––,–`^ŠˆÀ–‹ÆÈ‹‹¾ÿÛ× '!";!!!!'7!5!7&'&54763!7!!Ñþʉ¾_`ˆ'œ}ýE=øüÉa†LþéT>¹‚‹‹ŠÈsc†L0þ’RÀˆŠ^`–––í5¸––ƒ‹ÈÆ‹ï7¸–Ùÿö× '327654'&/!5!7+!!'7!5!7!5!^»ˆ`__BV™ý 5c†TpX‹‹ŠÉ÷?àüãb†LþÐm>þUéÂ`^Šˆ`C –ï7Ë XÆÈ‹‹––í5¸–––¾ÿjÛè )5!7!!'!"'&54763!!"3!Äþ.Bqx-ëý¥qxDüÁÉŠ‹‹ŠÈ@üÀ‰¾_`ˆ@––Z<––Zh‹‹ÈÆ‹–ÀˆŠ^`¾ÿjÛè )5!7!!'5!27654&#!5!2#Äþ.Bqx-ëý¥qxþ'@ˆ`_¾‰üÀ@ÈŠ‹‹ŠÉ––Z<––Zh–`^ŠˆÀ–‹ÆÈ‹‹Ô¢ 57!!332653#"öÄ -©ÿ3Ô§ 3##5#535332653#" ªªeªªþM¬”¦¥”¬õðñõ«d««d«¹PýÉôÓÓô7ý°þØþÖ*ÙwÛ‹1°/°3±í±í°°Þ°2±í±í°/°3±í±í01!!!!Ùû¨Xúþ‹ªý@ªÙwÛ‹1°/°3±í±í°°Þ°2±í±í°/°3±í±í01!5!!5ÛúþXû¨‹ûìªÀªÙÛô H°/°3±í±í° °Þ° 2±í± í°°Þ°2±í±í°/°3°3° 3±í±í017!!!!!!Ùúþû¨Xúþ¸ªæªý˜ªÙÛô J°/°3±í±í°°Þ°2±í±í° °Þ° 2±í± í°/° 3±í±í±í±í01%!5!5!!5ÛúþúþXû¨¸ªª<üDªhªÙwíy#!#íªý@ªyúþXû¨Ùwíy73!3ÙªÀªwû¨Xúþ»ÿãù$3?"2767>54&'&'$  &'&'&547676!!#!5!ÅÖ]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cbÍdþœªþœdŽ''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcb„þ›ªþ›eªe»ÿãù$7!!"2767>54&'&'$  &'&'&547676¡rüŽ$Ö]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cbתa''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcb»ÿãù$3?"2767>54&'&'$  &'&'&547676''7'77ÅÖ]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cbíýüxüüyýüxüüŽ''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcbþ¾üüxüýyüüxüý»ÿãù$7 "2767>54&'&'$  &'&'&547676æpxýgÖ]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cb†pxý€''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcb»ÿãù$37"2767>54&'&'$  &'&'&5476763#ÅÖ]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cbÔÔŽ''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰ŒvwcbþAþ»ÿãù$3?N"2767>54&'&'$  &'&'&547676"32654&'2#"&546ÅÖ]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cbxPnnPPnoO@v+..¹†‡´¸Ž''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰ŒvwcbþoPOmmOOp1.-rB„·´‡†º»ÿãù$+E %#'-73%"2767>54&'&'$  &'&'&547676ðþ½C4þÑfþÑ4Cþ½4/f/÷Ö]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cb1¯°X·þ­S·X°¯Y·Sþ­·''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcb»ÿãù$!;!!!!"2767>54&'&'$  &'&'&547676€ý€€ý€«Ö]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cbjˆÀˆô''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcb»ÿãù$37"2767>54&'&'$  &'&'&547676!!ÅÖ]\LMLLML\]Ö]\LMLLML\þ®îbc1111cbîþìîbc1111cb8€ý€Ž''LM¸mj¸ML''''LM¸jm¸ML'½dbcwvŒ‰wvcbddbcvw‰Œvwcbþª»ÿãù$± ?°3±þí±þí° °Þ° 2°2°2± í± í±í±í°° Þ°2±í±í°/°3±þí±þí°°Þ°2°2°2±í± í± í± í°°Þ°2±þí±þí01!%!!!!#!5!QûX>úÂôdþœªþœd‰ûð›ú¿Yþ›ªþ›eªe»ÿãù$ T± ?° 3±þí±þí°°Þ°2±í±í°°Þ°2±í± í°/° 3±þí±þí°°Þ°2± þí± þí01!!!%!!¡rüŽPûX>úÂת\ûð›ú¿»ÿãù$   ' 7 %!%!!=þ•kyþ–þ–ykþ•yjjüûX>úÂìþ–þ–xjþ•yjjyþ•k$ûð›ú¿»ÿãù$ !%!!3#QûX>úÂ5ÔÔ‰ûð›ú¿þ¯Jš5± ?°3°/°3±Zí±Zí°/°/°/°3±Zí±Zí±Zí±Zí0133!!¯úäšýuýp¯Jš3± ?°3°/°3±Zí±Zí°/°/°/°3°3°3±Zí±Zí01!#!!Júäšýuýp¯Iš3!5!<€úfúå¯Iš%3!!5<€úfúå¯|š5± ?°3°/°3±Zí±Zí°/°/°/°3±Zí±Zí±Zí±Zí0133!!¯Ný²šýuýp¯|š N± ?°3° /° 3±Zí± Zí°°Þ°2±Zí±Zí°/°/°/°3±Zí±Zí±Zí±Zí±Zí± Zí01!#3!!!!.Ný²Ný²šþ$ä¯Jš !#3!!!!.úäúäšþ$ä¯Jš R± ?°3°3° 3°/°3±Zí±Zí°/°/° /° /° /° 3±Zí± Zí°°Þ°2±Zí±Zí±Zí±Zí01!3!!!#3¹üGþšýuýpš¯Jš o± ?°3°3° 3° 3° 3° /° 3±Zí±Zí°/°/°/°/°/°/°/°3±Zí±Zí° °Þ°2± Zí±Zí°° Þ°2±Zí±Zí± Zí± Zí01!#33!!!#3.GVýªþšúfšýuýpš¯Jš!#3#3!!!!.c¹üG¹üGšúfšþ$ä¯ÿ¯Jë33!!!'!¯'SsþÅjý\þªs=þšýuÜ5ýYý6«ýp¯ÿ¯Jë!!!!'!#3!7!¨sêý­j½ýþþséþhx¥jýÃë5þäýÓ6÷þ$šþ$þää¯ÿ¯Jë!!'!#3!#3‚sþÅþ6þªs=þžüÿë5ýYý6«ýpšýuüñš¯ÿ¯Jë!#3!!!!!'!#37!‘ôsê:þŒjÞýçþþséþìþ²jþGšþ$-5þäýÓ6÷þ$šüÁääÙÛæ 51ü¢úþ Äþžýœ¦ÙÛæ ƒ^ü¢ª bbü:Èýï¦ÙÿžÛd 5! 5Ùªü¢úþbªªÄþžýœ¦ÙÿžÛd 5! Ùû¨^ü¢ªbªªbbü:Èýï¦yf‡£%/2#"'&'!#"&54632!676"264&j95/-)*§xzQ3ýQ3Txz¢¦w:5/-)¯4Sû¤9OOsOP¢,)f€ý°Pú€Nq^ýD^þ¢ÆÙÿÂ'B %  !'üÙüÙ''ýtþÊþ¢àNý²€ý°PÝþ^ýDÙÿÂ'B 5  5!Ù''üÙüÙŒ6âbàý²Nú€Pý°Ýäþ¢¼ÙÿÂ'B5 5ÙŒýtNüÙ>àáâÝû]ÝPÙÿÂ'B 5 'üÙüÙNýtŒ>Pý°Ý£ÝþþÙ`Ûô32?632.#"#"&'!5Ùg©V^›“na³ib¬X^›’na³iúþôUK= ;EN²SL=;EOþȪªÙ^Û¦ 5 3#ÛûøúþþÉÓÓðþ‘þ“¶ѦÑþZþÙ^Û¦ 55%3#Ùúþü^ÓÓð¶þ/¦þ/¶mþ”. Íß  5 5 5 ÌüÆ:ûÊ6ýüÆ:ûÊ6üþüÆ:ûÊ6þpþrÅŸ ÎþpþrÅŸ ÎþpþrÅŸ ”. Íß 555555”6ûÊ:86ûÊ::6ûÊ:ÎýöŸýøÅŽÎýöŸýøÅŽÎýöŸýøÅŽÙþ.ÛÔ  5 !5! 5ÙÁü?úþúþü@ÀúþþÞ²þªþ‘þªNþëþî²pªoÙþ.ÛÔ  5 !5! 5Ûü?ÁúþúþúþÀü@úþþÞ²þªþ‘þªNþëþî²pªoÙÛ¨ %5 5!Ûúþü@þ¾°°oªp²þî9ªªÙÛ¨ 7 5 !5!ÙÁü?úþúþ°²þªþ‘þªÙÿ)ÛW5$%5$ÛþTüªi™þü}ƒþþ$Ü€þ_…®‘¾ú©×€|¦„x×þå]]Ùÿ)ÛW5$%$5Ù™iüªþTÜþ$þƒü}þ€×þB‘®…ý!]]×þˆ„¦|þ€Ùþ“Û!&!%'&'57&%5$%67&%7Ûþóþ*þズÕÿÚ?ðþص;öƒ¦½‚ÈâiöÚþ€@šþ]0qw^×%¤ý¡KA6#®(A‡F+¦3273267#"'' 5æcCX¬bh´`^xn›ieEV¨hj²b_zl›]ü@ÀúþLT´ND*óFé JV´ND+ðFÍþëþî²pªoÙþåܨ"%&#"5>3273267#"''55æcCX¬bh´`^xn›ieEV¨hj²b_zl›þ[úþÀLT´ND*óFé JV´ND+ðFͰþ‘ªþ²Ùþ¦ÛW&&#"5>3273267#"''%5$æcDX¬bi³a]ym›ieEV©gi³a`yl›]þþ$Üþü}ƒ. LT³NE+óFé KU³NE,ñF”þå]]þå×x„¦|€Ùþ¡ãW&&#"5>3273267#"''%5$îcDX¬bi³a]ym›ieEV©gi³a`yl›þSÜþ$þƒü}þ3 LT³NE+ôFê KU³NE,ðF˜þå]]þå×x„¦|€ÙþöÛ 7%'%5 '瞃Ùý¹ÛžÜýâL ‹Ðž‘þ  @þÁYû8ðýè@à¦\üïÄ9þ@aÎÙþöÛ ' 7%ÍžƒÙGÛžÜü´þô‹Ðž‘öþö@?YÈð@ýçà¦þ¤ý<9ü@þŸÎÙþ}Û…5!%57%!!'71ŽÏý| ýäIÁžÛý·…Îüìvž\'þ žÄ:þýqª†ß¦[×@þÅZû8ñþ»ªþß@áÐ_ÍÕþ}×…7!!'7#5!7%%%Õ¥éžé¿ý9ƒJüpvž\º]þFGjqœÈþé8@ýǹ¦þÛþÀªþß@áªäµýªØ’‚Ä 3 %! ’øøü¶¤þ®þ® $ýÜý`ªÕyþ‡d”š ! ' 5!5!òýˆý…›úšúfšüý½üB€€â€€!#!þþŽ…ú{5!#Ž…ùì…%!3þpŽú{5!3!Žþp…ùìÙÛ^!#Ûû¦¨^ªþk?$%%$Œ‰‰þþ‰þñ¸¸¸¸ýøЉ‰€‚ŠŠþ~ýøô±±þ ýå±÷ 1;FOY!! &546;#"&546 !54632+32#"&=54&#"3#"32653264&"2654&#l(þعþü¸¸ªª¸¸¹(¹‚ƒ··€ªª€··ƒ‚¹þDbEDbbE¦¦EbbEDbP§DbaŠbbŠabDv(þDª€·¸ƒ€º(º‚¸·€ªª€·¸‚ºþغ€ƒ¸·€ªP§EaaŠbý°bDEbbD÷bŠaaEý §DbbEDbÙÛ^!3!Ûúþ¨Z?þk¯þú6732#"'&'.#"¯ ¾ÊPd@7* l þªl9¼TA6?%Hý•Ánûö*þu( #"&546323267u ¾ÊPd@7* l (üVl9ýýþDTA6?%HkÁn ¬TÈ !!!!%!!¬BšÌý¼ýfþ6ô´ýLÈúÌ”4””+x Õ #/;GS_kwƒ›§³¿Ë×ãïû+7CO[gs‹—£¯»ÇÓäðü{º +¸ º]b+¸]º%*+¸%º‘–+¸‘º+¸¸]¸и/¸b¸и/¸*¸œÐ¸œ/¸%¸hи*¸nи‘¸Èи‘¸Öи–¸Üи‘¸ñиñ/¸¸ ܺ+¸º+¸º"+¸"ºf_+¸fº:3+¸:ºÔß+¸ÔºúÚ+¸ú¸¸'и"¸-и3¸?и:¸Eи3¸Kи:¸Qи3¸Wи:¸]и3¸cи:¸iи3¸oи:¸uи3¸{и:¸Ð¸3¸‡Ð¸:¸Ð¸3¸“и:¸™Ð¸Ú¸ŸÐ¸Ÿ/¸ú¸¥Ð¸Ú¸«Ð¸«/¸ú¸±Ð¸Ú¸·Ð¸·/¸ú¸½Ð¸Ú¸ÃиÃ/¸ú¸ÉиÚ¸ÏиÏ/¸ú¸ÕиÚ¸ÛиÛ/¸ú¸áиÚ¸çиç/¸ú¸íиÚ¸óиó/¸ß¸ÿиÔ¸и/¸ß¸ иÔ¸и/¸ß¸иÔ¸и/¸ß¸#иÔ¸)и)/¸ß¸/иÔ¸5и5/¸ß¸;иÔ¸AиA/¸ß¸GиÔ¸MиM/¸ß¸SиÔ¸YиY/¸_¸kиf¸qи_¸wиf¸}и_¸ƒÐ¸f¸‰Ð¸_¸иf¸•и_¸›Ð¸f¸¡Ð¸_¸§Ð¸f¸­Ð¸_¸³Ð¸f¸¹Ð¸_¸¿Ð¸f¸Åи_¸Ëиf¸Ñи¸èи"¸îи¸ôи"¸úи¸ýи"¸Ð01!2#!"543!254#!"+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2%+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;22+"=4#"=43+"=4;2+"=4;2"=43!2#UâÝÝ÷Ý“JâII÷J%J%%J%ß%K$$K%J%J%%J%þF%J%%J%Ý%J%%J%¹%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%Ž%û%%û%øC%J%%J%Ý%J%%J%Ý%J%%J%Ü%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%$%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%Ü%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%$%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%Ü%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%Ý%J%%J%%‹%%‹%%%%ö*$%%”%J%%J%ß%K$$K%ù¥%%%%ÕÝûåÝÝÝÝûåJJJüI%%I&%J%%J%·J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%·J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%·J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%´J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%%J%Û%þÞ%%• %I%ýHJ%%J%%J%%J%”%J%%J%·þò{3 #·ªþ檂üp¤þòh # 3hþæªþ檂üpþ.õÐ !!#!#5!¸ õüöžþØøªþøª°ýüP #53s຦ È–ýüêæ0þkþþTþ°ýüs*3#°ÃÃ*÷Ò°þP- #5s–È ¦º -êþþTþþk0æê°ýüP 35#຦ È–ýüêæ0þkþþTþýüP*#3PÃÃ*÷Ò°þP- 35–È ¦º -êþþTþþk0æê°ýüP#!!sàþ#ýüðýüs*3#°ÃÃ*÷Ò°þP,!!sÝý`,ø«Ã°ýüP!5!þ# ýüUÃ÷èýüP*3#ÃÃ*÷Ò°þP,3!5!Ãý`Ý,÷èãýêX #4763!!"]ºo´þçeD9ýê×™ž°fVš¨ýü],#'&%'53 763”<(eºnKþû==Pnºe(!<˜þõýè  _A»E_  ýèþõ˜<£þX> 3!!"'&5]9Deþí´o>ùÜšVf°ž™×£ýô]>#3]ººýôJ¨ýê] 4'&#!5!2£9Deþç´oýê$šVf°ž™×ùä£ýüX,&'&3!3#76l<(eºnP==þûKnºe(!<˜ ýôþö_E»A_þöýô ˜<¨þ]> 3#!5!2765£ºo´þíeD9>ùä×™ž°fVš¯þu(3¯Æþ(÷Ø!Ä! !!!ùå ùå $û<øÿ‚ÿã¤>32#"&'#'%53%&  s:±{ÌÿÿÌ{±:¹þé!8¹#!þ¼r§þܧ§$¶daþ¼ýðþ¼ad¨æ]chÀƒaamü@–ççþjç’þ.‚Ð!3!3: ¨ü¨þØøý^¢˜ÿì”è &Ûº+¸º#+¸#º+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]º+¸º +¸ º$%+¸$¸Ð01! 4$32! 4$#"35%33!”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶|Ùì¡Úý—êþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹ýÿ~+˜/ü掘ÿì”è 8?º+¸º3&+¸3º+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]¸3¸и/Aê&ú&]A&)&9&I&Y&i&y&‰&™&©&¹&É&Ù& ]º,9º+¸º +¸ º+¸º0)+¸001! 4$32! 4$#"!!56$7>54&#"5>32”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶O´ý\R!>/_N;„sa‘=£Å0>²êþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹ýÿŽMñ"?U(?N&:«$—}:iF§˜ÿì”è Dµº+¸ºB5+¸Bº+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]Aê5ú5]A5)595I5Y5i5y5‰5™5©5¹5É5Ù5 ]º5B9º,5B9¸,/Aê,ú,]A,),9,I,Y,i,y,‰,™,©,¹,É,Ù, ]¸ܺ&9º;9º+¸º +¸ º)"+¸)º?8+¸?º2/+¸2º/2901! 4$32! 4$#"#"&'532654&+532654&#"5>32”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶¹ vØÃ@ˆX[}DuskcŒ‘ZX\[4yk_ˆ=¡ÁhêþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹–]œ¨0OLGNŒ<:,+¸>º2+¸201! 4$32! 4$#""32654&.#"632#"&5432”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶¡N\\NN\\ÔTa/w €N ºÂ ¹ÀêÈ5jêþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹Ÿb[ZbbZ[bœ#”P =±”‘³ýçÚ ˜ÿì”è "ë¸#/¸$/¸Ü¸#¸и/¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸ÜAêú]A)9IYiy‰™©¹ÉÙ ]º 9º!9º+¸º +¸ º!+¸01! 4$32! 4$#"!#!”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶k«þ”ÁQþ1êþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹Kü£˜ÿì”è '?K º+¸º=+¸º1F+¸1º+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]A&6FVfv†–¦¶ÆÖ ]Aåõ]AêFúF]AF)F9FIFYFiFyF‰F™F©F¹FÉFÙF ]º%F19¸%/Aê%ú%]A%)%9%I%Y%i%y%‰%™%©%¹%É%Ù% ]º+=9¸+/º4F19¸%¸7ܸ+¸@ܺ+¸º +¸ º":+¸"º.I+¸.ºC+¸Cº4C901! 4$32! 4$#""32654&%.54632#"&546732654&#"”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶¯T__TT__þÆj·¶iv¾­­¾vWQMKRRKMQêþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹æPIIPQHIPIvStˆˆtSvƒ\Š——Š\ƒÁ=BB=>BB˜ÿì”è 4@‘º+¸º>)+¸>º+¸º/8+¸/A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]A>&>6>F>V>f>v>†>–>¦>¶>Æ>Ö> ]Aå>õ>]º)>9Aê8ú8]A8)898I8Y8i8y8‰8™8©8¹8É8Ù8 ]º+¸º +¸ º 2+¸ º,;+¸,º5&+¸501! 4$32! 4$#"532676#"&54632#"&2654&#"”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶Ua.w €OŸºÂ ¹¿éÈ5kÙN[[NN\\êþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹ý‹œ$“O <¯”‘´ýèÚþö´b[[bb[[b˜ÿì”è &2>›º+¸º#+¸#º*<+¸*º60+¸6º+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]Aê0ú0]A0)090I0Y0i0y0‰0™0©0¹0É0Ù0 ]Aê<ú<]A<)<9<I<Y<i<y<‰<™<©<¹<É<Ù< ]º+¸º +¸ º-9+¸-º$%+¸$º3'+¸3¸$¸Ð01! 4$32! 4$#"35733!"32654&'2#"&546”þ?þÂþÄþ?Îq¾ÁqÍúW¶þ¸­­þ¸¶Íž¬¼uŸþ>@EE@?FF?‚ˆˆ‚ƒˆˆêþÁþA¿?ÆrÆÆþÈþäþp³G±±þ¹þ>>'‰*ý6€Þ—£¢——¢£—{äÑÐääÐÑäÿÿÿì;( 4ÿìþ;ÿ!Oþþûÿìþ;ÿö!Oþöþ ÿìþ;!Oþüñÿìþ;!Oþûìÿìþ;!Oþúçÿìþ;!Oþùâÿìþ;#!Oþ#øÝÿìþ;(!Oþ(÷Øÿìþq(!…þ(÷Øÿìþ§(!»þ(÷ØÿìþÝ(!ñþ(÷Øÿìþ(!'þ(÷ØÿìþI(!]þ(÷Øÿìþ(!“þ(÷Øÿìþµ(3Éþ(÷Øÿÿþ:( <' ÿìþq( #'+/3!33!33!33!33!33!3§ÊüÊÊÊüÉòÊüÊÊÊüÉòÊüÊÊÊüÉþþûþûmþûþûnþûþûmþûþûnþûþûmþûþûÿìþ;(%8K#!1!!!!!!!#!1!!!!!!!#!1!!!!!!!#!1!!!!!!qÊ”þl”þl”þl”ý¢Ê”þl”þl”þl”ý¢Ê”þl”þl”þl”ý¢É“þm“þm“þm“þ(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþû(þûþûþûþûþûþûþûþûÿìþ;(!%)-13#3#3!3!##!#3#3#3#3#3#3#ÉÉÉÉÉ^Ê^ÊÊý¢ÊÊÊ(ÊÊþlÊÊþlÊÊ(ÊÊþlÊÊþmÖÖþû÷Øþûþû¶þûýýŽþûýÿÿÿì#;( 1#ÿÿqþ:( ?…ÿìþ!&þûìÿÿþ9 F'ÿÿÿì( Fÿÿÿìþ9(& F& G Hÿÿÿìþ9(& G Hÿÿÿìþ9(& F& H Mÿÿÿìþ9(& G& H Mÿÿ9( F'ÿÿÿìþ9(& F Mÿÿÿìþ9(& F& G MºÿÕ%!ºü ùàºÿÕ%!!!,7úÉrŠ<úR ùàºÿÕ% %3!254#!") ) ,äoääü‘ärVoVþªü‘þªZäätääüŒtVþªüŒþªÿÿºÿÕ%' Z QºÿÕ% !%!5!5!5!5!5!5!5!5!5!ºúW7úÉ7úÉ7úÉ7úÉ7úÉü ùàr°r²r°r²r°ºÿÕ% !%3#3#3#3#3#ºþá°°þܲ²þÞ°°þܲ²þÞ°°ü ùàt8úÈ8úÈ8úÈ8úÈ8ºÿÕ% #'+/37;?CGKOSW[_cg35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#35#!L²²$°°"²²üš®®®®®®®®®® ²²²²²²²²$°°°°°°°°"²²²²²²²²$­­­­­­­­­­ûˆ®®®®®Ü®þ.²þ,°þ,²þ.®Ü®þ.²þ,°þ,²¸®þ.²þ,°þ,²¸®þ.²þ,°þ,²¸®þ.²þ,°þ,²þ.®þÞ ùàºÿÕ% !33775353535ºúWââ„ûý!ûûä¾yûB¢üߢþ|¢âü ùàTâüþ}üüß<ûB½ûäü ýüƒââºÿÕ% !%353555#5#5#57#ºþ¬âýû„ûäû!úÉy¾yûBûüßûþ|ââü ùàrââƒüý!üûä¾ûC¡üà¡þ}¡âºÿÕ%  $(-159=AFKOSW\aejos7'#7'7'#7'7'7'#7'7'7'75#7'7'7'7'7'37'75'7'7'7'37'75'7'37'35'!,2|5y2~~2O~~5’þþ~|~þ2~~2ì~~5’þý~}}þµ}}~þµ~~~‰}1yþý|~|þ³|~|þµ}||þµ|~|þ³}}|ÿz4|2ˆ~12þ´~~~þµ~|~þ¶~~~þ³5“4~»}22þµ~}~þµ4“5~4z2ú‰31|4ýä2~~1O~~4þÿ~|~üÌ1~}1ì~~4þý}}~þµ~}}þ¶~~~ì|1þý|~|þ´}~|þ¶|||þµ|~|þ´|}}þ4|1í~2™1þ´~~~þµ~|~þµ~~~þ´44~~1™1þµ}|~þµ44~~41þÞ ùາ7!ºøüüº²%!!!,üìrøˆüvüüºšÕŽ%!!ÕùåšôºšÕŽ!!!cúÉ©ùå ýðrôºÿ­"!ºóúùäºÿ­"!!!,ýñróˆ8úVùäš!Ž%!!˜ûnŠ‘šôš!Ž !!!büSþïäûnŠ‘ ýðrôÿ!%  ü ùàÿ!%! ±Åýüó ŠÊúÄ ùàþ7 üüüüþ7! ±¢þ¯þüüˆ¦üèüüÿ!%ü üðÿ!% xÅû;rRffúŠ üðþ7øüþþ7 x¢ý^røÁSSü¯üþ!7üþ!7 xŒûtrÁSSü¯üþÿ!%!üò$ùàÿ!% %!±bcúüò²û6Êrùàþ!øþüþ %!±QQü³øþ ýZ¦rüÿ!%ùàÿ!% êÅúWýšÌýšùàþøþüþ ê¢üzøþ­¦þ­þü!þü!  #ŒúWþ­¦þ­þüÿ!%  üòüðüðÿ!% žuvýŠüó üòýˆxxýˆüðüðÿ!% >ÕÕþ+ý‹uvýŠüó üò×þ)þ)×ýˆxxýˆüðüðpþÿ‹) )$7632#"'327$%&#"%632#"'‚þ~€~þþ~€~þeM¥¦§¥Mþ³¥§¦¥þ>‡ÃÃÄÇþyÃÄÃÃïJ’JJ’ý¶’JJ6ýÀ``ÀþÀ``ûÿ„âqqâü|âqqþ#îu"@ÔÌ91ÔÌ990 úþþôþ þ üÏüÇ9%ûÛûÓ-pþÿ‹) 327$%&#"%632#"'åM¥¦§¥Mþ³¥§¦¥þ>‡ÃÃÄÇþyÃÄÃÓýÀ``ÀþÀ``ûÿ„âqqâü|âqqrÿ‰' '/7?G%&'&'6767&'&'7%'676727"'64'7&"'62&47\+;.81F9K5Ú8.42d;E9Gœ,:.80G9J6ü&8.;+d1O9FíLšL&_À`Jný¡LšL'`À_ü¸n<1& j(0=Ju &,A=N:0('<1& j(0=Ju &1<>EB0(úÔn_I I'[Ê[Jný¡I I'[Ê[pþÿ‹) %/36%632#"'327&#"6767&'&6p‡ÃÃÄÇþyÃÄÃà AAAA‰««–,+-,,-+öA@@ãªR„âqqâü|âqqÅû¾%ö%m±ýܱ[úÐ0$û %@%¢ü|±"pþÿ‹) )73276'&#"7632#"'327$%&#"%632#"'™r99:9rr9:99í°XWXX°°XXWXþM¥¦§¥Mþ³¥§¦¥þ>‡ÃÃÄÇþyÃÄÃØþøB!!BB!!þo–e33eþje33¯ýÀ``ÀþÀ``ûÿ„âqqâü|âqqpÿ‹ @ ÜÔÌ1ÔÄ04767632#"'&'&pih¶µÒѵ¶hiih¶µÑÒµ¶hiѶµiiiiµ¶ÑѶµiiiiµ¶pÿ‹ $  $27$%&#pÑk£kÑÑþ•þ]þ•<§¥Mþ³¥§A¢kÒÒþ•þ^þ•ÒÒa`ÀþÀ`pÿ‹ $  $"3pÑk£kÑÑþ•þ]þ•<¦¥þ³M¥¦A¢kÒÒþ•þ^þ•ÒÒÝ`ÀýÀ`pÿ‹ $  $327$pÑk£kÑÑþ•þ]þ•\M¥¦§¥MA¢kÒÒþ•þ^þ•ÒÒ>þÀ``Àpÿ‹ $  $%&#"pÑk£kÑÑþ•þ]þ•Õþ³¥§¦¥þ³A¢kÒÒþ•þ^þ•ÒÒ>À``Àþpÿ‹ $  $"327$!pÑk£kÑÑþ•þ]þ•<¦¥þ³M¥¦§¥MýgA¢kÒÒþ•þ^þ•ÒÒÝ`ÀýÀ``Àpÿ‹ $  $"!pÑk£kÑÑþ•þ]þ•<¦¥þ³˜A¢kÒÒþ•þ^þ•ÒÒÝ`Àþpþÿ})6%63"'p‡ÃÃÃÃR„âqùÖqºþÿÇ)#2ÇþyÃÃÃÃÖü|âq*qºÿìš( 2654&#"!¬ú¬«|~­þ¹àú}¬¬}|««üv<ùĺþ ( 327$%&#"327$%&#"!IM¥¦§¥Mþ³¥§¦¥þ>‡ÃÃÄÇþyÃÄÃÃþ_O“ýÀ``ÀþÀ``}ü|âqqâ„âqqùH(÷غ ( !#%&#")%632ºOþyÃÄÃÃþy¦úÏM¦¥¦¦MûìÂâqqâþ>~Á``Áºþ  3327$3!#"'$º‡ÃÃÄÇú@1þ³¦¦¥¦þ³þþ>âqqâÂûìþ‚Á``Á) %63"‡Ãæ¥þ³Ââqv`Àþ) 2#%&#ÃÇuþ³¥¦)qâþ>À`þÿ 527$3¦¥MuþyÃþÿv`Àþ>âqþÿ "'$33ÃÃþyuM¥¦þÿqâÂþÀ`p‹)%632#%&#"p‡ÃÃÄÇuþ³¥§¦¥þ³Ââqqâþ>À``Àþpþÿ‹3327$3#"'$puM¥¦§¥MuþyÃÄÃÃþyþÀ``Àþ>âqqâÿ!%ü ùàÿ!%ü ùàÿ!%!ü ÿ!%!$ùà3Ñ…! 2654&#"4632"&nŠÈЉce‹;­~|«¬ú¬údŠŠdc‰‰c|««|}¬¬ºÿÕ%!%!!ºüòœýdü ùàr<ºÿÕ%!%!!ºúW›ýeü ùàr<ºÿÕ%!%!ºúW7ü ùàr<ºÿÕ%!%!ºúW7úÉü ùàr<ºÿÕ% !%!!!!ºý+cýý,býžü ùàr<úÄ<ÿ!% 4632"&! W>>VV}Vþ2Åýüó j>VV>>VVþJÊúÄ ùàÿ!%! cýüó ŠÊúÄ ùàÿ!%! ±büó ŠÊúÄ ùàpþ„(  7& $  %ñÅâÄâÅþ;âþ<âýºýûþýýüþýûìþûƒƒƒƒú¨*––þÖûXþÖ––ºÿÕ% !!!!!!,7ýý,rúWbýžŠ<ý)ý) ùàIeºÿÕ% !!!!%!!,ÔcúÉrúWbýžMý)<úR ùàreºÿÕ% !!!!%!!,bÕúÉrý+cýŠ×eúR ùàreºÿÕ% !!!!!!,7ý+ýžrý+cýŠe×úR ùàIepÿ‹ $  $!327$%&'pÑk£kÑÑþ•þ]þ•‰‰þÌ]ý£4¦¥¦¦Mþ³‰ŠA¢kÒÒþ•þ^þ•ÒÒÚO²þ¬rþ¬²``ÁüÁOý+pÿ‹ $  $67$%&#"!pÑk£kÑÑþ•þ]þ•uЉMþ³¦¦¥¦þÌÏý14‰‰A¢kÒÒþ•þ^þ•ÒÒ^OÁüÁ``²þ¬rþ¬²Ocpÿ‹ $  $!%&#"67$!pÑk£kÑÑþ•þ]þ•\M‰‰Ðþ̦¦¥¦„Љ4ý¢A¢kÒÒþ•þ^þ•ÒÒ¼ýÁOÕT²``û%O²Tpÿ‹ $  $327$!%&'pÑk£kÑÑþ•þ]þ•\M¦¥¦¦4ý0‰‰âþ̉ŠA¢kÒÒþ•þ^þ•ÒÒ¼ýÁ``²TÕOýúT²Oýÿ!%7!!xŒûtr ’úR ÿ!% %!#ŒúW²ûn’rùàÿ!%!xŒûtrŠ’úü ùàºÿyê¯!!!,Lû´r0Rû<6úʺÿyê¯!º0‡6úʺÿÝ"K%!!!,„ü|rhOŠünû’ºÿÝ"K!ºh#nû’ÿ!%! #ŒúWŠ’úü ùà «€Õ "*2:AICº+¸¸Dи¸Hи/¸/¸F/¸H/º$'+¸$¸+и'¸/Ð013#''%#&'52#"'&5476!!'5%!!'53'5%3'5%3#'sMM7:ø=üýü=È-0ÐY ¾G.¯b#·CýKSþ­uYþ§G†r=øýµ;ö>MMÕþ¢^›?þ?îþ@Ç7µá`½d§?\µgþíOOOOþè‚y>ý*<þ?vþ¢^hÿû—á"-¸/¸/¸/º9º 9º9013263#!5276;'4?'4?26õÙu'6‡"gPù39†.4!  '*ÌC0.xáèV#m14He ®'1l1 “Z+ddÈÕ?7º)+¸¸и/¸/¸/¸/º 9º:90133 #&'&+"'&#"/573;2?"#'57#&'#"#5676!5‹:¸+#9,–p!—ˆj[%+ > 7ÓVCÅCc":Àï8Õ}þV .e3B=ýSe` e9*¤=9 3@=Úß}ªÿÿ‚k !=]‰µá 9e‘½éAmu}…±Ý 5aǺM*+¸MAê*ú*]A*)*9*I*Y*i*y*‰*™*©*¹*É*Ù* ]¸*¸·Ðº½*M9¸M¸ÂиÂ/ºÅ*M9¸M¸ÈиÈ/ºÍ*M9¸*¸ÒиÒ/¸M¸cܸ/¸/¸/º'P+¸'º+¸¸ܸ и /¸¸и/º‹9º‘9¸¸”и”/º™9º¡9¸¸¤Ð¸¤/º§9º¯9¸¸´Ð¸´/º·9º½9ºÅ9ºÍ9ºÓ9ºÛ9¸¸üиü/ºß9ºå9ºí9ºõ9ºû9º90173&'37&'67&'67&'67'32654'&'7654&#"3672#"$54767&'&547'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'4327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&54327'4327632#"/#"57#"54?'&54327'&327632#"/#"57#"54?'&5432&'67&'67&'67'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432'&327632#"/#"57#"54?'&5432üO€~ )¹*+'þë)+(@&'$Ê|÷¯®ø|e‹?/A}]\ŠB-7“„1SLoWŽþäËËþã\vLLý©)(0/ (( .1(%%,* # $ )*f$% +) $ #*+f%%,* $ $ )*ûË   ü»\o÷  [  ®%)#þ·&'%ü&)#`#$ *) $ #+,üU   þQ   0  üE%% +) $ $*+‰*EC*Z*,)-)-*,þ%&%&žf“‘ÐБ“fU 5HhfeefhH2Ùpu^ttQFs¥£ææ£¥sKQttGýh!99!  !77!  Ñ4 4 22 K44 22 22  11  š  þã     ¨      ¡  7   Ù     úà%&%&â%'%&%'%&22  //  g     û     ‚     ý44 22 ƒ© !2CTev‡˜©ºËÜíþ¸U/¸d/¸ª/¸¹/¸/01+&'&54?6?6/&2#"/54762#"/54762#"/54762#"/54762#"/54762#"/54762#"/547672#"/54762#"/54762#"/5476%2#"/5476%2#"/5476%2#"/5476DQ=2`{4&/<) g>þúi#@†3e E÷ $  ¨ $  Š # › #  # ½ $  Š #  $   $  ýU $   # " $   #  a¯G<s-8PZy9} €‰KW2{’0R^j ,: . 4 . = , ý , þü  -  - ú -  -  û  . Ó . ç  , Ê  -  …ÿ÷§É #¸/¸/¸/º9º901!! …Wº»Vþºþþ¹9ýÇþŸýÈ`þ 8…ÿ÷§É O¸/¸/¸/º+¸¸Ðº 9º 9º9¸¸к901!! 7 ! !…Wº»Vþºþþ¹DŒu€˜þ‘Žþ9ýÇþŸýÈ`þ 8þN þæÂ·þIªëÕ7¸/¸/¸/º9º9º 9º 901 7%7&5476°9 ý}îV&þ7àýÝA“ Õ6$ ý…ýôæþ8'^4?† ªÙ'º+¸¸/º+¸¸¸Ð01!2 7%7&547!&'6íI@ýÁçY%þ1çýï4åû¨HFÙS"ýÅþÕþ="l-2ßúüDC[9ª‚Ø )º+¸º"+¸º+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]A&6FVfv†–¦¶ÆÖ ]Aåõ]º+¸º +¸ 01! 4$32! 4$#"#"&54>32‚þJþÉþËþJÉhº½hÈúqŠŠ´þ¼ªªþ¼´^mNMn2Z//Z2ìþÉþKµ7ÂiÁÁþ™Äþèþw‰±B®®þ¾±NmmN1Z00Z}ŸÑ Gÿ¸H/¸I/¸Fܸ(ÜAê(ú(]A()(9(I(Y(i(y(‰(™(©(¹(É(Ù( ]¸H¸@и@/¸.ÜA.&.6.F.V.f.v.†.–.¦.¶.Æ.Ö. ]Aå.õ.]¸@¸:и:/¸/¸7/ºC++¸Cº0 +¸0¸ ¸Ð¸7¸ܸи/¸0¸&и&/01"32654&!"32654&%#"&54767654$#"#"&54767&54! gJggJIhgüIhhIJgg[¶‚¶ZQoyþ±ððþ±y}WZ¶‚€·[zÀADÀégJIggIJggJIhhIJgU\‚··‚\Q s™´ýý´™rW\‚‚··‚‚\޶ø^þ¢ø±}ŸÉ G¸H/¸I/¸ܸH¸$и$/¸и/¸$¸0ÜA0&060F0V0f0v0†0–0¦0¶0Æ0Ö0 ]Aå0õ0]¸¸6ÜAê6ú6]A6)696I6Y6i6y6‰6™6©6¹6É6Ù6 ]º3+¸3º?+¸?º.+¸¸ и /¸¸и?¸'и.¸8Ð014&#"326%4&#"326! 547&'&5463232$54'&'&54632hIJggJJgüMgJIhhIJg#þ@þ¼þ¿þ@z[·€‚¶ZW}yOððOyoQZ¶‚¶[s‘IhhIJggJJggJIggþ ÷þ£]÷´[¶¶[Xr—´ûû´˜q Q\¶¶\‹}ÿýâÆ ׸/¸/¸¸и/¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸ܸ ÜAê ú ]A ) 9 I Y i y ‰ ™ © ¹ É Ù ]¸ и /¸/º+¸º+¸01"32654&7#"5432†ÉÉŽÉǾ˜þÎÙ×þÎ/Ú`Tš_ÈŽÉÉŽÈ;™ØØþÏ1ØØ2ÓY}žÉ 7º +¸º +¸º*+¸º0+¸0A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]A&6FVfv†–¦¶ÆÖ ]Aåõ]Aê*ú*]A*)*9*I*Y*i*y*‰*™*©*¹*É*Ù* ]¸9ܺ+¸º- +¸-º3+¸º#+¸#01"32654&"32654&#"54327&5432#"'&'3x©©xx©¨:y¨¨yx©¨ýf&þÿ·µþÿÿ·¹€Üÿ·¸þÿ·µ Ú©xx©©xx©Z©xx©©xx©ý;Tdµþÿµ·€‰IU·þÿ·µþÿ Œ kÕ)5AMYeq}‰•¡­¹…ºBH+¸BAêHúH]AH)H9HIHYHiHyH‰H™H©H¹HÉHÙH ]¸NиH¸Tк-!+¸-º +¸º)3+¸)013'%&76'!'4%$53!76=332654&#"#"&54632'#"&54632#"&54632&'&676&'&676'.7>'.7>6&'&6%6&'&6>'.>'.÷ [&rþiX(tRûœSu(Yþiq'LñçùWèð‘«ì¥¨êé©§êrƒ^]ƒƒ]^ƒŸ !! !! Ä ..- .þ *)n))ýœ*)m)+þ. .€- .Õ›¤ª¢ ŒOyyOŒ ¢ª¤™þvK˜K9_þâþê_9K˜Kýݧêꧦìì¥]„„]_ƒƒÞ""""ýs!!""D. - ýð. - a)*Ê*))*Ê))þ” / . - .‘ pÕ)5AMYeq}‰•¡³Î身+¸º!+¸!º¥'+¸¥ºª +¸ª¸'¸ÜA!&!6!F!V!f!v!†!–!¦!¶!Æ!Ö! ]Aå!õ!]¸'¸¢Ð¸¢/¸!¸°Ü¸!¸²Ð¸²/¸ª¸êܸ¿/¸Á/¸Ã/º ª+¸ º$+¸$º²+¸²º+¸¸²¸£Ð¸¸³Ü¸¿¸´Ü¸¸èÜ015#!4'&'5#2#"&546"32654&'"32654&"32654&7>'.7>'.676&'&676&'&7>'.%7>'.676&'&676&'&53!76=3%'676%327'%&76'77&'$%'#7%6'&7ì1ËÃÄÊ8þú¦åæ¥£çæ¤\\\R    î - -Y - -ýü))G))ý«))U*)þ>- - ~- - V†áØùÉØá†þ©FwDcþŠ€D øøCBøø Dþ‰cDwETc==F\J ìþÇþ$06þ#þÇë J\F==cSÂ@Ž@1Añþe›ñA1@Ž@Hç£¤ææ¤£ç­\\€€\\“   ý•   % - -ýÿ- ,1))Õ)(9)(©))þu- ,æ - - Gœ77Wþõþ6Ê W77œGål^¥ ÔÇe‹‹eÇÔ ¥^l(q,&ˆ$µppµ$ˆ&,q(¸uÕ S¸ /¸ /¸ ¸и/¸Ð¸/¸ ¸ܸи/¸¸ ܸ¸ ܺ +º+¸01!!'!¾°úPnàÕú8Èhûø·vÕ "g¸#/¸$/¸#¸и/¸Ð¸/¸$¸ܸи/¸¸ ܸ¸ ܺ 9º9º +º+¸01!!'!##+572367676½³úMoà‡L)þ¹>u eÍ¢—I3?b›aÕú8ÈhûøžA:þFþ½;/Iƒ¦t³»x·vÕ S¸/¸/¸¸и/¸Ð¸/¸¸ܸи/¸¸ ܸ¸ ܺ +º+¸01!!'!  ##' ½³úMoàû÷›—_þh˜[þeþi[—þiÕú8Èhûø†þi—[þeþf[—þl[š›š §@¸/¸/¸ /¸/º 90136273 ##'5ñ) UþÒ.WþÔþÒW1þÏ@þ ÞUþþS÷þ Vùõdõv#,5>~‡ºWh+¸W¸AиA/¸Z/¸/ºC+¸ºZ9º Z9ºZ9º%Z9º.Z9¸0к7C9ºIZ9ºyZ9¸C¸}Ð013+&=43+&=4%3+&=43+&=43+&=43+&=43+&=4%33 #&'&+"'&#"/573;2?"#'57#&'#"#5676!5Ö\:V\9\:÷\:]:&]9[\:ý«:¸+#9,–p!—ˆj[%+ > 7ÓVCÅCc":Àï8Ï #8dÏ#7ãÏ$6¹Ï$8;Î$7iÏ$7ëÏ #9špþPL  )Z. ;6ýŸZV Z3%Y63 .87€ÂÆp ˜“Ù />Eqw†g¸0/ºFQ+¸Fº C+¸ ºt +¸tºcr+¸c¸r¸ܸ ¸иF¸?иF¸AиA/¸F¸_и_/01!674#!!6?676'&#'323276767654#3#&'&'&6%67!672!&=75$/563&43!32+'!67#>54&53# û ?ô I :W0 96;E,Q 2:&l6xý0 bˆm! rþÛas"\ü>%Eþfþ™~ýñþe2UÖÉ6g!6V#p5Cü+ C þ˜? P9 B´;Q4XþÍÇm†M;YV /‚M(=H: ,qLUD)8ˆWqk±’e-Pm{úó—NW =$ U  þ/0c›™)H?õ2@[nDF8T$.L¬Ù ¸/º +¸ 01 !' !žTú4X—ýÍKóGýÏÙþwû´L†þ5ü_¡K¬Ð ¸/¸/¸/¸/01 !'7›ŒWú4Z~Ðþwû¿D€ŸÔB7¸/¸ /¸*/º*9º*9º(*9º-*901&547632632%6#"'&'# #"'&'&6&'&547676xØJX%&XWX:\8 [ÇE‰z##F„M !9@!#jLÏ)_³(ÎMi#"?8" M„F##yŠ4hok@mmr*%tþëe2' BB90tU%) "fþtþ×(þêf" )%Ut09CB '2«˜9>-¸/¸/¸/º9º19º=9013#"'43727$'#"$4727%6725676&5&§oJ°7.˜b;7!"&546767!7!"&54>3!6763!26ýP+=6ˆ/2´þÿD>Rý+>2,+v*>ç>+2  ,2 =,2  =,3>,¬ç2K¸/¸1/º&+¸º +¸ ¸¸и/¸¸и/¸ܸ&¸(и(/01463!2!2#!!#!32#3#!¬>*v+,1>+ýR=Dþÿ³20‡6=+ýP#,>3,=  2,= 2,  2+>²Ô{!C_º"+¸º?+¸?º<6+¸<º +¸ º+¸º5/+¸5¸"¸&ܸ(и(/¸.Ü01%4&#!"!&3!!"3!#";#"3&'6737#&'6737!"'67!7!&'63!67!2I0!þŸ6üÙSSÿ þžSS: ÝSS®>SS]]J«]]äþÆ]]hý\\, Bv*>Kñ%39KILKIOKHLKIhghghghgE?-ü³“LÊ!D£º'C+¸'º+¸º +¸ º?+¸?¸C¸ܸC¸"и"/¸'¸)и)/¸'¸.ܺ/9¸//¸5ܺ6 9¸6/¸<ܸ?¸Fܸ9/¸B/º(B99º6B990172654'6#"'4#"'54#"'54#"'675674767#%±$4:JILLHOKHLKIhghgighgD>-ü²sJ1 b6'SSý cRRþÄ ßSS®?SS\\K¬\\ä;\\þ–ý]]üÔ!AþŠ*>K›±Ó{!CuºC+¸º'+¸'º*.+¸*º+¸º +¸º15+¸1¸C¸>ܸ<и*vA!,]]ýj\\þÅä\\¬K\\ñIKLHKOIKLIK93%üëN-?Eghghghgi“ÿùLÂ!C«º>"+¸>º +¸º+¸º'+¸'¸"¸ܺ.9¸./¸*ܺ/9º5 9¸5/¸1ܸ>¸8ܸ>¸<иDghgighgh³SS=®SSÝ þÆSSb ýSS'6a!0J)K>*þŠB üÔ\\üþ˜]]:ä]]«J]]}¯ØO€ˆŸ®µ¼ÍÓÚÞâæêîòöúþ!%)-15#ºPL+¸Pºñå+¸ñºw+¸º L9ºHL9AP&P6PFPVPfPvP†P–P¦P¶PÆPÖP ]AåPõP]ºuL9º’L9º¨L9¸ñ¸°Ð¸ñ¸»Ð¸»/¸±Ð¸±/¸å¸´Ð¸´/¸ñ¸.ܸ¸Ð¸¸/ºÃL9ºÌL9ºÎL9ºÑL9ºØL9ºÛL9ºÝL9ºàL9ºâL9¸.¸çиç/ºèL9¸»¸óиó/¸å¸ùи»¸ûиû/ºþñ.9¸ñ¸и»¸и/ºL9¸å¸и/º"åñ9º(L9º3L9¸¸7ܸ$/¸0/º|+¸º¿*+¸¿º¥5+¸¥ºD+¸Dº…+¸º D9¸D¸и/¸¸;и;/ºHD9ºu…9¸¸‰Ð¸…¸Ðº’5¥9¸¥¸”и”/¸¸•ܺ¨5¥9¸¸ºÐºÃ5¥9ºÌ5¥9ºÎ5¥9ºÑ5¥9¸¸ØÐºÛ5¥9ºÝ5¥9ºà5¥9ºâ5¥9ºè5¥9ºþ5¥9¸5¸к5¥9¸5¸и/º"5¥9º(5¥9º35¥901 3656;2#'7+"/#"'+"5&54775%"'5476;25'7&56%635&56;374765'75'76=4'&+ '"'4!#"'&3$365&5&#%#754'&5&&547'5367&7+&'&'735&2?"5%75537'7'3533553535'32767&5%2?&#%55'575775775§1’:e ,$?F?Yø>êF_LA3E¾L¬¯HÑ3,8LYLäþÐlEF'!0<… k#gþšF  ™EeYÄ!! Gà€p&þ­iq9 :^N$ÏË%`BCíf F4ùü"4._?ñeËe3&{E(1þõ-ÖÙ+!$Kt8¿ -  ‡ þ–$þÖÌGs ¥sM ýùrEF›"ºã2 >_ý£pÌØÁlTErf^5.>=9|5"-l)d ,&>vv]cccWpC-+ d•8 Bpp>W]oØæaþxvuPp82,ŽD¨ ^8, ^B$K»œ+ "1®R[+Òe*ñ;ÐG ›W Q—›Uþ‚ I&? gpëo% w ^SA$ Ÿ2 9i-5n02¢þ†Ç¿D|&®IY^Pw^%ˆ\??\OWC ,,1 /211/=;7777=321811{908hN%b\Dh,)h?Ì17I21!122223 21¬Ø& ¸/¸/012%2#"'&=477654'#"'5473Bq4|ýl anN iü¡¡l‹m b üµ9 bØMOŠbý >YÑaYÆ®58Šl7P ÌP@ ª‚Ø$0<FX?¸Y/¸Z/¸ܸY¸ и /¸ܸ¸ ܺ +¸º+¸01 + &=6&# 3 6=%&#"';27!5%67%!&'&'2+"'&=476‰rþÃÂÔ þ„þúcR¹¦§þÔë~²ßUêYþ­þÔ¨Ñ082.Ôþà_þWÒ†_þV"+Ò}þIR8D).P9H'Øþ¯Öþ°ý“ƒ®²S„¬]þÙ±ÂþÄâŠZ–¦YàûHYoþ’X(I_ Û þ’‘°;.2lOþÏP%.G6R%&I8dÈØ 8Pi]¸9/¸\/¸ /¸"/¸)/ºWg+¸Wº 99º% 99º+ 99¸=и=/ºC 99ºQ 9901>'67&&&'6.7#"'&'#"'$76'773.#'6'5676&&5476'&'%&&8DN$$ „UE¨>!]úJþ([Fhy *Ám¦.2¤\=w\`|€:S?ED:@@]?Üþÿ¢]1fixà Òp·‚FF¶TD'û†yrÁ,±48e¿L @v¯…´‘(–NrÕ%&&&+F 7!þêN &".Ý\ý²S$ªXE/KC\a£º*0/'¬—rS¶CÙŸ¥ C‚þÿ ¶ “(RKœpèüF•¡|b‰phþïc˜'R"J$Ž•dÿüöÑ1F[q‹•šŸ¤©®³¸½ÂÇÌÑýºG^+¸G¸$ܸgܸи/º$g9º $g9º $g9º$g9º^G9¸G¸иò¸иq¸#иG¸Ëܸ&и&/º*^G9¸G¸2иò¸3и$¸4иq¸5и^¸7и7/º;^G9¸Ë¸=и=/¸$¸ªÜ¸@и@/ºC$g9¸$¸Iиq¸JкP^G9¸g¸UиU/ºX$g9¸ª¸ZиZ/¸$¸\кb^G9¸Ë¸dиd/ºk$g9¸G¸oиò¸pиG¸rиò¸sи$¸tиq¸uк{^G9º|^G9º}^G9¸^¸Ð¸/ºˆ$g9¸g¸ŠÐ¸Š/º^G9º’^G9º›$g9º $g9º¥$g9º¯$g9º±$g9º¼^79ºÁ^G9ºÆ^G9ºÎ^G9ºÐ^G9¸G¸Òиò¸Óи$¸Ôиq¸Õи$¸ßиq¸àиG¸õиò¸öи’/¸é/¸/¸!/¸//ºÛ×+¸Ûºyu+¸yºuy9º uy9º uy9¸ и /ºuy9º/é9º/é9º*/é9º;/é9ºC/é9¸u¸PиP/ºX/é9ºb/é9ºk/é9¸u¸rиr/º{uy9º|uy9º}uy9ºˆ/é9º×Û9º–×Û9º›×Û9º ×Û9º¥×Û9ºª×Û9º¯×Û9º±×Û9º·×Û9º¼×Û9ºÁ×Û9ºÆ×Û9ºË×Û9ºÎ×Û9ºÐ×Û9ºß×Û9ºö×Û9¸Û¸øÐ¸×¸üÐ017&&'7'6&'$#&7'&#"'5&767#&''5$'67'6'6'5$'67'656$'67&'6'&'''5$7676'&&'$'63&7"7&'7&'7&'7&'6'6%676767&77&77&''5& '6%35&'.54>323#67!&W= y /_I[l*OÌ Fþƒ_VhB"ï "¯@.,<9tJþè€4Vªµt1P QJþ“qMiÛ v–h£ÿþópHI£®!:´»JJJþ€ ÍB7m\J_/ Ö®?o þv!"ºt,`—s&*_~P1>5='g=@24<1ý -s[,*&sd1PT>5J@=)j<42ëJCþõYT_Y))X^TYþõ{ #m7 "J}>  üÎ"H1 $™Œ ‰&b5 4CUE '(¤!`9 !,(MTE +… }r}A" 7,)f[4f AD <@0&9c?"V+€GoM“K~aœG „g‰9s &0@k"?c*‰G€E‰K“X Gœjt9‰h¹ÎÂN&¥\6 '''' 6\¥%ªNÙ$‘¸%/¸ и /¸ÜAÿ]¸ÜAÿ]¸ ¸ܸ¸ܸ¸ܸк9º 9¸¸и¸&ܸ/º +¸ º+¸¸и¸Ð01&'6&'67327&#!65#&3yyys~Èw Êʈ£µ®¬¶¤cþ¦c¨¶¬®µÞ±±ŽqZre¸óóÂ[cþ÷7þ µ®®µô7 cªÿýˆÙ , º!+¸!º"+¸¸и/¸!¸ܸи/¸¸и/¸¸и¸ и¸ܸ¸и/¸¸и/¸¸и¸и/¸¸и/¸"¸&и!¸(и/º+¸º +¸º &+¸ º$+¸$¸¸ܸ¸и¸и ¸и ¸и&¸)и$¸+Ð0135'533#3!'#'5!5!5#53!5!5#!!-Ê·«}} ”þcˆ±††þk–v¤G þôGþõ @<<3ff¢X¯ý苜…þ›‚q°X¢üÏ»GccGª›J!½¸"/¸#/¸"¸ и /¸ܸи#¸ܸÜAêú]A)9IYiy‰™©¹ÉÙ ]¸и/¸¸и/¸¸и/¸ ¸и/¸/¸/º +¸ º+¸0132654&#!2+73 ### 3(ÑttþŠvÎÔÔÎÑÚÜþg®Ûï¦þÛ·þnܧýØ„„üŸßØÙÞþÍíþBþ(þúþéᵪ²×sº+¸¸и¸и¸и¸и/¸/¸/¸/º+¸º +¸ ¸ ¸и ¸и¸и¸Ð0133#!!#'!'57!5#'5735׫¥¥$þÜ«þÞ"££×›”q˜ü‚~˜q”›ªÿý‚Õ+“º!+¸º+¸º +¸ ¸¸и¸и¸%и¸'и ¸-ܺ+¸º+¸º+¸¸¸и¸и¸&и¸(Ð01!#!573#'5!3!'573!#'73!#'5»¶ ;jjýÅ þJªýÄss<ªÕwýÑ¡þIžýÈjj8ž·¡/w²{Ø,iº +¸ A & 6 F V f v † – ¦ ¶ Æ Ö ]Aå õ ]¸/¸/º+¸0132#' 3%+ &5%6323'#57'53œÝÒïþ©Ñ^Vˆœ ŠQ6þ‘¬>ѨA±©B¬ÕØ’6þÊž¹þ’ÖG2k >ÀéªîYþ3É~»||É~ªƒÙObsºU]+¸UºHB+¸Hº+¸º% +¸%ºhq+¸hAêú]A)9IYiy‰™©¹ÉÙ ]º9º ]h9º9º9¸¸и/º]h9º#]h9º+]h9º/ %9º49AH&H6HFHVHfHvH†H–H¦H¶HÆHÖH ]AåHõH]º9BH9º=]h9ºF]h9¸¸KиK/¸¸LиL/¸¸NиN/ºQ]h9AU&U6UFUVUfUvU†U–U¦U¶UÆUÖU ]AåUõU]ºYBH9¸h¸uܸ/¸/¸ /¸4/º+¸¸к49º9¸¸к49º49º#49º+49º/49º949º=49ºF49ºK49ºQ49ºY490132732753"'#"'4323$4'5;+"'#"'53275'&'&5?5572%#&'&5%634%476=%ê@.!%,BE,#!-Q²2" $nÞàL/P¥uHED8ˆ@9AF&F6FFFVFfFvF†F–F¦F¶FÆFÖF ]AåFõF]¸0¸JÐAU&U6UFUVUfUvU†U–U¦U¶UÆUÖU ]AåUõU]Aêfúf]Af)f9fIfYfifyf‰f™f©f¹fÉfÙf ]¸¸iܸ/¸,/º,9º',9º1,9º>,9012#27654'73&#"#'&'#"56='"'46'4#"4735#5&547/63654'%654ØBR38Íxyއ}ê•xO8x  *@;^ThoPš?)š.Rtšä}Ö?ywÌîW·FY3(p"AÙK|.PQUÇbKxưr¥þþþàþÉ®-“(-; )î1–Hv;32#"&546324&#"326%! ! – Å’ÉþbþäþÞþ{±•ÆÊ=&*<<*(;ýE;))::));åþKþÉþÊþJ¶67µøŽÁÏš˜þ{þɬ²Àž)::)*<<**<<*):<'þÊþL´67·þIÿÿª‚Õ" :# :† : ÿÿªƒÔ" :# :… ; ÿÿª‚Õ" :# ;… : ÿÿª‚Õ" :# ;… ; ÿÿª‚Õ" ;# :… : ÿÿª‚Õ" ;# :… ; ÿÿª‚Õ" ;# ;… : ÿÿª‚Õ" ;# ;… ; ‡ÿê¥á <BHNTZ`fl3264'&#"&7367'67675673#''5&'&'7&'677&'67'%%&'&'%6767%&'ô0/CB^0/AC/ý88pkTcR|ÂNO¶‰OfUip88pqUfOжNNµŠQaQhû!$ Žb€)·dŒþ¯ËL÷Qýk þðK´ÌRþt!% cþ'¸d&„//^„000ÃNN·|P_Pfp88poQ`Qy¹NN°ƒP\ Qgp88pmQ \Pyº,  Mª ÆNþ>&«`‚7" bþK*ŒVô&"¬g{‰ þðM¥ ÂMª‚Ø !)1aº +¸ º0,+¸0º$+¸º+¸A & 6 F V f v † – ¦ ¶ Æ Ö ]Aå õ ]Aêú]A)9IYiy‰™©¹ÉÙ ]¸,¸и¸(и(/A0&060F0V0f0v0†0–0¦0¶0Æ0Ö0 ]Aå0õ0]¸¸3ܺ +¸º+¸º+¸º&"+¸&¸"¸*и&¸.Ð01! ! 3254#"&#%#7&'67&'67ª¶67µþKþÉþÊþJ˜]÷÷_þ¡÷÷þ£VÒNEWMCe2ntjý¬ntiê7·þIþÉþÊþL´6õþŸaõù]þ£þ þú]þ«àpu otpu otª‚Ø !)1aº +¸ º0,+¸0º$+¸º+¸A & 6 F V f v † – ¦ ¶ Æ Ö ]Aå õ ]Aêú]A)9IYiy‰™©¹ÉÙ ]¸,¸и¸(и(/A0&060F0V0f0v0†0–0¦0¶0Æ0Ö0 ]Aå0õ0]¸¸3ܺ +¸º+¸º+¸º&"+¸&¸"¸*и&¸.Ð01! ! 3254#"3$3&'67&'67ª¶67µþKþÉþÊþJ˜]÷÷_þ¡÷÷þ£TÔNEþ¨þ´Ag¬ntjý¬ntiê7·þIþÉþÊþL´6õþŸaõù]þ£þ þ£Uþþypu otpu otª‚Ø %ͺ +¸ º+¸º+¸¸¸и/Aêú]A)9IYiy‰™©¹ÉÙ ]¸ ¸"и"/¸¸'ܺ +¸º +¸º+¸¸¸ и /¸ ¸и¸$Ð01! ! #$''&'6%&'6ª¶67µþKþÉþÊþJ‹O“ R`ÿ嘌„‰ýÁ€…Šê7·þIþÉþÊþL´0þc¦þ Z‰ † Œ‡ † ª‚Ø "*2:AIXé¸Y/¸Z/¸ܸܸи/¸¸и/¸Y¸и/¸и/¸¸BиB/¸¸CиC/¸¸Eи¸GиG/¸¸LÜAL&L6LFLVLfLvL†L–L¦L¶LÆLÖL ]AåLõL]¸F/¸H/¸/¸/ºW+¸º$'+¸$¸+и'¸/Ð013#''%#&'52#"'&5476!!'5%!!'53'5%3'5%3#'32765'&#"sNN99ø=üûý>È-1×\ ÄH0µe%½FýKSþ­wZþ¦G†r=øý´;÷=NN$‚E| 1† ?’'Øþ¡_œ>ÿ?îþ@Ç7µâ`½d¨@\´hþíPPPPþç‚y?ý+<þ>wþ¡_VG{?,rC‚AšÝƒ×+“¸,/¸-/¸ܸ,¸и/¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸&ܸ/¸/º 9º9º 901 +"'5$76%&'547327676=&#~‹jþt³°1/Q}›þ²ˆ]•(Éþ¯+VžéRþ¥£ž×þ‡­ÆþxþÿbO±Ê àP >ÅþþnèS˜ô]] =fªPØ+¸,/¸-/¸,¸и/¸-¸ܸÜAêú]A)9IYiy‰™©¹ÉÙ ]¸¸&ܸ/¸/º9º 901! &56;2'5$%75#"3¯þuþïiŒ³±1.Pþì~šNˆ]•(þ7P,VŸèSZ¤žy­ÆˆcO±ËþõþpáO >Åí‘èS–õ\^ þÂþüf¯ÿ0:Û1@!º7+¸7º +¸ º.++¸.º.9¸и ¸ и /¸¸к.9¸¸ÐA7&767F7V7f7v7†7–7¦7¶7Æ7Ö7 ]Aå7õ7]¸7¸!и+¸=и.¸Bܸ /¸"/¸+/¸-/¸ /º +¸ º'2+¸'º:+¸:º2'9¸¸и ¸и ¸и/º2'9017#'#53'&'&54767&'&=33676=3#32654'&i($…„lØÜÊÊ“m……$(($…Ž[Uu&tU[Ž…$þ÷&uU[·‚·[UV$ƒ½¼|dÑdÊËbÑ e|¼½ƒ$%ƒ¼ ‚ZSSZ‚ ¼ƒ%_TY‚‚ªª‚‚YT¯þÿ*Ú $º+¸º+¸º+¸Aêú]A)9IYiy‰™©¹ÉÙ ]A&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸и/¸¸"и¸&ܸ/º+¸º+¸º #+¸ ¸#¸и¸и¸!и!/014&#"326&5432%##5!&w衤ç礡èüá©PïìP§‰³þê¤ÿÿº¢¤ää¤£ØØëîïLþ´ïî~þ÷~þ| ¯þÿ*Ú $º!+¸º +¸º +¸A&6FVfv†–¦¶ÆÖ ]Aåõ]Aê ú ]A ) 9 I Y i y ‰ ™ © ¹ É Ù ]¸ ¸и/¸¸и/¸¸&ܸ/º+¸º +¸º +¸ ¸¸и/¸ ¸и/¸ ¸Ð01"32654&'#5!3%#"5476î¤ç礡èèôÿÿ¤þ𳉧þ°ìïþ°©‰±×¤¤ã㤤ף |ÿ~þ÷~îîþ´Lîÿõ¥Õ #º+¸¸%ܺ+¸01&$76+"'&5'476%7!ôtþÆtsstEus ¨éí¦¦¨¦ÈpiþŒîþ˜d5s qtþºtrtt<ýÖ¤¤¥ëꧦg\Œþuþ¢lþ9SרŸ¸/¸/¸¸и/¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]º9¸¸ܸܸи/¸/º+¸º+¸¸Ð0152654&#"#43233#!5 zª©{y«–¸»mã——ü«yy««y¹þü¹¨{Åú(|—ÀjØǸ /¸!/¸ ¸Ð¸/¸и¸ ܸи!¸ܸÜAêú]A)9IYiy‰™©¹ÉÙ ]¸и/¸ ¸и/¸/¸/º+¸º +¸ ¸¸и¸к  901#53533#632#4654&#"#*jj˜²²o˜²ïŒ—›onš˜—´´—þ}mþþ»Zåy„îH{©ªzþFø2Ø 4˺+¸º +¸ º.++¸.¸¸ ܸ¸"и¸$и¸&и ¸(и+¸-ܸ0и+¸2и.¸6ܸ/º$!+¸$º +¸ º&+¸&¸$¸'и&¸)и$¸+и!¸-и ¸/и¸1и¸3Ð01"32654&7#"&54767!!53#5!!3!!#3!!•8OO87ON=0L˜mk™L/>þàþΛ›2 — 1™™þÏþàŒO79NN97Os0Lll™™llL1ŒþK—Ó˜þJ¶þJ¶˜ý-—µ'Ø<ƒº +¸º+¸º4)+¸4¸¸к 49¸¸и¸к 49º 49º" 49¸¸#ÐAê)ú)]A)))9)I)Y)i)y)‰)™)©)¹)É)Ù) ]¸)¸+и+/º, 49¸4¸2и2/¸¸9и4¸>ܸ/¸/º:+¸:¸¸и:¸к 9º 9º9º9º9º9º"9º#9º+9º,9º19º2901%#5#535&'&'5'73'3#'73'676=35'73'33â—°°¥z–‘˜hNg‘’—‘‘eMj‘˜–z¥¯»»»—‹z–×TŽŒ™™ŒŽT—hOÊ‹šš‹ý7Nj–YŽŒ™™ŒŽYÓ–y‹—ì?Ø¥¸/¸/¸¸и/¸Ð¸/¸¸ܸ¸ ܸи¸ÜAêú]A)9IYiy‰™©¹ÉÙ ]º +¸ º+¸º +¸01! #!!!'!27674'&#ô™.d û;6þªzüý‘F‚H¢%QØÐM_þö\ý­‚ǃþ$‚P¤<]ÎÚ 5º +¸ º 9¸/º +¸ ¸и¸Ð01!#"#&5463 67!2#6#"Vþâ©9k†]£’tƒ„s“¢]†k8‚¨þâXþ»¢„¡„»üû1((1»„¡„¢Eüûý¨·uØ 1#¸2/¸3/¸2¸"и"/¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]¸3¸ܸ ÜAê ú ]A ) 9 I Y i y ‰ ™ © ¹ É Ù ]º"9¸и/¸¸$и$/º&"9º+¸º+¸º +¸ º 9º& 9¸¸+и¸,Ð01"32654&'67>3"#"54767&'&#52•“ÎΓ“ÏÍ•ƒLVa¡¹{§ƒ.+’þÙÓÐþØ”)0«z¹ºHUM\Ï““ÎΓ“Ï–=B´®lþÈl)•ÒÑþÙ'ÑÒ•*l8l®´B=ÀjÚ;¸/¸/¸¸Ð¸/¸¸ ܸܸ¸ܸ/¸/¸ /¸/01&'5 %$ 56?6'¨ª[øW°¦¦°þ©ýþ¥ª¨˜ééééü4”ZZ—/ûâ/˜[[”5 ç@Eo +?º);+¸)º5#+¸5º +¸A5&565F5V5f5v5†5–5¦5¶5Æ5Ö5 ]Aå5õ5]º#59¸/Aêú]A)9IYiy‰™©¹ÉÙ ]¸ÜAê ú ]A ) 9 I Y i y ‰ ™ © ¹ É Ù ]¸;¸ÐA)&)6)F)V)f)v)†)–)¦)¶)Æ)Ö) ]Aå)õ)]¸¸/и¸Aܺ 8+¸ º+¸01"32654&,'5'&546322654&#" &$#"&547>ã_„„_^…„þâþÈþ”™ý- ƒÍ“•ÎhIöý«^……^^†…9l™ýýÔ ƒÍ“•ÎhIõ¸„__……__„ýˆ(+|T!%l§“ÏÏ““gML¶„__„„__„x)+{T!&l¦”ÏÏ”’gMM Ø =º( +¸(º+¸º"+¸Aêú]A)9IYiy‰™©¹ÉÙ ]Aê"ú"]A")"9"I"Y"i"y"‰"™"©"¹"É"Ù" ]A(&(6(F(V(f(v(†(–(¦(¶(Æ(Ö( ]Aå(õ(]¸?ܺ+¸º%+¸01>'.463227#"&5454&#"&'&5476766&”KA”KK@’Wß´¬ÚþÞ†GdAoc¤„–.%&3tuä/3u„€]Œ”JKA’KL@ÿ¡Éݰ»þ ´|XHwyoÇᆥ›<‘>bÛQs-.cx68<32>32#&'567''#&&#4'3>$4&"¨?w(ÆK>R0ƒD32>32gYYËËYËD,1:…?—$)´•˜Žv$·E?w(ÆK>Ro}v­¯vxJv<ÙÈüašAkã×ütA¾¿O°]¼Æ€wϧÛÊý„©ƒØe¸/¸/¸¸ и /¸¸ܸи/º 9¸¸и¸ܸ ¸ ܸ/º+¸º+¸01!5!3##'!5!~ýÒ2˜þÿ˜üÃk<ýÒÆ@˜iý80þÿý80üÃk<˜ÀjØ'/¥¸0/¸1/¸ܸ0¸и/º 9¸ܺ#9¸%и%/¸¸,ÜAê,ú,]A,),9,I,Y,i,y,‰,™,©,¹,É,Ù, ]¸/º+¸º* +¸*0127632#"'#576&#"4'5267>327&'"SkQmÃy™Ž›z,~Ѝšzi2@:$ ž„“¡(.-)zW]‚¡ Ÿ˜Øüžݾg‘«… ×vxþÏýðaÞþíÉX[–ü&‘Ű9{¢!C¸*/¸/¸ /013276327632#"'&#"'&#'3276327632#"'&#"'&#'°Es- 1­V865­+)|m^a¬V885¬W780þ©5Dt,1¬W776¬+)}m^a¬W784­V870þ©5(ŽŽGGŽŽ$þÄ3˜LK—ŒGHþäbÙ 'HH#þÅ2™ML—GHþäaAêØƒ¸/¸/¸ܸܸи/¸¸и/¸ܸ¸ и¸и¸и/¸/¸/¸ /¸/º+¸¸¸и¸и¸и¸Ð01!5!37!!'ñ þê¥3þØ(þͦ ò¥þÍ'þØ3¦þé™þ®þ¿_7¬6`þÀþ­S@þ þʬþÉþ¡ARÉcØ!%UeSº ,+¸ º#&+¸#º!+¸!ºU$+¸UºO+¸OA & 6 F V f v † – ¦ ¶ Æ Ö ]Aå õ ]Aêú]A)9IYiy‰™©¹ÉÙ ]º3,O9ºI,O9¸gܸ=/º#&+¸#º<9+¸<º"+¸º0+¸0¸¸и¸к309¸<¸?и9¸AкI09¸0¸KÐ0167&'&#"!3!67>54.#"!&'.54>325467675#53533#63232>54.#"P#3JNN“TRJWVJQS“OMJ4"þ?õü¹*&ElnÆhPL$ llill %LOhÆnlD')ýÖ----Ç+)Q•PQ’((’QP•Q)+ý¸þÑ/þ 6ÄklÅj$?6FWWF6?$jÅlkÄ6 þ}++--âJØHNRh~”©¿õ¸À/¸Á/¸À¸GиG/¸и/¸Á¸Fܺ F9ºF9º)F9º7F9¸QܸIкJF9¸G¸PܸMкTF9ºjF9ºF9¸F¸‡Ð¸‡/ºªF9ºQF+¸QºNO+¸Nº>D+¸>¸D¸Ð¸/¸>¸и/¸>¸и/¸>¸6и6/01&'4>32"'4>32&'4>32&54>32&54>32#!5!'!567>54.#"32767>54.#"327732>54.#"327>54.#"732>54.#"M_ 669ï4S55.½+C55C&¹.66 V\+55 c ü£$µþ•·×üÿMç##$ 6ˆ»$#$­s`%#$þšd0"%)h¦ #"#û_33@þ¾]22-"ý40446üÊä/*33UýJ"+33^þ1ýÑ/þßáK=Ó0¤¤T* ####ýø ù #$$#ýÑ#$$# ý B #### üÚ*ê"$$" UÿþÖÖ!'-2gº(+¸(º+¸º+¸º+9¸+/¸ ܸи¸ ܸ¸ к(9¸/¸(¸ܸ¸и¸и(¸и/¸2¸и/¸+¸#и#/¸¸*ܸ%и%/¸¸.и./¸(¸1и¸4ܺ+¸º++¸+º+¸º$+¸º2(+¸2º"0+¸"¸¸Ð¸¸и/¸+¸ и /¸+¸и/¸¸и¸и/¸¸и¸и/¸¸Ð01!35!#3!53573#'5#5!35!75!!5'57!«s\\sûs]]s ª—ûîJRüÚRIJý~Ö››¢–ý·•££˜E—¢›úû77êƒ__ƒývt€€t4!ýݶvØ7CRbW¸c/¸d/¸c¸и/¸и/¸¸SÜAS&S6SFSVSfSvS†S–S¦S¶SÆSÖS ]AåSõS]¸и/¸d¸ܸ[ÜAê[ú[]A[)[9[I[Y[i[y[‰[™[©[¹[É[Ù[ ]¸!и!/¸¸#и#/¸[¸DиD/¸¸FиF/¸¸NиS¸PиP/ºR5+¸Rº_+¸ºW<+¸WºBJ+¸Bº<W9º!<W9¸9и<¸?Ð01&54767&'&'5676767&'&54>32! 535#5##3654.#"!32>54.#"Ë  <$))+N-N*)N-M,**%:  ü@ ¬¬v¬¬¢<-M**M-?ÞŠþK5664”59<5&?HPPIK* ')+K**K+)' *KIPPH>&5<:6þu”N|l||l|þ²-I+N))N+@6þ¬ü5555QÛØ*3V¸W/¸X/¸ܸW¸и/º 9º"9¸;ÜA;&;6;F;V;f;v;†;–;¦;¶;Æ;Ö; ]Aå;õ;]¸.и./¸¸1и1/º@9ºA9ºE9¸¸KܺP9ºS9¸/¸/º 9º"9º@9ºA9ºE9ºP9ºS9016&7!&54''&''67.76;+"'5#"=6&'76767%25#6&' 3Zš(ê-ü6 “ Z8.ž ,‹Z0H &h6¢%`+EH )Ø#M+=;,Zga#‡iR6þU k'þ'M.+è`xƒþ½üo8: .@sŽ.P Ómz "xþë?.#1þp#41§`&jD"acòëLHJ ­•þÌ~447| ƒJlL"0ÿÿû×T_º/+º@8+¸@A&6FVfv†–¦¶ÆÖ ]Aåõ]º+/9A@&@6@F@V@f@v@†@–@¦@¶@Æ@Ö@ ]Aå@õ@]º48@9ºD8@9ºU!+¸UºZ+¸¸!¸#и#/º+Z9ºMZ9¸!¸TÐ0132>54.#"32>54.#"!5&54767&'&546767&'&54>32'&'.#"¿:e79e89f76e;›[ûÙS ¥’&(*UM,N)(N-KV)&&“¦ \@Eõ€õCA‰8d88d88g66guú»9: %N&KRS—* '**M**M**' *—SRK&NþÛ :9„}qyƒƒyq}ÉcØ!%Ueiz‹_º ,+¸ º#&+¸#º!+¸!ºU$+¸UºO+¸OA & 6 F V f v † – ¦ ¶ Æ Ö ]Aå õ ]Aêú]A)9IYiy‰™©¹ÉÙ ]º3,O9ºI,O9¸Ü¸=/º#&+¸#ºfg+¸fº<9+¸<º"+¸º0+¸0¸¸и¸к309¸<¸?и9¸AкI09¸0¸KÐ0167&'&#"!3!67>54.#"!&'.54>325467675#53533#63232>54.#"!57!&'.54>3234'67632!P#3JNN“TRJWVJQS“OMJ4"þ?õü¹*&ElnÆhPL$ llill %LOhÆnlD')ýÖ----¤ýsÎþè=BDw@>=)ñ)==AwDB=þéÇ+)Q•PQ’((’QP•Q)+ý¸þÑ/þ 6ÄklÅj$?6FWWF6?$jÅlkÄ6 þ}++--ü¶ÈÈÎ !yCB{C!$$!C{BCy! âJØHLP·¸Q/¸R/¸Q¸GиG/¸и/¸R¸Eܺ E9ºE9º)E9º7E9¸JܸG¸PܸKиJ¸MкMF+ºIN+¸Iº>D+¸>¸D¸Ð¸/¸>¸и/¸>¸и/¸>¸6и6/01&'4>32"'4>32&'4>32&54>32&54>32#!5!5!M_ 669ï4S55.½+C55C&¹.66 V\+55 c ü£$ý)×ý)û_33@þ¾]22-"ý40446üÊä/*33UýJ"+33^þ1ýÑ/ËNNþÖOOUÿþÖÖ%)ãº$!+¸$º +¸ º +¸¸ ¸Ð¸/¸$¸и/¸¸и!¸и$¸ ܸи¸+ܺ&+¸&º'+¸º +¸ º +¸ ¸ ¸и¸ и /¸'¸ܸи¸ и ¸!и!/¸ ¸"и¸$и$/¸ ¸%Ð015!5!!35!#3!53573#'5#5!35!Öý€Êüìü«s\\sûs]]s ª—ûî„^^ü/oo#››¢–ý·•££˜E—¢›úû77¶vØ4@mº+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]º9º9¸1/014767&'&'5676767&'&54>32!&535#5##3¬  <$))+N-N*)N-M,**%:  ü@%¬¬v¬¬<5&?HPPIK* ')+K**K+)' *KIPPH>&5<:6þn”5|l||l|LàØ".7=Wº <+¸ ¸?ܸ/¸ /º 9º 9º 9º 9º, 9º8 9016&73#!&54'''7&''676&7;2547#";65'"3=QUU+-ü6 ¢E|]k0krd0c G&h8ªE+`%s H>É4wM-æ'Ÿ,Q’þ¬üo8: $w®—hPSÓmh**zÿ1"0@þ)5"@YþóýR0ÿÿû×0mº+¸A&6FVfv†–¦¶ÆÖ ]Aåõ]º9º 9¸/01&54767&'&546767&'&54>32; ¥’&(*UM,N)(N-KV)&&“¦ 9: %N&KRS—* '**M**M**' *—SRK&NþÛ :9CèÔ#º+¸¸/¸/¸/¸"/01#"'##56'##"/547?˜^Øí'¢5@š_*S×U&/U»L »;YÔ§þìþê9UP(§`Ý þå–—X…ÑI.·Ë‚¥¹sÑ2Q¸3/¸4/¸ ܸ!ܸ и /¸3¸и/¸ܺ+ 9¸/º&+¸¸Ð¸&¸/Ð0122732#&547636=4'&# #4'&#"*Út pëÑz&Ýþ=<ý xÇQåÐÛ>h½G:þøV He½®k%ÑþíPF5ÓNP þþçýÙBí²¶Ò|-þÛäý¼»¡—&¬pþA&NÑà±FXÒÔ ¸/¸/º 901 &&5 –<ýãþF:þþ^Ôýý;" €V –ýgýdœäGÔ7Cº+¸¸/¸/¸/º9º9º 9º/901236;2"##'65##"'&5476;235&'&=476—Öe x<JTî`Ñ(GòeRÐUdõ¿föB3 VNT<×GÔã48u <ÊB<Íh  þ©m€MþëÉD:éS GEnQÉhBêÕ"<B­º'+¸'º +¸ º8+¸º 9º9º9º# 9º=9º>9¸Dܸ/¸/¸/º4 +¸4¸ ¸к#9¸4¸+к=9º>901+"'##56#+"'&575477;2732;276=4'3&'"—~Vµ"0‘b*S×V*8Ui QÎ"_|þ®Q ”)w`·Sg‰A ËæŽ? Õáþ6‹†ÑNÚ þè›—#eu®B? ÈÔgIÇþo‚…»5 ÚF”§(°ÏûpZR¶wÔ¸/¸/¸ /º9012367632#&5476(Ët*#\l‡Ñ~ ÐýïýΨÇTÔë]1¢klàSIúãý…±ÍÚÓ|-XÒÔ ¸/¸/01 &47–÷EýÄ ýÎoÔýsU ýÝŠäHÜ2`gº+¸ºZ+¸ºN+¸º9º9ºV9AêZúZ]AZ)Z9ZIZYZiZyZ‰Z™Z©Z¹ZÉZÙZ ]¸iܸ/¸/º^+¸ºJ+¸Jº):+¸)¸и/¸)¸ и¸!и)¸,и,/¸:¸7и7/¸J¸Aи:¸QиQ/¸:¸Sи:¸UиU/ºV:790126;2"##'65##"'&5476;2&'5476&+"326733276=4/#"567654'&#"35&5›Ëhr=)ø\Ò"IñfRÑUdöÀg÷C3&=cØGð© kv ó=ˆ=NÒr%SZž¨U ý6vk »6)¸S<ÜÎF9„¦×8:Ód  þ§m€OþèËE:ëR p±&Ëiþ³›Ì  ÔC”]&'Ax†…¾.+Þ0 ‰nM,¶WÈûÎ`cØÿþTÔ,L#º@8+¸@º+¸º0H+¸0A&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸"ܺ<809A@&@6@F@V@f@v@†@–@¦@¶@Æ@Ö@ ]Aå@õ@]AêHúH]AH)H9HIHYHiHyH‰H™H©H¹HÉHÙH ]¸0¸Nܸ/ºD4+¸D013#&'&'&6%3#&'&'&63#&'&'&6#"$&5467332$654'&'v ‘Ì £0ªA ’Í ¢1ªY ’Í £1ª,¨¾¹þ±¶¶þ±¹½¨ƒKV§.¥¥/¦VLƒ9?›c‚yɦt3Z|Œí`í—Å»þÎû²N‹½Ö[OÄ}¡šýБBr›±þ1±a`°bb°`a±1)EMTT˜UU˜TTME)¬ÿö·Õ%º+¸¸/¸/¸/º9013#"/4?23hHÄ0#ÔÓ!cZÕúý£-…‚@Ô¬ÿöoÕ3º+¸¸и/¸/¸/º9º9013#'654'&'#"54732XW­ðz=ä\à9òÔ`YÕ'6?FŠ’` 1TFG*ûÖ™-¨ƒ@Öxÿ/³Õe¸/¸ /¸¸и/¸Ð¸/¸ ¸ܸи/¸¸ܸ¸ܸ/¸/º9º9º901#"=4?2%#"=4?2ý³À6Õ±'VQýÜ–Cت+YPÕÊúí›*¤~: ©ûÛ‰8›z"CÓ¼ÿöoÕ‹¸/¸/¸ܸи/¸¸ ܸ¸и/¸ܸи ¸к+¸º+¸º +¸¸¸и/¸¸и/º 9º901"'4723!# 5472!5kþûéémOü¥òþþìdXX[ÕûÕ¤Š;•ýZÏ$±}@áÏœœµÿú"Ù º +¸º+¸¸¸к 9Aêú]A)9IYiy‰™©¹ÉÙ ]¸¸ܸ/¸/¸ /º+¸º 9013363'$6'"»-ª‘ãý³8¢ ¡wÙü?íþÿþWXÖûÔþc1¬ ¬0Ù «¸/¸/¸¸ и /¸Ð¸/¸ ¸ܸи/¸¸и¸ܸи/¸¸ ܸи ¸и/¸/¸/¸/¸ /º9º9º 9º 9º9º9013%#'#3%#±)N(þ¯4Ùþ/¡ûcå Šý™þ}­4Ù(,=º+¸º+¸¸и¸ ܺ 9¸и¸к  9¸¸ܺ9¸к9¸¸и¸!и¸%и¸&и¸'и¸+и(и¸)и¸*к, 9¸/¸/¸/¸/º9º9º 9º 9º9º9º9º9º9º&9º*9º,901377#'#'547#5773%%‡.wwzy.þà** þà ÙþÐ<<þ‹7‡Cþ׌þ¦A<Ž<{8‹Aþú†Mý–þ‡‹t¬PÙGcº6+¸6¸¸и6¸#и/¸/¸MT,›•P$’ ´6œ…6$0_äý u3d´­Ud€tœÈ_}s*$Ä"ìRþÖt0XX__ç/iþký¸=Z¬G†8þÔ*F €1 þƬ.þ­ Å þÑŠfþõþï)MC =þêg9E¢k×O 9þË!(-ƒ);& Æ þ]¬þÔt!þ±y" ³þ¥†& 2| ¬ªb³a$ U+œ Ù 2E‹¸3/¸$/º+¸º +¸¸Ðº$39º$39º$39¸¸"к%9º&$39¸¸'и'/º7$39º8$39º9$390135733!&54?'7'7!!"'&%#'73676'77'7'&'676Õ«ºÊ«þýó,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/êšaþ\¸MOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù1DW¸E/¸6/º,-+¸,º+¸º +¸º6E9º#6E9º$6E9º%6E9¸-¸4к7-,9º86E9¸,¸9и9/ºI6E9ºJ 9ºK6E901!!5>7>54&#"5>32&54?'7'7!!"'&%#'73676'77'7'&'676]Týñ@Í1$Jë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/Ò]U1ž)8(3&ncQ&D- mþºMOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù(=Pc³¸Q/¸B/º89+¸8º +¸ º#+¸#º+¸º9º BQ9º/9º0BQ9º1BQ9¸9¸@кC989ºDBQ9¸8¸EиE/ºUBQ9ºV#9ºWBQ901#"&'532654&+532654&#"5>32&54?'7'7!!"'&%#'73676'77'7'&'676Z _­3lFHe5^\VOosHGJI)`VKm1šSüj,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/¾S<\el23-2['&')b YK4JþMOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù "5H¸6/¸'/º+¸º+¸º'69¸и¸ к'69º'69º9¸¸%к(9º)'69¸¸*и*/º:'69º;'69º<'6901333##5!5&54?'7'7!!"'&%#'73676'77'7'&'676¶ææ±yyþ‚þ,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/RþÿŠþv_ŽŽ`þ„MOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù2EX«¸F/¸7/º-.+¸-º +¸º+¸º7F9¸ܺ7F9º$9º%9º&7F9¸.¸5к8.-9º97F9¸-¸:и:/ºJ7F9ºK7F9ºL7F901!!632#"&'532654&#"&54?'7'7!!"'&%#'73676'77'7'&'676»ÃþÅ1‹¢§–2hFL]5R]]R'PFþ ,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/Ð_ptcdrr@89@ þSMOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù $9L_ º +¸ A & 6 F V f v † – ¦ ¶ Æ Ö ]Aå õ ]¸¸и/º? 9¸M/¸>/º45+¸4º+¸º"+¸"º "9¸¸ܺ+>M9º,"9º->M9¸5¸<к?549º@>M9¸4¸AиA/ºQ>M9ºR"9ºS>M901"32654&.#"632#"&54632&54?'7'7!!"'&%#'73676'77'7'&'676†7DD7:BB™=F"W\]8u‡u…Œ©’&Mü¥,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/¼A;;@@;;Af`5(sa_t¥–® üýMOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù.A‡¸//¸ /º+¸º+¸º /9º /9º /9¸¸к!9º" /9¸¸#и#/º3 /9º4 /9º5 /901!#!&54?'7'7!!"'&%#'73676'77'7'&'676¢þð“þþ£þ&,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/º2ý¹ý{MOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!œ Ù':{¸(/¸/º+¸º(9º(9º(9¸¸к9º(9¸¸и/º,(9º-(9º.(9017&54?'7'7!!"'&%#'73676'77'7'&'676È,&T>ë=c$(w–þK9.‹U¯§ÒÒÆ:Cʈó%üæ©`T?ê?5̈ñ'8/ÖMOHK’$kþÿ$¬823Ÿ!a“ I—•F 7=c`Oþ]BA6ž’‘$þÿk#¬- kþ¡N¤A!¬¡'9HRm¸/¸/¸F/º=D+¸=ºF9º F9º*F9º0D=9º8F9º;F9º@F9¸IиD¸LÐ01!273!567&#2$'76+&67'#'6765'533!273+#'!"/47*†:!Jcþ©aÆ# fi*1Áþõ•1Z¦a(}¯Éüy«pÀÉPdäØŠ!Ę́^þÞt/T¡T}7þí5 b\Vþ¶š/þVþê'f::pþà ?þ¶)\ €) 9þ¥s þ¤s%°þ©€00‚ªƒÙ%2<J\e9ºd +¸dº+¸¸¸.и./ºO d9¸d¸QÐ013 + &=%62!67#&'&#36&#&#"3274/"34?3'35732?5##!'53‰‹óaþo£·þPèS<¾‰&3y: „SOýˆò •B2_5N ™vbe)ûÍPK ‹Ž L‹ù‡¬$=j"þÄýêAjüÙþ’®ÏþOëL†¨£5_ñƒ“kÎð,‰ þß‹~y}ÞþôŠ/M<4{1è;Cø,ñþåûì[€±_ei' [)$ªƒÙ /:BR`j_¸k/¸l/¸ܸk¸ и /¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸ÜAêú]A)9IYiy‰™©¹ÉÙ ]º' 9º+ 9ºG 9ºL 9ºT 9ºY 9º_ 9º+¸º+¸ºV[+¸Vº")+¸"º')"9º+)"9¸0и0/ºL[V9¸V¸aи[¸eÐ01 # &5%6; 65%&# !27!57&/#2#&'676+%!#'#&'47'3!27##'%!#"/6˜—ígþ„¤Ñþ^ç_ˆªýùbª0hå\þ– ¸þ{ß\[:5:QmþðM’M[-šãw,£‰ldœüØ‘N¦ œVNýG­©‡þŠ+õQ'Ùþ—²ÔþXéYt¢Û©ëTýþpØXY¥ÅŒàSþ¦ŸmEb,Ì#4þ' FVþþÕ þ§â!‚ Yô1þê 1þì_þÜ UîŒþëg,1ªƒÙ7H³º8+¸8º'+¸º1+¸1º A+¸ A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]º  9º, 9A8&868F8V8f8v8†8–8¦8¶8Æ8Ö8 ]Aå8õ8]AêAúA]AA)A9AIAYAiAyA‰A™A©A¹AÉAÙA ]¸Jܺ<+¸<ºE+¸º$+¸º*+¸*¸¸и¸и*¸.и$¸4Ð0127&' # &5%6367&#'.7&67263'#%; 65%&# ·aW¢¯Ô—ígþ„¤Ñþ^ç_ˆªá¢Wa·þ+{»Œž‡€ž‡žŒ»|ý<bª0hå\þ– ¸þ{ß\ôÍËÂ&þ—²ÔþXéYt¢Û©ëTýÝÂËÍ¿þóÅÁWzœªªœzWÁÅaþpØXY¥ÅŒàSþ¦Ÿ1úÙ/5¸/º*+¸*º +¸ º +¸º# 9012!2!!7&!"4#".547673267𙀠þí ½ †0þî•þ# Uøq{|â}@!/(S˜SS—*E.ÙŽ£æ’eþr(Y­$…úh?}á}|r<.Ù32#".–¼eËÅþ›ÂÂþ›ÅÉeþ(®<¬¬<®³þħ¨þñ“"32#".%2#".54>–¼eËÅþ›ÂÂþ›ÅÉeþ(®<¬¬<®³þħ¨þñ“"54.#"–¼eËÅþ›ÂÂþ›ÅÉe:<#"< !<"#;ÙÁþ˜ÃÃþÆÆcÃÃhÁü– =!!54.#"%32>54.#"–¼eËÅþ›ÂÂþ›ÅÉe:<#"< !<"#;ü¥"< !<"#< ;#ÙÁþ˜ÃÃþÆÆcÃÃhÁü– =!!54.#"##"'5##"$'&'!5!5&'.54>32!!676767'%''H&(G()G'%H(ã%'©þËV W3WI„muþ‰w>DE}AB|GE=mþ“d^„JW4W V›sÖ'H''H'(H''Húò`XAK|@X1(Ô3"|DD}DD}DD|" 2ý/ "1X@|þµAX1# Ö 9Yw¸/¸(/¸6/¸8/º69º69º69º69º69º"69º>69º@69ºF69ºV6901%&'%67& 673&/'67 &'"&'6?&'3 ' '7  &/7&'>7È0 û– 1JÊK[]œ><+Gg['fBôòBe&\hœ?(K?œ]\Kýã ˆŠ!ýÆ Rý›ýœTþÁX1)¢±{V8#Uw ±¡)/^@R?? )þÐ;32TD$ù #¶@FÅþè«,þí»ÃMMMþv ÕE8p_Lc1 óþ– þ×M**¤+ û”B@0"AR/0?wA·%od/D&3.YaQ/5#3$"þ´þuŠI' @3/uŠ= =#n- .... yÿì²Û4u¸1/¸/¸ /º +¸ º19º19¸¸к19¸¸&и ¸,к.19¸ ¸/и ¸2к41901% % 32+#".7!#"&'&'#&=4;7337_þìþìý¯þíþì“Ö8)Â0/­_^«aýM`¬^^­1/Ì 9×53üü4í<üÄLL<üÄL÷*(üÇD>?GG~F6üÊF~GG?>D9/››Cþ½›}®Û"7º+¸¸/¸/¸/¸/¸ /º+¸¸¸Ð01632&'.'#!#!#Ò¸ž62ÉK#+~~àR!N£Çxåí_TþâŠþãV_‡T '¦NQ9;:;P³Hi?CþßD™ý|ý¦×þ)×þ)Z)Û6׺*+º$+¸º2+¸2A&6FVfv†–¦¶ÆÖ ]Aåõ]Aêú]A)9IYiy‰™©¹ÉÙ ]¸¸и/¸$¸и/¸/º. +¸.0132>54.#"367#&7&$735&'.54>32æ2[02[24Z1/[3î˜â­þ)'5*.þXÇ÷A54.#"%2#".54>''#/'7''7''7/5?'77'77'7?3777'†Œû‰ŠûŒü…†üŽ'H)(H('H((I\Hs=]SH$e$HR^323#67#&#"/&'&547&"'6%676V n*[‘n%'ZxL0<{2;&b;>/2:.üm*nW)'$o`0LP;2F<;(e:2/"7LL75MLZ'&4)PNPUþQ74(4 3(4:XþUPNR (@D V>0&8a>!U*~EmL‘K}`šG ‚fˆ7r &0>j!>a)†E~CˆK‘W‹ Gšis7ˆg:M57LL75M-Z '''' Y (€5[£J5( üÖ\d (5J £[4Œ ''Ó'/GS‹—Ÿ§³»ÃË×m¸Ø/¸Ù/¸Ø¸ºÐ¸º/¸и/¸Ù¸JܸиJ¸(и(/¸J¸*и*/¸J¸,и,/¸J¸žÜAêžúž]Až)ž9žIžYžižyž‰ž™ž©ž¹žÉžÙž ]¸0и0/¸º¸¼ÜA¼&¼6¼F¼V¼f¼v¼†¼–¼¦¼¶¼Æ¼Ö¼ ]Aå¼õ¼]¸8и8/¸¼¸:и:/¸¼¸<и&'767&%76'&''67&'&'&'6767654676'&7>326'##"'&'&'&54767&'&547676&'&#"6&%6767&'&'&676&5467&'&6732767&–$$$$áOG36ec˜â™ce74GL944m/122102/.303112.OF}68geý´"w?>v"©rt #8ˆŠ7! â¬":;@A<:"«ã !6Šˆ6# sr*./13/.UVT\<>"$!!þ• !"#">k•cg86|FO 93399 <>#"#Ö><  "$ZTU./43..V5$##$Ù59gTV++9Z^^Z9++VTg9§'(''&()I8:9889: Z_59eUV-, ³ÀÀ³<8.>euvc>-7=°bccb°>7-?cwud?/8M¢WZZW¢ **D@@D+8,-VTe95^&)(&''(ÖDA:AD.*!žY[[Yž!&Ö )r‚’aºo+¸º>8+¸>ºQ+¸QAê8ú8]A8)898I8Y8i8y8‰8™8©8¹8É8Ù8 ]º8>9¸/Aêú]A)9IYiy‰™©¹ÉÙ ]¸Üº8>9¸/Aêú]A)9IYiy‰™©¹ÉÙ ]A&6FVfv†–¦¶ÆÖ ]Aåõ]¸¸$ܸ ܺ$9º$9¸¸ܺoQ9Aêú]A)9IYiy‰™©¹ÉÙ ]ºoQ9º<8>9¸¸‡Ð¸‡/¸¸Ð¸/¸;/¸_/º‹w+¸‹º2.+¸2º_;9º_;9º_;9º_;9º<_;9¸Eи.¸IÐ0167&'67&'4&6%67.'4'6&&'6767&54?67&'&#&'#&'5&'"'67&'&547632>54.#"2#".54>Î'7,3 3%/0þÜ),7ß=*'þÛ0*+3.22'þ÷Q Yf·©T,1'¥¤').U¨¸fY Z98 "2 B2;F_ XB?2C 3" 894i¼hg¼ik¾ce½kSŸ[XŸVWŸXZŸ„£§#eªjpÍMcNTvJKr€?VlLWW7©p jª…k%§n^*V{ww[1‡ôô‡1[ ww{V)\#fnnd-#JM 7B/"‰‰"0C7 NK",dnnf#ïg½hh½gg¿gg¿U WWXXWW UdÈÔ %™º+¸Aêú]A)9IYiy‰™©¹ÉÙ ]º9¸и/¸¸"и"/¸/º +¸ ¸¸и/º 9013!'#!52#"62#".54>Ÿ"ù­ ýh9ý|M463%&$$Ôú5 ª›ûO ÂDý›n;ý $$$$ªôØ ¸/¸ /0133'554#$/ÑýŽ[ƒüQ‡wþ“ØýâGSGýUW GJGªw‚c ¸/¸/01%ªwaûŸ2u¼¼þ‹»ªtÙ¸/º+¸¸¸ и /01!&5476'#5!~öîþ"í öuÚwàB³ $üY§&"¯B†YY‡…lZy™'#"'&#"'&'&'&547676763232767676'&'&'&/&'&'&547676762!2!%3276767654'&'&'&#"&#"3276767654'&'&ÍÖs®* $+$$$ #*#%>aZ% NT>%  #HH  ")mR‹èOeýbÕü     0      …Í   $&$  ' D"&%  $ #  mR )KÏy      µ     V!EµrŒ26767654'&'."#"'%"'&'&'&54767676;27>764'.'&+"'&'&'&547676762%632$"26767654'&'&ý.&&.&m,mQÛþ‘j–P (!N!"(!'CVf& &bZC'!("!N!( P–joÛQm,úæ.&&.&q    lü?W’,># "#" "  " "#" #>,’W?~    ÀlOYx—3!#!"'&'&'&547676?6767676'&'&'&#"#"'&'&'&547>763276;%326767654'&'&'&#"6767654'&'&'&#"32ÍÖÕžeOèþuRd2  HH#   %>TN  +Za>%#+$ 4$$$+$ '±sý¹   *    * OÏK) Rd# !#& "*"D '  ""! 2   T   ý:      Iô˜èZx–´Òþ-4H67&'&'&+"'&'&'&476767632%632 #"'%#"'&'&'&54767676;276276767654'&'&'&"276767654'&'&'&""'&'&'&547676762"'&'&'&547676762'&'&'&547654'&'&'&";276-&#"+"276767654'&5476%327%&"'&'&476762I  Q\C--%("(/*0.,+"( /ŽX]â\ˆ9þþ<…\âþ£XŽ/"$)0*3')"* %1*0CR[þë        22 2 2 2 †%•'   &J  &%C\d#½í_*]OÙþ‘”hXC%&  J&   “ÙO]*ýÝÙ    Ù   ")&`&"'$"/' <%‹ZS  ÏÏ % SZ‹%< /'* "%5"-($# þÒ;ý‚8\= !  !  " þòÂ÷/V’C "  !  !  [uV/á+    Vÿã^ðn€’3276767654'&'&'&#"&'&5476767632#"'.54767&54732#"#"676767'&#"'67654 o“ˆzwbd011.f_zxІ|wbd011,k9995ulŒœšŽ†sp:995un‹›žŠ*D$lµ©Q$" 6*D?"5'K(2- #%ž>   :7 331cdvwˆwqi`4331cdvw‡xD>˜m‡‰œƒwn<;;8ro‹‰¡˜ƒwp:;;BV0/+"Íï8:D@*|sa  -F(7 "*=8&0!2   1-5$& 6:B4Vÿã^ð,Ji‰&'&'%&'&"632%676767654$2"'&'&'&5476767"3276767654'&'&'&'2#"'&'&'&54767676©?!*$ 1ó$-+h+-$F3782ˆ* !?þ’1 $þç> > 9†|wbd0111c`ò‰ˆzwbd011.f_zxŠšŽ†sp:995un‹›šŽ†sp:995ulŒwIPý"2-.$  £""ƒ þ ýPIƒ $.-2!v   31cdvw…zwcaf31cdvwˆwqi`43d;8ro‹‰¡˜ƒwp:;;8ro‹‰œƒwn<;x,Aª-57'36%33#3#!2#!3#3##$'#7”$@d’’5«{s”Vdš]˜F0 0Fþø˜]šdV”s{«5þâ’’d@×(ÚÉ j–P‚PÆ,ÆP‚P–` ÉÚ„Ü0ù ")- !676762!"'&'&'&54!ö¸ûX¸$#R#+/®þRþŸþF¨þF$#R#$1þS­ýò¬h,þÔ  ªþÞþÝkþÓ-ª"ýs!ýßûã³|ïKÆÙé476?6763&'&'&547632676767654'&7632!54'&'&76'&&#"'&/&'&'&#"#"'&'&/&'&#"&'&'&?6'&'#"'&'&#"!'476/654'&76'327654'&'&327654'&/³%4&)"$0JK&  $)7   ýÞ %1‡'# #6 +-L _ˆ_^/s4* 1( .266 |/(1   \«   ýþ#:7  l€S&   xë71]% /~[#<$  o»_%?,†: *(;–YþÔ)$X$+|…=L¶!6CX&PY8¹9Do6 b'n•2  83þeF] 4T&  &  /50$?- 1@& 3l K  C"P1Ö Ÿ·:07@D:5XI6.D3þ[+-1:   q/A8   g+©jl9Lp{‰7654'"'&#"+"'&54?67676763276323273#5%6767'&#"6"/67#"27632327654'73654'676547&Øp/l0&–J!cS%YþøE]{@C"$4>™-;% ¾Ì,(6áY>ømü¼!N$Xì6"/,(«4òsS?X$U>"sJ?K(`./4‰+2K2.ž0>ü°S ¢Zp0+þ 1^ð' þÇ;cs  /è^"|Y/ 4«28Û‡ƒ´Ï•l%é%oté5oA='Y$ a…£T* ''G+- %_kj~r}jL`І|ï\gÃK@/.85–c($¶šË¯")3SZ67654/##3276?%%54'654'36767632#"'&54767632'%;66Ií  ü€™ ’™ ƒ }¸ýgý„½ Aý¤6ýûqýn       -> 9@  îH67;ù˜’ ˜’zýƒýh¸| ýó9 >ü¶6!qýúê     ôýÂB5–Ž> '-EL4'&'&/767675'7! !'!654'!4'!!$4767>2"&'&'!654'£ Ò33Ò û£^^^¯¯RXý¨ü®¯I´#ýJ2ýVªülÈPú#Þ ~!88!~ UØppØphÈþ¬þ¬È,þÄp <((zd¶šË¯")3SZ&'&#"227654'&'''%'654.#"65&'&'&547632#"'&'&6#"%  íI66;üo’ ™’ ¨Æ|™¸ýƒ>A%6!ýûqý       9 ý ;76Hî  ý ’˜ ’ÕÆ |¸ýhýƒì> 9ˆ6ýúqým      BýÂX{[#C'%%.'&"27>7%$6%"'&'&'&47676762%'Š2&%ký¿      Aý•ýÛþÚ™¬·þœ> >dþIýã¬ID`qþíS   SþíqGŠYq¹ > ¹qŠ­)&%$64'%%&'&'&"27676è&ý•ýÞ÷22÷"kýÚ**Å!þíq`à`qþí!3ÆW 2327632#"'&'&5476Å'( ï>‡ !þ~þ¶GH ".4F+Ž@xÂH )þ0ýü$Š™'*'í²Å 27277632#"'&'&5476Å'( ïe` ý}{*˜279HFb@y¯JýÞL ²†1 -”±A  ' 7 çÉŽþ8þ7ŽÉþ7ŽÉÉŽêþ7Éþ7ÉÉþ8ɯ?– ‘tþÉþŒþŒþÉtþŒ7tt7êþŒþÉtþŒ7tt7þŒuþÉñÿîœÜB2632#"'&'#"'&54767'&54763267632676ø ÐÄQ   x€¬Þ L$3 Ìäz(   6XŽÌÜ3âþñÆï  šÐàþŠ6*=P*> "#  ¨˜¸ÌüÿÿêQ26#"'#"'&'#'&'#"'&547&'&54767&&5476326763276T ñë””% $$YyæX$ ‚Äzc0 + j–çù ê:  (ÛþÇÌ¢1#: _¿þû‡& #- °Ô½ =1 '2ĺÚ pDÕ #!!!!!%!!!!!!!!#!5!36þHþVª¸ªþ¦¾þBý¨þB¾XȾþBÈþB¾ÈÆ«þUþHþVª¸Pý¨þB¾X¿ýyÈþB¾È¿pDÕ !!!!!!""ýÞþpýÞ"²þpýÞ"#pDÕ35#7!!#!5!3ãîîïrýŽðýŽrðsîðýŽrðspDÕ!!%!!!!!!“Žþr"ýÞþpýÞ"#ŽþpýÞ"#RbÕ !!#!5!3ÒþpðþpðEðü«Uð lÕ3!!'#'!!#!!3!5@––þÔþŽ–––,r–ÈÜþÔ,Ü,©–þŽý_– –r,–ú,þÔÜý_¡Ü>vÕ #!!!!!'!!!!!!!!#!5!3þ˜þèhÈþèýøþè þèÈþèÈmþèþ„ý_¡|Pýäý_¡þHÜý_¡ÜpDÕQ#"#3;54'&'&'!"3276767653#4'&'&'&+3!52767>5{dZYIB,$22$*DE]Vh{%'GC_Rl|lR_CIJ{hV]ED*$22$,BF\Zd{%'GC_Rlû„lR_CIJ &%IB`Oo|oO\FG'$zdZ\GB+%22%+BI´dz$'GF\Ooû„oO`BH&&{dZ\GB+%22%+BI´d»ÿåùó  #!! !!! 373#'7#Zà¿ààþAààþAàà¿:¦¦L¦¦¦lØ­mllmÙþzØlþçmllmÙóþ|þ}þ}þ|„ƒƒdþáþà »d»»þ}¼c¼¼¼„»Tÿã`ðC54'&54762327632#"'&+"'&5476=#"#"'&476323(L,68x86,L ºzFvd0000dvFzº L,68x86,L ºzFvd0000dvFzº ºzFvd0000dvFzº L,68x86,L »yFvd0110dvFy» L,68x86,LVÿç^ðƒ&'##"&'&'&4767>32367675&'&'.5467676236767>32#"&'&'&'#"'&'.546767675& Ô  R.-R  R-.R " Ô *!""! ((\(( !""!#%  Ô " R.-R  R-.R  Ô  %#!""! ((\(( !""!*“*!""! ((\(( !""!#%  Õ  R.-R  R-.R " Õ  %#!""! ((\(( !""!* Ô " R.-R  R-.R  Ô Sÿãað›4'&'&'&'.54767676322767676767632#"'&'&'&'&'&#"'&'&'&5476767676765"#"'&'&'&5476767632($ ((& :.:806$&& )D+:!  '228:/3&$$&3/:822'  )2/@!  '&$6/r/6$&'  '?03'  &d8:02&!$&20:=-2& (20C,7"  &d8:02& $&20:=-2& (10?!  '&$6/r/6$&'  'D+:!  '228:/3&$$&3/:822'  )2/@' ((& :.:806$&& (Tÿå`ò0267632#"'&'&'!&'&'&54676763267632#"'&'#"'&'&'&5476767!6767632#"'&'"'&'&'&54767#"'&'&'&5476767632!#"'&'&'&54767#"'&'&'&476767632&'&5476767632!#"'.'&5476767632&'&54767676Z   ( &        þÛ    <   4 þÛ         % (   ò   (  þÛ 2     6  þÚ         %    <    %  (   Wÿã_õ276767653"4'&'&'&W›†sp:995ulŒœœŒlu599:ps†ì;8ro‹‰¡ƒwn<;;¬¢þ²þj¢¬þ>-¬¢›œý'†þO^†__†^þOqþ¸ýï4óþÙ4H4þ"hþdÿþdÿÿœÿ„0Õ!% %!-º@– þj– þjþÀþj •þk Õþ*ëþëêëþëëþ*Öëëê˜Õ37'7 #'âxxðxxþ˜þ.xÒðÒxþ.Òxþ.ðþ.xºÏÑÑÏÏ ÐþòýæÐþóþòÐ ýæþóÐpDÕ #'!5!73!Ô¹GþFdþFGºýrþEGºdºGþEr¸þFG»ýŽqþFGºd»GþFqýºGþEd@ÿãLð     - FOÔþFýºcþ,OOþ,cýºFþÔðý¹dþ,POþ,dý¹GþœÔOPÔþœ Tÿã`ð '!%%%!%% % -ôþÝwDþÛþáš{þáwwþf#wý¼%þf{wwŸ„¤‡þy¤þ|ŸŸþ|¤þy‡¤„„{þàxxþf#wý¼%þf{ww›þÝxEþÛþàþy¤þ| Ÿþ|¤þy‡¤„Ÿ „¤»ÿãùð % %  Zp/þA¿ýÑppýÑ¿þA/ðý¼Áþ}þ}Áý»EÁƒƒÁTÿã`ð     - Zq²þïôþ þNqqþNþ ôþï²ðþ þNrqþNþ õþî²qr²þîTÿã`ð% % -Zªy‰lþ”‰þ‡ªªþ‡‰þ”l‰yðþ”‰þ‡«ªþ‡‰þ”l‰yª«y‰Tÿã`ð%% %% -ZtGcïVþªïþGþñttþñGþïþªVïcGðþ©ïþGþñstþñGþïþ©WïcGtsGcïpDÕ/3%!!%#'''%!5!%777xªoª:UþÅœ.þc¾þF™.þd;UþÇ©oªxªoªþÆU:þe.šþE¾þc.™þÈU9©o¾þE™.þf:UþÅ«o«xªo¬þÄU9þg.˜þF¼þf.›þÅU:ªoªx«o©9UþÇ™.§ÿã ðŸ54'&5476276767632#"#"#"323232#"'&'&/"'&5476=&'&'#"'&'&547676323232?&547'&#"#"#"'&'&54767632676'K,68x86,L qA'C<4GW>L ƒd  f‚ L>WG4L „d  dƒ L>WG4L ƒd  f‚ L>WG4L „d  dƒ L>WG4 +F$ÜH$F+ > ;<5 AÓcJ2QD++DQ2Jþ´ (5H,'9,J&0f‰) T|\`j4OO7g`\|T '‹g/& H,9',I4( (3J,&9-H &0f‰) T|\`j4OO4j`\|T '‹g/&J,9',H5(€""'!$(:UJJU:($!'""nF­"276767654'&'&'767632#"'#"'&'&'&'#"'&'&'&5476767#"'&'&'&5476767632&'&5476767632¢=>3443>==>3443>x>%85670-)-%8/>0!-)-02;>/8%0 )-02;>/8%-'&$>/:#-)-02;>/;))-02;>/8%- 06:4/.&"./4;=16'+&1,"%&!6'+&./4:>1:#"$./4:>16'+,4:>16'+&./4;=1nF­nŠ£¿Øô%#"'&'&'&5476767#"'&'&'&5476767632&'&54767676267632#"'#"'&'&'&27654'&'&'&"67&'&'&'276767&54767'&'&#"276767654'&/7676767654'&'&'&#"Z 0%8/>;20-)-!0>/8%-)0-<1:3%>-%8/|/8%->%85670-)-%8/>0!-)-02;>/8%0 M=  H  C# B/g  H á*x#$   -7 H  g/B õ‘   $#x*ø%",1&+'61=;4/."&./4:>16'.5 1=;4/.&&./4;=1 5+'61>:4/.&"./4;=16'+&1,"8_/$   $/_ýc.,b" $#  !¢I?30C !'#  þÄx!  #$ "b,.$  #'! C03?I Tÿã`ð-[Õ3b‘¯Ý &'#"'&'&'&547676763267'&#"327%327676764'&'.#"7632#"'&'&54767676324676762676322##"'&'"'&'.5#"'&'&'&54767"'&'&'&54767676&'&'&'&'&'67676?&'32767677676765&'&'.#"7676767&'&'&/326767674'&'&'67'&'&'&#"67'&'&'&'67676767"276767654'&'&'"'&'&'&54?&'276767654'7654'&'&'&"67'&547676762:ä   äÎ$4 $Ê$ 4$Êà   ûÖ% !()-+,)$"! ((\(( !"&',+-)(!'7'&"# ,*2% !()-.))$"! ((\(( !"(%*-,*(! #2*&"# "&'ÁŽ    ´ ¸!  4 ë µ!   4  g‹   › ´   Ži 4  !ý‰g  4   !µ ±    oR#$$#R#$$  8 < c7 < 7  š  8 < d8 < 6   %),++*) !$3R  R3&!-(-%2(&"#%(.2$( &',+,)) !$3R  R3'! )),,+)$"#%(.2$( "þ ´   Ži !xg   !µ ²     þ%Ž    ´ ¹! ë µ!   g‹    Õ"$)($##$()$"þ$ä  äÍ% %É% %Éà  Vÿã^ð<\l"276767654'&'&/2#"'&'&'&47676762#"'&'&'&54767676% %-—z35++++53z35++++5pWDM69 ;9JHSWDM69 ;9JHSšŽ†sp:995un‹›šŽ†sp:995ulŒœþ£þ}ƒ££ƒþ}£þ(.35<;53.((.35;<53.(†"68MITNLJ;9"68MI¢LJ;9m;8ro‹‰¡˜ƒwp:;;8ro‹‰œƒwn<;þ}£þžþ£þ}ƒ£ž£¡ÿã𓜧²ÁÐ"327632#"'&'&/#"'&5476=#"'&'&5476763232?'&#"#"'&'&5476763254'&5476276767632#"'&#"27654'&%&'&#"327676%327632 654'&'&#"#"Z*1%8¨5e %ZF\ +m8BS/?JV@6RTXN6@VGB1QB8n* \FZ% e53e!&ZFZ *n8BS/?JV@6R¨R6@VGB1QB8m+ \FZ&!e3ž*1%8®~> +F$þ$þ‚> +F$Hþ‚ ;<5 AØ~ ;<5 AÓ¹+DQ2Jþ´ (5H,'9,J&0f‰) T|\`j4OO7g`\|T '‹g/& H,9',I4( (3J,&9-H &0f‰) T|\`j4OO4j`\|T '‹g/&J,9',H5(õþG+DQ2JÁÝ$(:UþÍÝ$(:U3Ý!'""ûÝ!'""¶þÕA''7'753'75377537'7'#5''#5'7#5'7'7âðÂ<†Ä<ÄxðÂ<†x†<ÂðxÄ<Ć<ÂððÂ<†Ä<ÄxðÂ<†x†<ÂðxÄ<Ć<ÂëŠphMrhr›à‹ohMããMhoþëŠà›rhrMhpŠ‹phMrhr›à‹þêohMããMho‹à›rhrMhpœÕ!%)-153%% %%#'-75%77%7?5x# <þö$þÝ <þ÷þÝxþÝþ÷< þÝ$þö< #««#««ý÷¬««šª««ýö««x«ÕþÌ©þ°šhš¨¨™hšþ¯©þÍ3©Qšh™¨¨šhšP©'ÅcÅccÅchcbbccbbgcÆcÆÆcÆ‚0ÕA37%37' 7'#%'#5'7#5'7'7-'7'753'7xŒdð ÈX<[Œdðþö ðdŒY<\ÈþùðdŒxŒdðþ÷È[ÿB-ÏOS2#"327676765!"'&54$3!57!##"'&'&'&54767676#Ý   ?>I-7þÍÞ‡v×3TŒÈ%+>CPNHiDG-2/&D9¨¾Ð  . !-8=DD_o¸¾èÈ2ú{ûÛjTc@F'%.36<@M137+4VýªžÿÝð52&'&547676762"'&'&'&5476767Z y*,&ˆ²‚†®ˆ&%1]~|45,--,54|45,--,5ð(+&014|dƒÎ΃fz410&$(üF*.46=<64.**.46<=64.*NÿÝfð%C&%&547676762476767622"'&'&'&5476767Z{þ÷ˆ&%1-l./&%%&/.l-1%&ˆþö¸|45,--,54|45,--,5­Ä¡Sƒ410&$%%1/66/1%%$&014„R¡þÅ*.46=<64.**.46<=64.*n«F(%%&%&54767676247676762Z‰þ_Â75EAšAD6556DAšAE57Âþ_«ïòq²KFD6454FCNNCF4546DFK´oòXÿþÔÖ'#"'&'&'&547676763"'&'&'&5476767632Ôîòr²JFD6464FBNNBF4646DFJ´pòêŠþ`Â84F@NLBD6466D@NLBD66Âþ^~*Ëž i654'&#"632327632!"'&5!267&'&#"#"'&54763247632327654'&547632#"— 6+Jo.^V|;-þË™it36?þÅ̺ÆfQMeæEJS?(*$ s]vh2K)*NL13^Úv:Mc*„Zœ™£þe—C0ª3N35%&-Kt\K%9S >BWN=!$?$8(F!5{^? Z„N676 547&'&327#"'#536767&'&'&5432&5476323254'&5432ß?-BO>Bùþ‹v06('K`dC+(‘k$'eM?$#=Hb B=)+8=.mØ9eb PB÷°>$3g:=þTþEB7WPfG+1K«HŽP<Ff#&T'0P+A'þ“š<þú›œ¸±œ›ƒ}DC‘þä/' 5276767654'&'4‘rceNS((((¦`hmº©§„Œ@DDF†Š¡©þä/CD}ƒ›œ±¸œ›>C/GF†©½»¤§…‰CGþñ˜ !&547˜†‚ƒ…þ°–•”—æþ>þ2þ;åëÆàßÄìþñ˜!!676P—”JK–þ°…BA‚ìþ<ßàããëåâãιþÛ! !ÛþÜþþ$þþüÛþü ! Ûÿþ"þþþüü#þ{! !{þ<ýl”Äý`þü9þ‘ ! 9 ý`Ä”ýlþüüUþ?! !?þþþìþþüwþ` ! wÿþêþþþüüÄþHZîjþæjî•îjÍjîlþð'7'7Zîjþæjî¼îjþæú3þæjîfþ²$#"&=4&+5326=46;#"3Ôù©lŽ==k©ùÔDV[noZV¾”Ýï—ts•ðÝ“XøŽŽœøX¡þ²N(326=467&'&=4&+532;#"+¡DVZon.-VDÔùUT65==ŽlTUùÔ¾XøœŽGGøXJIÝð•9:t—ïÝJJ˜ÿì”è º+¸º +¸ 01! 4$32!5##7#”þ?þÂþÄþ?Îq¾ÁqÍûÓiÚ¡þÿìÙêþÁþA¿?ÆrÆÆþý\Ž/˜+ý‚˜ÿì”è *º%+¸%º +¸ 01! 4$32>54&#">32!5!>”þ?þÂþÄþ?Îq¾ÁqÍýæ>0Å£=‘as„;N_/>!þúR¤þL}²êþÁþA¿?ÆrÆÆþéFi:}—$«:&N?(U?"ñMŽt§˜ÿì”è 6™º+Aêú]A)9IYiy‰™©¹ÉÙ ]¸1ܺ.+¸.º +¸ º!'+¸!º+¸º9º*'!901! 4$32%4&#">32+32#"&'32654&'26”þ?þÂþÄþ?Îq¾ÁqÍþ|Á¡=ˆ_ky4[\XZ‘ŒcksuD}[Xˆ@ÃØv hêþÁþA¿?ÆrÆÆþs‰— ?<:<ŒNGLO0¨œ]r˜ÿì”è º+¸º +¸ 01! 4$32! !3535##”þ?þÂþÄþ?Îq¾ÁqÍýþó þC½¶ÎêþÁþA¿?ÆrÆÆþþ¼~þƒŽÓÓH˜ÿì”è +‹º!+Aê!ú!]A!)!9!I!Y!i!y!‰!™!©!¹!É!Ù! ]º+¸º ++¸ º+¸º($+¸(º901! 4$32>32#"&'32654&#"75!5!”þ?þÂþÄþ?Îq¾ÁqÍûïYe2hvvhDw_X…@¾Õϰ?‘ýÃêþÁþA¿?ÆrÆÆþó%aVUa/¬¬˜•° «Ž˜ÿì”è 2ñ¸3/¸4/¸3¸и/¸4¸ܸÜAêú]A)9IYiy‰™©¹ÉÙ ]¸¸ÜA&6FVfv†–¦¶ÆÖ ]Aåõ]º +¸ º +¸ º+¸º,&+¸,º/&,901! 4$32#"&54632"32654&#"7>325.”þ?þÂþÄþ?Îq¾ÁqÍý¢\NN\\NN\qÈêÀ¹ Âº N€ w/aTJjêþÁþA¿?ÆrÆÆþþZbbZ[bb*þõÚçý³‘”±= P”#œ˜ÿì”è º+¸º +¸ 01! 4$32%!35!”þ?þÂþÄþ?Îq¾ÁqÍûÂÏþ¯ÁlýUêþÁþA¿?ÆrÆÆþvüæ]K˜ÿì”è 1=‹º+¸º+¸º +¸Aêú]A)9IYiy‰™©¹ÉÙ ]A&6FVfv†–¦¶ÆÖ ]Aåõ]Aê ú ]A ) 9 I Y i y ‰ ™ © ¹ É Ù ]º/9º;9¸;/Aê;ú;]A;);9;I;Y;i;y;‰;™;©;¹;É;Ù; ]¸5ܺ+¸º )+¸ º+¸º28+¸201! 4$32#"&5463232654&'>54&#"2#"&546”þ?þÂþÄþ?Îq¾ÁqÍý¹_TT__TT_ýâ¾­­¾vi¶·jvkKRRKMQQêþÁþA¿?ÆrÆÆþþlHQPIIPPIŠ——Š\ƒvStˆˆtSvƒÄB>=BB=>B˜ÿì”è &2é¸3/¸4/¸Ü¸ÜAêú]A)9IYiy‰™©¹ÉÙ ]¸3¸'и'/¸-ÜA-&-6-F-V-f-v-†-–-¦-¶-Æ-Ö- ]Aå-õ-]º+¸º +¸ º +¸º*0+¸*º# 901! 4$32254&#"326#"&'4632#"&”þ?þÂþÄþ?Îq¾ÁqÍüÑÈ鿹 ÂºŸO€ w.aUJk<\NN[[NN\êþÁþA¿?ÆrÆÆþýK Úèý´‘”¯< O“$œ„[bb[[bb˜ÿì”è $0Óº%+¸%º+¸º++¸Aêú]A)9IYiy‰™©¹ÉÙ ]Aê+ú+]A+)+9+I+Y+i+y+‰+™+©+¹+É+Ù+ ]º+¸º .+¸ ¸¸(Ü01! 4$32!5##7##"&5463232654&#"”þ?þÂþÄþ?Îq¾ÁqÍû$Ÿu¼¬ž‰F?@EE@?Fþpˆƒ‚ˆˆ‚ƒˆêþÁþA¿?ÆrÆÆþý©€Ê*‰'ýÂ$¢——¢£——£ÐääÐÑää ÿ–«=(F  76767654'&'&'!5%3!!  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„ý¥þá¡ýP\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=A_  76767654'&'&'!!5676767654'&#"5>32  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„þ)4ý \Ÿž)NBCkPQT`aªFºnoIklº\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=Om  76767654'&'&'#"'&'5327654'&+5327654&#"567632  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„ttBAzyàLOPUD W˜OPJJ„‹‘x??‚zBLL\R[PGºjkrþ=\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«= +I  76767654'&'&'!33##!5  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„Þþh˜*˪ª¡ýå+\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=?]  76767654'&'&'!!67632#"&'532654&#"  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„ý£zþ##$#ÈutðÚKœSLHMVŠ¢¢ŠA@AC\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=,Jh  76767654'&'&'"327654'&.#"67632#"'&7632  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„þÖl@@€lm@??@Ô=|< UT /GGV´hiÚµÏmn†‡â=|þ^\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=$B  76767654'&'&'!#!  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„ý\þN¨˜ýÂÖ\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=+BNl  76767654'&'&'"27654'&%.546  &54632654&#"  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„þßsBBBBæCBBBþêhtÌdÌthuABÔþtÔ„9tihvvhit0\˜–|~Ø=>>>kl>=EŽg¦¦gŽOOs­ºº­sž\hh\]hhÐ@>}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=<Lj  76767654'&'&'532767#"'&54632#"'&27654'&#"  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„ý§=|< UT .GHVµghÚ´Ðmm††â=?>þm@??@ml@@@@J\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=+8Ca  76767654'&'&'"32654'.  7!5##7  '&'&'&5476767ôþ̆„mo5885om„†4†„mo5885om„T,+VUVV++ï2QPPQþΠPþ3ƒ•–x\˜–|~-,¡ügˆˆ#&“%üq @>}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«= (!5!#%  '&'&'&5476767°þø¡þâ{\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=#A676767654'&#"67632!5  '&'&'&5476767£ÃlkIonºFªa`TULkCBN)žŸ\öýÕ\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=1O>54'&#"67632+32#"&'327654'&  '&'&'&5476767irkl¸GPQ\\LLBz‚??x‘‹„JJPO˜W DUPOLàyzABþ2\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«= +! !335#$  '&'&'&5476767œþhnþ¡ªªþo\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=!?67632#"'&'32654'&#"!5  '&'&'&5476767CA@AŠ¢¢ŠVMLHSœKÚðtuÈ#$##æþ\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=,J2#"&5476.#"32654'&#"67632  '&'&'&5476767Pm@??@ml€@@­C|=⇆nmϵÚih´VGG/ TU <|=þ\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=$!35$  '&'&'&5476767Ö>þh¨²ýÖ\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«= $0N2"'&476' 654'&'>54& 74632#"&  '&'&'&5476767YtBBBCæBBBB/t„ÔŒÔBAuhtÌþœÌt-tihvvhit0\˜–|~lk>>>=Ø>=Ežs­ºº­sOOŽg¦¦gŽå]hh]\hh‰@>}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«=.L%3276'&#"32767#"&'"'&547632  '&'&'&5476767!C>?=ↆmmдÚhi³VHG. TU <|=Al@@@@lm@??@þÝ\˜–|~}~•—±¬—•~}>@@>}~•—¬±—•~}> ÿ–«= %C2#"&5476$  '!5##7  '&'&'&5476767™e22dedd22þ¾TUUTBªUû桳´–\˜–|~-/žügˆˆ#&“%üq @>}~•—±¬—•~}>@@>}~•—¬±—•~}>ušPj !!5!!PþþÀpûÝ#þ@‚þpðpüpté 7%÷ý©µÔFýN‹´ªý4ýNGuÌP85 zûûDýæ<2ð2pþJþJüt” '-ZýK©ûþ˲Fýª´ÔGýNuPü!!u»¨\lý”þ¤¨ýE¾>ü~~ü>uu2"&'&'&5476?!".'&47>3!'&'&54767>2 þp4, ºü€,$ $,€º ,4›2þp º"2"º þpuÌP8!5! šûÛ%¶þJZPŽþJþJuÌP8!5! šûÛ%¶þJÜHþJþJuÌP8 #3#3#3!!5 ¹ððþÀxxÈ<<éþo‘¶þJºþpþpþpîþJþJuÌP8 55!#3#3#3š¸þþ¸þoPððþÀxxÈ<<®Šþ΄„þΊXý¨Xý¨Xý¨XuÌP8!!5 šûÛ%¶þJºîþJþJäÀPD! 6ü¼–þ>lú”‚þñÂþ>þ>äÀPD ! þòDýRþ>lú”‚þñÂþ>þ>äÿøP  Bþ¢lú”‚ŠývývuÌPb3!5 5!"'&'&'&u##+*15¶þJüË1*+##‚à0+*%!ÆþJþJÆ!%*+u¢P847676763!5 5!"u##+*15¶þJüË1*+##‚0+*%!ÆþJþJÆ!%*+0ìÿñÙ!! ^þŽr{þ…VXeýoýouÌP855!¼þDüqšžþ΄„þΞ0ušj%5!!53  !<ý9Çúèþª˜þhý9šîôîþþ>îþ¬ušj%5!!53  !<ý9Çúèþ˜þhý9šîôîþþ>îþ¬+Z° !73#57!!+ IŠdØý&–ý+ÑŠ„¬Šü·ÄÎôîýþÈþ2È&îþ¬+Z° 5!'53#'!!!+Õ–ÚØdŠü·±ü·ÄIЬý|úÈ&Èþ2Èýþî¤þ¬î˜˜2˜ !'!'!53 !ÜOýìdcnèdþ‚˜þhýžÈ”žþÈþ¶ž˜˜žþ 2˜ 3#5!7!!! Ünèdþnýd;ýc˜þh˜þÈþž”Èþèþ ž˜˜dd˜ !53#'5!'! !–]nè2þn2üÕ2òr-˜þhüÓ°Jžþdþc;dJúž˜˜ždd˜ 7!573#5!! !–2+2nè2þnü£òr-˜þhüÓLJd;cþdþžJúž˜˜ž<ÿØÄ¯!6767632#"'&'&'! <'CZmo~yti^Z...*^Vqo~yti^?)XÊþ6nGCZ.//+]Yon€zqi_X0//+]>IžÊÊž ‚BP "&*.37#37#37#37#5!!!!3'#3'#3'#3'#á < ´ < ´ < ´ < x»»‡­Ãíþy»ýä_< <(< <(< <(< <ZððððððððPþ輂‚¼þèhððððððð¥pt> 7&#"7'7 !%¢¯*ޤBF¯þ8þ©þåþWU¨{°FC£*°þ9oþX¨:þWþæubP¢ 55!5!!'!þš¸¸šþ˜ý§XÈý¨ÈÈXȪø¼dd¼øPRÈÈȧÿÅt” '327'' !!i¯FB¤Ž*¯ÿ8þ‘¨þX:þå¨Á°*¢CF°ÿ9þ¨þåþXU¨§pt>2%&#"6767&'&"67632&'&547676767t¥BEHY'þÑ#&N'$þX$)./,0+"""¨ /%Hp*G&/¨$##*0,0.+"þW!'&'&#þÑ'ZGGC£uaP£/4767!"!47676763"'&'&'&5!3!&'&5P·›%þT)#$ý¨"/*11*/"X$#)¬%›‚e¼eZ'&$(0+.!"-+0($&'Ze¼§ÿÆt”2&'&'&'&54767#"'&'2767&'&'32t)H%þÑ þX"""+0,0-+"¨$'N&#/'YHEB¥”Ž£CGGZ'þÑ!&'&'$þW"+.0,0*##"¨/&Gs¬PX+B6%"'&'&'&547676$47676762"'&'&'&'&'&547676762$/ö+ãz > ü_$#R#afü‚þ·#R#)­ >xåþ”ÎbQuþý —R$'…68ƒ"   þþvc–<å.676767632#"'&'&'&%&'&54767&'&5476–A ''+/54<3¢‘þo¢8n23'9%%büüb%‚&:?$ fLLf#&#/:&'+-23-+'ñrrñ'+-32-+¢V2®e"'&'.54?654'&'&'&#!"#!".4?64/&4676763!23!276767654/&546767622ð þæZýœ rrd Z ð‹ð  c ´  ää ´ c  ð¢ñ2g"'&'.54?654'&'&'&+"#!".4764'&4676763!2;276767654/&546767622þpW\xýj š– ‚\W‹þ˜ Ûð   4 þüÛ þ˜u¦P^+#76767&'&/3#6767!5!!5!&'&'PˆSŒJl R &GG& R lHŽSýÌi*üÖån: :nü**‚OU©ä'66'¤Ã¤”UýÕ=;JHdŽŽ)))ŽŽdHJ;=þ#îu ! !ùõþ þ óþ˜Òþ–jý.uûÛûÓ-1ýüŽÿÿ·þò{ ÿÿ¤þòh ÿÿ·þòÏ' T ÿÿ¤þò¼' T ÿÿ,X@­,ÿÿ,ÝX ­,Ýÿÿ,ÝX@'­,­,Ýÿÿ,¦XÓ­,§ÿÿ,¦X@'­,­,§ÿÿ,¦X '­,Ý­,§ÿÿ,¦X@'­,'­,Ý­,§ÿÿ„°@­„ÿÿ,°@'­,­„ÿÿ,ݰ@'­,Ý­„ÿÿ,ݰ@'­,'­,Ý­„ÿÿ,¦°@'­,§­„ÿÿ,¦°@'­,'­,§­„ÿÿ,¦°@'­,Ý'­,§­„ÿÿ,¦°@'­,'­,Ý'­,§­„ÿÿ„ݰ ­„Ýÿÿ,ݰ@'­,­„Ýÿÿ,ݰ '­,Ý­„Ýÿÿ,ݰ@'­,'­,Ý­„Ýÿÿ,¦° '­,§­„Ýÿÿ,¦°@'­,'­,§­„Ýÿÿ,¦° '­,Ý'­,§­„Ýÿÿ,¦°@'­,'­,Ý'­,§­„Ýÿÿ„ݰ@'­„­„Ýÿÿ,ݰ@'­,'­„­„Ýÿÿ,ݰ@'­,Ý'­„­„Ýÿÿ,ݰ@'­,'­,Ý'­„­„Ýÿÿ,¦°@'­,§'­„­„Ýÿÿ,¦°@'­,'­,§'­„­„Ýÿÿ,¦°@'­,Ý'­,§'­„­„Ýÿÿ,¦°@'­,'­,Ý'­,§'­„­„Ýÿÿ„¦°Ó­„§ÿÿ,¦°@'­,­„§ÿÿ,¦° '­,Ý­„§ÿÿ,¦°@'­,'­,Ý­„§ÿÿ,¦°Ó'­,§­„§ÿÿ,¦°@'­,'­,§­„§ÿÿ,¦° '­,Ý'­,§­„§ÿÿ,¦°@'­,'­,Ý'­,§­„§ÿÿ„¦°@'­„­„§ÿÿ,¦°@'­,'­„­„§ÿÿ,¦°@'­,Ý'­„­„§ÿÿ,¦°@'­,'­,Ý'­„­„§ÿÿ,¦°@'­,§'­„­„§ÿÿ,¦°@'­,'­,§'­„­„§ÿÿ,¦°@'­,Ý'­,§'­„­„§ÿÿ,¦°@'­,'­,Ý'­,§'­„­„§ÿÿ„¦° '­„Ý­„§ÿÿ,¦°@'­,'­„Ý­„§ÿÿ,¦° '­,Ý'­„Ý­„§ÿÿ,¦°@'­,'­,Ý'­„Ý­„§ÿÿ,¦° '­,§'­„Ý­„§ÿÿ,¦°@'­,'­,§'­„Ý­„§ÿÿ,¦° '­,Ý'­,§'­„Ý­„§ÿÿ,¦°@'­,'­,Ý'­,§'­„Ý­„§ÿÿ„¦°@'­„'­„Ý­„§ÿÿ,¦°@'­,'­„'­„Ý­„§ÿÿ,¦°@'­,Ý'­„'­„Ý­„§ÿÿ,¦°@'­,'­,Ý'­„'­„Ý­„§ÿÿ,¦°@'­,§'­„'­„Ý­„§ÿÿ,¦°@'­,'­,§'­„'­„Ý­„§ÿÿ,¦°@'­,Ý'­,§'­„'­„Ý­„§ÿÿ,¦°@'­,'­,Ý'­,§'­„'­„Ý­„§ÿÿ,þpXÿœ­,þpÿÿ,þpX@'­,­,þpÿÿ,þpX '­,Ý­,þpÿÿ,þpX@'­,'­,Ý­,þpÿÿ,þpXÓ'­,§­,þpÿÿ,þpX@'­,'­,§­,þpÿÿ,þpX '­,Ý'­,§­,þpÿÿ,þpX@'­,'­,Ý'­,§­,þpÿÿ,þp°@'­„­,þpÿÿ,þp°@'­,'­„­,þpÿÿ,þp°@'­,Ý'­„­,þpÿÿ,þp°@'­,'­,Ý'­„­,þpÿÿ,þp°@'­,§'­„­,þpÿÿ,þp°@'­,'­,§'­„­,þpÿÿ,þp°@'­,Ý'­,§'­„­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„­,þpÿÿ,þp° '­„Ý­,þpÿÿ,þp°@'­,'­„Ý­,þpÿÿ,þp° '­,Ý'­„Ý­,þpÿÿ,þp°@'­,'­,Ý'­„Ý­,þpÿÿ,þp° '­,§'­„Ý­,þpÿÿ,þp°@'­,'­,§'­„Ý­,þpÿÿ,þp° '­,Ý'­,§'­„Ý­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„Ý­,þpÿÿ,þp°@'­„'­„Ý­,þpÿÿ,þp°@'­,'­„'­„Ý­,þpÿÿ,þp°@'­,Ý'­„'­„Ý­,þpÿÿ,þp°@'­,'­,Ý'­„'­„Ý­,þpÿÿ,þp°@'­,§'­„'­„Ý­,þpÿÿ,þp°@'­,'­,§'­„'­„Ý­,þpÿÿ,þp°@'­,Ý'­,§'­„'­„Ý­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„Ý­,þpÿÿ,þp°Ó'­„§­,þpÿÿ,þp°@'­,'­„§­,þpÿÿ,þp° '­,Ý'­„§­,þpÿÿ,þp°@'­,'­,Ý'­„§­,þpÿÿ,þp°Ó'­,§'­„§­,þpÿÿ,þp°@'­,'­,§'­„§­,þpÿÿ,þp° '­,Ý'­,§'­„§­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„§­,þpÿÿ,þp°@'­„'­„§­,þpÿÿ,þp°@'­,'­„'­„§­,þpÿÿ,þp°@'­,Ý'­„'­„§­,þpÿÿ,þp°@'­,'­,Ý'­„'­„§­,þpÿÿ,þp°@'­,§'­„'­„§­,þpÿÿ,þp°@'­,'­,§'­„'­„§­,þpÿÿ,þp°@'­,Ý'­,§'­„'­„§­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„§­,þpÿÿ,þp° '­„Ý'­„§­,þpÿÿ,þp°@'­,'­„Ý'­„§­,þpÿÿ,þp° '­,Ý'­„Ý'­„§­,þpÿÿ,þp°@'­,'­,Ý'­„Ý'­„§­,þpÿÿ,þp° '­,§'­„Ý'­„§­,þpÿÿ,þp°@'­,'­,§'­„Ý'­„§­,þpÿÿ,þp° '­,Ý'­,§'­„Ý'­„§­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„Ý'­„§­,þpÿÿ,þp°@'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,Ý'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,'­,Ý'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,§'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,'­,§'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,Ý'­,§'­„'­„Ý'­„§­,þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„Ý'­„§­,þpÿÿ„þp°ÿœ­„þpÿÿ,þp°@'­,­„þpÿÿ,þp° '­,Ý­„þpÿÿ,þp°@'­,'­,Ý­„þpÿÿ,þp°Ó'­,§­„þpÿÿ,þp°@'­,'­,§­„þpÿÿ,þp° '­,Ý'­,§­„þpÿÿ,þp°@'­,'­,Ý'­,§­„þpÿÿ„þp°@'­„­„þpÿÿ,þp°@'­,'­„­„þpÿÿ,þp°@'­,Ý'­„­„þpÿÿ,þp°@'­,'­,Ý'­„­„þpÿÿ,þp°@'­,§'­„­„þpÿÿ,þp°@'­,'­,§'­„­„þpÿÿ,þp°@'­,Ý'­,§'­„­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„­„þpÿÿ„þp° '­„Ý­„þpÿÿ,þp°@'­,'­„Ý­„þpÿÿ,þp° '­,Ý'­„Ý­„þpÿÿ,þp°@'­,'­,Ý'­„Ý­„þpÿÿ,þp° '­,§'­„Ý­„þpÿÿ,þp°@'­,'­,§'­„Ý­„þpÿÿ,þp° '­,Ý'­,§'­„Ý­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„Ý­„þpÿÿ„þp°@'­„'­„Ý­„þpÿÿ,þp°@'­,'­„'­„Ý­„þpÿÿ,þp°@'­,Ý'­„'­„Ý­„þpÿÿ,þp°@'­,'­,Ý'­„'­„Ý­„þpÿÿ,þp°@'­,§'­„'­„Ý­„þpÿÿ,þp°@'­,'­,§'­„'­„Ý­„þpÿÿ,þp°@'­,Ý'­,§'­„'­„Ý­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„Ý­„þpÿÿ„þp°Ó'­„§­„þpÿÿ,þp°@'­,'­„§­„þpÿÿ,þp° '­,Ý'­„§­„þpÿÿ,þp°@'­,'­,Ý'­„§­„þpÿÿ,þp°Ó'­,§'­„§­„þpÿÿ,þp°@'­,'­,§'­„§­„þpÿÿ,þp° '­,Ý'­,§'­„§­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„§­„þpÿÿ„þp°@'­„'­„§­„þpÿÿ,þp°@'­,'­„'­„§­„þpÿÿ,þp°@'­,Ý'­„'­„§­„þpÿÿ,þp°@'­,'­,Ý'­„'­„§­„þpÿÿ,þp°@'­,§'­„'­„§­„þpÿÿ,þp°@'­,'­,§'­„'­„§­„þpÿÿ,þp°@'­,Ý'­,§'­„'­„§­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„§­„þpÿÿ„þp° '­„Ý'­„§­„þpÿÿ,þp°@'­,'­„Ý'­„§­„þpÿÿ,þp° '­,Ý'­„Ý'­„§­„þpÿÿ,þp°@'­,'­,Ý'­„Ý'­„§­„þpÿÿ,þp° '­,§'­„Ý'­„§­„þpÿÿ,þp°@'­,'­,§'­„Ý'­„§­„þpÿÿ,þp° '­,Ý'­,§'­„Ý'­„§­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„Ý'­„§­„þpÿÿ„þp°@'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,Ý'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,'­,Ý'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,§'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,'­,§'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,Ý'­,§'­„'­„Ý'­„§­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„Ý'­„§­„þpÿÿ,þp°ÿœ'­,þp­„þpÿÿ,þp°@'­,'­,þp­„þpÿÿ,þp° '­,Ý'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,þp­„þpÿÿ,þp°Ó'­,§'­,þp­„þpÿÿ,þp°@'­,'­,§'­,þp­„þpÿÿ,þp° '­,Ý'­,§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­,þp­„þpÿÿ,þp°@'­„'­,þp­„þpÿÿ,þp°@'­,'­„'­,þp­„þpÿÿ,þp°@'­,Ý'­„'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„'­,þp­„þpÿÿ,þp°@'­,§'­„'­,þp­„þpÿÿ,þp°@'­,'­,§'­„'­,þp­„þpÿÿ,þp°@'­,Ý'­,§'­„'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­,þp­„þpÿÿ,þp° '­„Ý'­,þp­„þpÿÿ,þp°@'­,'­„Ý'­,þp­„þpÿÿ,þp° '­,Ý'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„Ý'­,þp­„þpÿÿ,þp° '­,§'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­,§'­„Ý'­,þp­„þpÿÿ,þp° '­,Ý'­,§'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„Ý'­,þp­„þpÿÿ,þp°@'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,Ý'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,§'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­,§'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,Ý'­,§'­„'­„Ý'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„Ý'­,þp­„þpÿÿ,þp°Ó'­„§'­,þp­„þpÿÿ,þp°@'­,'­„§'­,þp­„þpÿÿ,þp° '­,Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„§'­,þp­„þpÿÿ,þp°Ó'­,§'­„§'­,þp­„þpÿÿ,þp°@'­,'­,§'­„§'­,þp­„þpÿÿ,þp° '­,Ý'­,§'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„§'­,þp­„þpÿÿ,þp°@'­„'­„§'­,þp­„þpÿÿ,þp°@'­,'­„'­„§'­,þp­„þpÿÿ,þp°@'­,Ý'­„'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„'­„§'­,þp­„þpÿÿ,þp°@'­,§'­„'­„§'­,þp­„þpÿÿ,þp°@'­,'­,§'­„'­„§'­,þp­„þpÿÿ,þp°@'­,Ý'­,§'­„'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„§'­,þp­„þpÿÿ,þp° '­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­„Ý'­„§'­,þp­„þpÿÿ,þp° '­,Ý'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„Ý'­„§'­,þp­„þpÿÿ,þp° '­,§'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,§'­„Ý'­„§'­,þp­„þpÿÿ,þp° '­,Ý'­,§'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,Ý'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,§'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,§'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,Ý'­,§'­„'­„Ý'­„§'­,þp­„þpÿÿ,þp°@'­,'­,Ý'­,§'­„'­„Ý'­„§'­,þp­„þpÙþ2Ûù  5 1üªúþû¨VüªªÌdþÎýÌá¦á22üšhþ¦Ù'æ %#3 5'ªªþ ü¢úþÈü:Äþžýœ¦Ù'æ 73 ÙªL^ü¢ªÈû8bbü:Èýï¦ÙÿÂ'B 7Ù''üÙ›â>€ý°Pú€Nqþ¢ÆÙÿÂ'B 'Ù''üÙ›þ>€ý°Pú€Nq^ýDÙÿÂ'B Ù''üÙ>€ý°Pú€NÙÿÂ'B%  'üÙüÙ''ýt¢àNý²€ý°PÝþÙÿÂ'B5  5Ù''üÙüÙŒbàý²Nú€Pý°Ýäþ#îu úôþ þ uûÛûÓ-:þkÆû7!!  767654'&'$  $'&'&547676h0þÐ8þÀŒ‰rtrrtr‰Œ@Œ‰rtrrtr‰þ ŽVŽŽGFFGŽŽþªþrþªŽŽGFFGŽŽèþ’È;:rsþ죟þìsr:;;:rsŸ£sr:ôެªÉŬªŽŽª¬Åɪ¬Ž:þkÆû3?  767654'&'$  $'&'&547676!!#!5! þÀŒ‰rtrrtr‰Œ@Œ‰rtrrtr‰þ ŽVŽŽGFFGŽŽþªþrþªŽŽGFFGŽ€ýs¨ýsB;:rsþ죟þìsr:;;:rsŸ£sr:ôެªÉŬªŽŽª¬Åɪ¬Ž€Kýsªýsª:þkÆû3?  767654'&'$  $'&'&547676   '  þÀŒ‰rtrrtr‰Œ@Œ‰rtrrtr‰þ ŽVŽŽGFFGŽŽþªþrþªŽŽGFFGŽ€]ÍÎxþ3Íwþ3þ2xÍþ3B;:rsþ죟þìsr:;;:rsŸ£sr:ôެªÉŬªŽŽª¬Åɪ¬Ž€èþ3Íxþ2þ3wÍþ3xÎÍÿÿ/þ i' ?o& ?' ?% ?JtþL·#5!676&'&!!'&'&'77°SOJMG7”9Gþæ!SOJMG7”9G ,ª ¥FCD4€±þ ªýM¥FCD4€±štþL·+5!676&'&!!!!'&'&'77!5!7°$SOJMG7”9Gþð þÜSOJMG7”9Gþø ú¨@¥FCD4€±þÙ¨ðªþ¥FCD4€±ΪðtþL·#%'&'&'775%676&'&oCþµSOJMG7”9Gþ¾JSOJMG7”9G°¶ ºým¥FCD4€±¶ º“¥FCD4€±tþL·09%'&'&'77&'&54767676&'&&'67'WSOJMG7”9G]InoSuSOJMG7”9G™Iq(P >6ä=,HK%»þ¾¥FCD4€±1Io›œsV<¤GCD4€±þÖ)ˆAH!þ+p$†Ö.JhgH$tþL.F'&'&'77&'&'&'&53676&'&6767>='73'‰64D#'SOJMG7”9F F25f'&1,SOJMG6”9G+4$(']H½6¼H\GLCD55þ¡¥FCD4€±M 25DCL802&&™¥FCD4€±üx$'a8]H½½H]tþL·#''&'767!!67&'&'&!!3#¢G9”6GMBWS _þÇ F9”7GMJOS[þ‰ÓÓn±€–-< JF¥D ±€4DCF¥þRýТþtþL·15''&'76767654'&'67&'&'&63#cMGEBo6( F9”7GMJOSsVnnBcG9”7GMJOS:ÓÓ&B=tkDBþJ±€4DCF¥BUoœ’|K*±€4DCG¤þ=~þtþLp9=767654'&676&'&632#"''&'&'773#"ofdKHGEkyJ?*UOJMG7”9G;D©blmo›WISOJMG7”9G-¥ÓÓk6HFgjJG*$Q]¤GCD4€±þËoz’œlo!þ£¥FCD4€±3>'þtþL·=A654'&#"32676&'&'&'&'77&'&547673#ÄHGCljHHHGkb•SOJMG7”9GcBnnVsSOJMG7”9G]InoSu'ÓÓƒEgjJEHIhgHHª¤GCD4€±þÖK|’œoUþ¾¥FCD4€±1Io›œsVöþtþL·#'+7!676&'&!!'&'&'773!#3˜;SOJMG7”9GþÄSWBKI6”9G ŬþÅ«“›þI¥FCD4€±þÐýþÞ¥FJ Vy4--SOJMG7”9G-A 4yÏhT+¥FCD4€±þæEaÖþ·8¢J'üJ¥FCD4€±¦2PœþÈtþL·3'&'&'77&'&53676&'&67653jVDwSOJMG7”9G\?Vy4.+SOJMG7”9G*> 4yrÏiRþ¢¥FCD4€±LFaÖIþÈ¢J(…¥FCD4€±ü1Pœ8/þúù)!526732#"&'.#" #"&54632Àüïˆj ¾ÊPd@7*8  k½ÄOeD=!0 ù  ø°l9¼TA6?&#Hý•Ánþ!þbSA8?S/ýbú)5!26732#"&'.#" #"&54632ký»j ¾ÊPd@7*8  k½ÄOeD=!0 ýb  ˜°l9¼TA6?&#Hý•Ánþ!þbSA8?SÙÿÛ¦ 5 5ÛúþûøúþF¶Ѷeþ‘þ“¶ѦÑÙÿÛ¦ 5 5ÙúþûøúþF¶Ѷeþ‘þ“¶ѦÑÿÿÙÿݦ' -/ÿ» !ÿÿÙÿÛ¦& -þ» "ÿÿÙÿÛ'' -á !ÿÿÙÿÛ'' -á "ÿÿÙÿÝ' -/Ì !ÿÿÙÿÛ ' -ÿþÇ "ÙþñÜN;B%#"'&'&'&#"5>32326#"'&'&'&#"5>32326 5Üj²bn’ š^X¬bh´`n” œ^V¨hj²bn’ š^X¬bh´`n” œ^V¨gü@ÀúþP³NE;=LT³NE;=K›²PD:32326#"'&'&'&#"5>3232655Üj²bn’ š^X¬bh´`n” œ^V¨hj²bn’ š^X¬bh´`n” œ^V¨ûeúþÀP³NE;=LT³NE;=K›²PD:327&#"56767326 5Üj²bDS4ŒWV¨hj²bm“\¤Y@/X¬bh´`ES3‹VX¬bhZmM’p[¤Y@1V¨gü@Àúþ–²PDƒ4KU³NE;é@âLT³NE‚4LR²N"*,é@ãJ^þëþî²pªoÙþ_ÜN5<#"'3267#"/'7&#"5>327&#"5>32732655Üj²bDS4ŒWV¨hj²bm“\¤Y@/X¬bh´`ES3‹VX¬bh´`n”[¤Y@1V¨ûeúþÀ–²PDƒ4KU³NE;é@âLT³NE‚4LR²ND:é@ãJ^°þ‘ªþ²Ùý„ÛT 5!5!-5 !5!Ûúþü‹uúþúþuü‹úþúþû°/ª0²Òý\ªû^ÕÒ²þЪþÑ~ªÙý„ÛT -55!55!Ùuü‹úþúþü‹þsûÕÒ²þЪþÑþ᪪ü°/ª0²ÒùªªÙÿÜN%#"/&'&#"5>32326!! 5Üj³an’š^X¬bh´`n”œ^V¨ûfúþü@Àúþ–²PD:32326!!55Üj³an’š^X¬bh´`n”œ^V¨ûfúþúþÀ–²PD:323265-5Ûi³an’›^X¬bi³an“›^V©gúþü‹þsuü‹úþ¾²OE;=LS²NE; =KJ°/ª0²Òú:ÕÒ²þЪþÑÙþÛ !(#"/&'&#"5>32326-5 5Ûi³an’›^X¬bi³an“›^V©ûeuü‹úþúþü‹¾²OE;=LS²NE; =KJÕÒ²þЪþÑû¿°/ª0²ÒÙþ,Û× -55!55!Ùuü‹úþúþü‹þs%ÕÒ²þЪþÑþ᪪(°/ª0²ÒùÙªªÙþ,Û× 5!5!-5 !5!Ûúþü‹uúþúþuü‹úþúþ%°/ª0²Òý\ª~ÕÒ²þЪþÑû^ªÙþ6Ûî 5 5 -55Ûúþü‹uúþúþuü‹úþ•°/ª0²ÒýV/°þÑý¦ÕÒ²þЪþÑþа/°Ùþ6Ûî -555 5Ùuü‹úþúþü‹uúþ•ÕÒ²þЪþÑþÛ°/°ý'°/ª0²ÒýK/°þÑÙÿ„Û& 55Ûúþúþûøpþ/¶Ñû¶ѦѶþ“Ùÿ„Û& 5 5Ùúþûøúþp¶þ/¶ý›om¶þ/¦þ/ÿÿÙÿ„Ý&' -/þî 9ÿÿÙÿ„Û&' -ÿþþä :Úÿ¶Ü{ 5!5 5!Úúþü@þ¾Ѫªû•°oªp²þî9ªªÚÿ¶Ü{ !5! 5 !5!ÜúþúþÀü@úþúþѪúë²þªþ‘þªÙÿÀÛÍ555Ùúþúþü@«²p²ýN²p²ü—°oªp²þîÙÿÀÛÍ 55 5ÛúþúþúþÀü@úþ«p²þþ p²þýU²þªþ‘ÙÜ)$.#"#"&'532767676325Üh¨V^œ ”n`´hb¬X^š ’nb²júþü@ÊTL>ªªþÖªªÜVJ<:DN´TL<:DNüD°oªp²þîÙþ˜ÜÔ%,5!5!.#"#"&'53276767632 5Ùúþh¨V^œ ”n`´hb¬X^š ’nb²júýÀü@úþ>ªªþÖªªÜVJ<:DN´TL<:DNüD²þªþ‘ÙfÛÎ $!!!5!676762!!&'&'&!!Ùúþ‚C.8þd 6WYÎYV7 þe8-ý;úþZª{+DD\¨93[2332[0<¨[EC,üéªÙÿÏÛW7!!%5$Ùúþþþ$Üþü}ƒyª±þå]]þå×x„¦|€ÙÿÏÛW%!!%5$ÛúþúþÜþ$þƒü}þyª±þå]]þå×x„¦|€Ùþ×ÛW !!'7!5!%5$¬–Zóý²…–Zþ N´þþ$Üþü}ƒqP¨ªøP¨ªþå]]þå×x„¦|€Ùþ×ÛW !!'7!5!55%$¬–Zóý²…–Zþ Ný²ƒü}þÜþ$qP¨ªøP¨ª×þ€|¦„þˆ×]]Ùÿ ÛK75!5!%5$ÙúþþÍýØ!:þ£ü[¥]3ªªþÖªªkþå-Q÷×tX¦VvÙÿ ÛK75!5!55$%$Ùúþúþ]¥ü[þ£:!ýØ3ªªþÖªªk×þŠV¦XþŒ×÷Q-ÙþqÛK!5!7!5!7!!!!'%5$&þ³Ú`ýÆȉŠ)Pþ"_=ý6ŠŠÞþÍýØ!:þ£ü[¥]êªsª¤s1ªsª¥tþå-Q÷×tX¦VvÙþqÛK!5!7!5!7!!!!'55$%$&þ³Ú`ýÆȉŠ)Pþ"_=ý6ŠŠþÜ]¥ü[þ£:!ýØêªsª¤s1ªsª¥t×þŠV¦XþŒ×÷Q-ÙþyÛ‹;F#"'&'&'&#"5>76326#"'&'&'&#"5>327>%5$Ûi³an’ ›^X¬bi²b`¡ ›^V©gi³an’ ›^X¬bi³an“ ªOO°gþÍýØ!:þ£ü[¥](³NE;=LT³N9 A=Kš²OE;=LS²NE;CEìþå-Q÷×tX¦VvÙþyÛ‹;F#"'&'&'&#"5>76326#"'&'&'&#"5>327>55$%$Ûi³an’ ›^X¬bi²b`¡ ›^V©gi³an’ ›^X¬bi³an“ ªOO°ûe]¥ü[þ£:!ýØ(³NE;=LT³N9 A=Kš²OE;=LS²NE;CEì×þŠV¦XþŒ×÷Q-ÙýíÜ‹6A#"'3267#"/'7&#"5>327&#"56767326%5$Üj²bDS4ŒWV¨hj²bm“\¤Y@/X¬bh´`ES3‹VX¬bhZmM’p[¤Y@1V¨gþÍýØ!:þ£ü[¥]$²PDƒ4KU³NE;é@âLT³NE‚4LR²N"*,é@ãJæþå-Q÷×tX¦VvÙýíÜ‹6A#"'3267#"/'7&#"5>327&#"5676732655$%$Üj²bDS4ŒWV¨hj²bm“\¤Y@/X¬bh´`ES3‹VX¬bhZmM’p[¤Y@1V¨ûe]¥ü[þ£:!ýØ$²PDƒ4KU³NE;é@âLT³NE‚4LR²N"*,é@ãJæ×þŠV¦XþŒ×÷Q-Ùþ¡Û®7 5Ùúþúþü@ÀúþÃþ²pôþ²p«þëþî²pªoÙþ¡Û®%5555ÛúþúþúþÀòþ²²²þ²i°þ‘ªþ²ÿ!%!%!!úW7úÉü ùàržÿ!%!!!úW7úÉü ùàžÿÿÉþ¿Õ$ºþV!#4&#"#3>323#d¸||•¬¹¹B³uÁƸ¸žŸž¾¤ý‡ýžedïèýõý½ÿÿÉþ¿jÕºþVœ33 3###º¹%ëý®ÌŸ¸8ýǹüiãýôþEý½ª#ýÝÉqÕ!#3!qý"ÊÊÞÇý9ÕýœÁÐ`!#3!Ðý©¸¸Wýü`þ3oÿçÒh '"276'&'&'2#"'&7673=A^`VUF6{……Ƿdžˆ‰h¤B:WULqË‘ýRh]ßÐp[„þÙþñ¡˜™œ’m£Ns¾Êsg¯.sÿãwñ  53#5# !2Eê™ëëþg„ÄÄMì¥þòþ¬T¥ìýÆþ»E:E^èú+ç„€«¸«€ÉþfTÕ##.+;#"&! 326&#A{>ÍÙ¿J‹xÜn†?MãÍÈüƒý‰þ’••’¼~þh–býñ–ªômÖØºOý=›p #3 632'&"7þ¤úþ\Ã^HŸ12Ö5Ã= ü``üTûÁe“^qÿãu " 654&7.5463!!"32 r“¬«(¬¬ýkÃOAžüþ(¼u’íþíþ þïßçþnçèÇÈéþPM›/1|”“‰I4þÈýÚþÆ9/ª$H@&  !  !L%ü<Ä2Äü<Ä<ü<ÄÄÄ1@ ©‡—¼ /<æ22þ<î2î220#"!!#!##53546;#"!5463ª°cM/þѹþ¹°°®½®°c'&ù®½™Phcü/Ñü/ÑN»«™((hcN»«/JC@F Lü<Ä2Äü<Äþ<ì1@©‡¾±— ¼/<æ2îþîîî20#!##53546;#"3#J¹þ¹°°­³¹°cMù¹¹`û Ñü/ÑN·¯™Phc²é/J7@F Lü<ÄÄü<Äþì1@  © ‡— ¼ /<æ2þîî20!#!"!!##53546J¹þ·cM/þѹ°°®ùì{Phcü/ÑN»«/ü)-Z@/F+** $ "&L.ü<Ä2Äü<ÄÄ2ü<Äü<ì1@#©$‡-¾*±—$¼!/<<ä22ä2ôìì2ì220#"!547676;#"!#!#!##5354633#ø°c'&ùW'Nƒ®°cM²¹þ¹þ¹°°®½ù¹¹™((hcN»U'™Phcû Ñü/Ñü/ÑN»«é/ü&N@(F  ! #L'ü<Ä2Äü<ÄÄü<Äüì1@ ©!‡ &—!¼/<<ä22ô<ì2ì220#"!5463!#!"!!#!##535463ø°c'&ù®½¹þ·cM/þѹþ¹°°®½™((hcN»«ùì{Phcü/Ñü/ÑN»«/L-54'&+"##535476;2!!;#"'&5#5$%e"c'&¹°°WW½½WU{þ…%&s½½ÕQQ‡`ch((((hû=ÑN»UVVS½Ný ‰''šPOÒ`oÿã²ðY&'&#"#"'&'5327654'&/&'&547632&547672!!;#"'&5#5354'&"QVITFu?;11”?æ{|Ø`\alfcca‚FF2-±@«LLfpµHM\[¢Œb^{þ…%&s½½ÕQQ‡‡06DE64?®+*'W@%$!+˜‰œ[[#¾5-,QK(#*$JK‚¦NV ‡_]`\ˆLý ‰''šPOÒ`NA+210@=ªÿããJ#5#"&5332654'!"'&7676;#"3!'&76;#&!32653#5#"&5O ¸C±uÁȸ||•­þS•^SWsvYYƒƒlM 7ÑìÞ`;Ý>>|•­¸¸C±uÁȶ%!ü¬fcðçfþ¡ŸŸ¾¤‘$^S‘ƒBW¯{Š8ºHz¯,'"‘ýa OO¾¤{û ¬fcðçü®ÿãã:!&#5#"&5332654/&763!!!327653#5#"&59þó`M1¸C±uÁȸ||•­MM 7ÑÓòý||˜SW¸¸C±uÁÈe,'"¼xMü¬fcðç¦ýaŸŸ¾¤‘?'¼»GzþLªþ ŸŸ_b¡;üà¬fcðç®þVã5!&#5#"&5332654/&763!>32#4&#"#9þó`M1¸C±uÁȸ||•­MM 7ÑÔB³uÁƸ||•¬¹e,'"¼xMü¬fcðç¦ýaŸŸ¾¤‘?'¼»Gzýžedïèý\žŸž¾¤ûÝ®þVã5<!"'&76763!!32653#5#"&5#3!#"&5332765!"3 þÛ•^SWsvÝ™||•­¸¸C±uÁÈáÕþsC±uÁȸ||•WVþÛƒƒ¶^S‘ƒBWþLýaŸŸ¾¤{û ¬fcðçüûB¢Vfcðçfþ¡ŸŸ__¤{{Š®þV ›H!&#5#"&5332654/&763!6763232653#5#"'&=4&#"#9þó`M1¸C±uÁȸ||•­MM 7ÑÔc%ZkÁÆ>8nŒ­¸¸C±l¯bd||x¬¹e,'"¼xMü¬fcðç¦ýaŸŸ¾¤‘?'¼»Gzýž2ïèã—XO¾¤{û ¬fcx{ä䟞¾¤ûÝÿÿÒ[Œ`&èþk ÿÿÍ[%`&ëÿ6 N~`%2767653)5!3$Wq…2!ºþþdþjÁ±/8ªs4÷þÖþtþV±¯ÿÿÊÍ–&óÿÿÊÍ–&ôÿÿÊÍ–&ó ŠÿÿÊÍ–&ô Šÿÿ˜þ»±`&øëÆÿÿ˜þu±`&øìÆÿÿ˜±`&øïÿ’þ\ÿÿdÚ`&ùïÿÿÿKb`&úïþfÿÿfv`&ûïþíÿÿʼ`&üïÿÿf¨`&ýïþsÿÿf`&þïýäÿÿÊÿâà`&ïÿÿÿßÖŒ`&ïý]úÿÿfþVX`&ïþäÿÿ˜Š`&ïÿ`ÿÿlÕ&ïþåÿÿ˜`&ïEÿÿfÜ`&ïþ‘ÿÿXÿâ”`& ïƒÿÿzþVl`& ïÿÿÿʼ`& ï{ÿÿ˜²`&ïþ¦ÿÿÿÊþV`&ïÿÿfX`&ïÿIÿÿÊÍ`&ïðÿÿ˜`&ï\ÿÿf¨–&ýíîÿÿdÚ–&ùñ¿ÿÿ˜Š–&ñºÿÿʼ–& ñÄÿÿþ ë't9ÿYÿÿþ ï't9ÿvÿÿÿìþ ‡X&wtàÿÿÿÿìþ ~X'tàÿxÿÿþ ë's¼ÿYÿÿþ ï's¼ÿvÿÿÿìþ óX&wscÿÿÿÿìþ ~X&xscÿÿÿþ ë'u¼ÿYÿÿþ ï'u¼ÿvÿÿÿìþ óX&wucÿÿÿÿìþ ~X&xucÿÿÿÿëë't9„Yÿÿÿìï't9„vÿÿÿì‡â&wtàLÿÿÿì~â&xtàLÿÿÿëë'u¼„Yÿÿÿìï&vu¼„ÿÿÿìóâ&wucLÿÿÿì~â&xucLÿÿÿëëš'„ý¨Yÿÿÿìïš&v„ý¨ÿÿÿì1b&wÿ+þpÿÿÿì~b&xÿ+þpÿÿÿ¤Ÿ'rx~oÿÿÿ¥\F&yrx¶ÿÿÿì?&zr,~ÿÿÿì x&{r>èÿÿÿ¤Ÿ'uxxoÿÿÿ¥\F&yux°ÿÿÿì?&zu,xÿÿÿì x&{u>âÿÿþ (g't¯&ÿÿþ >g't£}ÿÿÿìþ>\/&t ÿ8ÿÿÿìþ>>/& t ÿ8ÿÿþ (g'qŠ&ÿÿþ >g'q&ÿçÿÿÿìÿ8\/&qÿ8ÿÿÿìÿ8>/& qÿ8ÿÿþ (g's––&ÿÿþ >g's2ÿÿÿìþ>\/&sÿ8ÿÿÿìþ>>/& sÿ8ÿÿþ (g'u–¯&ÿÿþ >g'u2ÿÿÿìþ>\/&uÿ8ÿÿÿìþ>>/& uÿ8ÿÿÿ«þ „°'rô *ÿÿÿ«þ ~°&rô ÿÿÿ«þ Â0&*¼þ>ÿÿÿ«þ ~0&¼þ>ÿÿÿ¦)rÿ¦Ù7%'$&7376767654'&54767;#"'&/œf¦Í·À€þ·@¸AËh—¸Â$6þÊ2 #déý­GG&+@X„A:g!axN:G(eŠ\^ˆ}C#N?9.EB|=Q#!w*6ºú(  %ý?¸+)x@ÿÿÿìÏ@ÿÿÿìAÿÿÿ¦)+'”Êrÿÿÿ¦Ù+& Å”ÊÿÿÿìÏ+& Æ”pÿÿÿì+& Ç”pÿÿ“þµIîu“þ +E&;#"'#"'$47332767654'à,25Sÿì‡X %+53276=3+HZ#c,1¸VV¸,1jÙÙ»ÿì~X%+53276=3;#"+M˜Z#c,1¸1,c7n–VV¸,1jÙÙj1,¸ÿÿ‚þóÀJ=ÿÿ‚þð¿UÿÿÿìþÔóX& ÐqcþÔÿÿÿìþÔ~X& ÑqcþÔÿÿºPš?ÿ,ÿÿÿìlš&4?ÿ,ÿÿºPý@ÿ,i,k ;#"'&=3!1,cK‚Ž\W¸L71,¸\W+ÿÿþPÿöAÿ,ÿÿºPªBÿ,ÿÿÿìlª'Bÿ,4ÿÿ¹PýCÿ,ÿÿÿìlý'Cÿ,4ÿÿþèPÿØDÿ,ÿÿÿìþèl¸'Dÿ,4ÿÿÿôÊeôEÿ,ÿÿÿìlô'Eÿ,4ÿÿá<Fÿ,ÿÿÿìl&4Fÿ,ÿÿ£UÞÿÿÿµ…ƒ'Gÿ ÿÿÿµ…ƒ& óGÿÂÿÿlÄ9'Hÿ ÿÿl„9& óHÿÂÿÿÿ«þ2C&<Hœÿÿÿ«þ 6µ&SHÿÂþ>ÿÿlþ Ä'Iÿ ÿÿlþ „& óIÿÿÿ‚þóÀµ'Hÿôþ>=ÿÿ‚þð¿»&UHXýDÿÿÿìÒç& ÐHÿ+þpÿÿÿì~ç& ÑHÿ+þpÿÿÁy Á„ 3;#"'&Á¸1,cK‚šPWs¡ûkj1,¸\eÿÿþ¢ë'p9þ¢Yÿÿþ¢ï&vp9þ¢ÿÿÿìþÔ‡X&wpàþÔÿÿÿìþÔ~X&xpàþÔÿÿ‹ÿÆ 'qú„;ÿÿ‘^&Oq^„ÿÿÿëë 'q¼ŠYÿÿÿìï &vq¼Šÿÿÿìóè&wqcRÿÿÿì~è&xqcRÿÿÿëë'r¼ŠYÿÿÿìï&vr¼Šÿÿÿìóâ&wrcRÿÿÿì~â&xrcRÿÿþ (g'p&ÿÿþ >g&p¼ÿÎÿÿÿìþÔ\/&p þÔÿÿÿìþÔ>/& p þÔÿÿþ (g&þ >g.%3#"'&'&'27'&5767&5$(1{R=IrbàJIÁÔ–úþ^©ƒÔ`‰eŸ‡_Ã$Äm3HZ¸¸–dœ²P·üŠ]£v¸bĘÞße4)¸@5š [ _wÿì\/&'&'&5672+5327676SSgU´R¡HK¢¬ÜLX¦J‘KÝ£€dãht^¸#4bš4bBP¸H:jVÿì>/);#"'&'+53276767&'&'&5672~ÜAI2hrBVÑ~(;E)‘KÝ£€dãht^eSgU´R¡HK¢ 4bš)N"w¸¨6a.%P¸H:jV#¸ÿÿþ (°'p?&ÿÿþ >°&p?ÿÿÿì\L&p ¶ÿÿÿì>L& p ¶ÿÿ}ÿÚR(}ÿÚGR &'3;#"'#"'532767654"9¶ãaRQS,cK‚“a]Ï.-fgsT!"¬#?z™N‰†uIS,¸‚€!&¸* 1p*Dÿÿ}ÿÚ°'pE(ÿÿ}ÿÚG°&pEÿÿÿ«þ b&*ÿ«þ ~&3;#"'!5 767654x¸ I*eK‚‚2Dûþäþ¾0ËÚ# &pgM,¸>þê…—¸€ŠÐ:H~ÿÿÿ«þ b¶'pq *ÿÿÿ«þ ~¶&pq ÿÿ‚þ î,‚þ GîF%7653323;#"'#"'&''&'#&'$473327676'&/3¸N0%¸@nޏS,cK‚‘vDm% I0Š1_@8‰'T…ÁPx€mþíi¸l“_Qb_y^@@¸$:µ|_ÊÍ2©&þªaS,¸`[ F{Ÿ<³kª>GHö´Îܳ&%0žlŽ}=êœJ<~ÿìÿã î1%+53276=3327653763#"'&'#"'&€+8Lc‚Kc,P¸,+hm,%¸@nޏ\Kf%#?7‰0`DAbH<Š;!.¸,PdÀœ@dczgÂÍ2ª&þªÇq\ =„œ!1(ÿìÿã7î8#"'&'#"'&'+53276=3327653763;#"'ý%#?7‰0`DAbH<)+8Lc‚Kc,P¸,+hm,%¸@nޏS,cK‚‘vD =„œ!1(I;!.¸,PdÀœ@dczgÂÍ2ª&þªaS,¸`Zÿÿ‚þ °'râ ,ÿÿ‚þ G°&râ ÿÿÿìÿã °&rŠ ÿÿÿìÿã7°&rŠ ÿÿ‚þ æ.‚þ áæ<I)"'&7#&'$47332767654'367676;#"/"3276'&'&uþì"83JXîPx€mþíi¸l“_Qf[¢+!'« (s{l“HX}aº*=RK‚ƒgÌL~¨‘»í»‰%º€›MGHö´Îܳ&%DŠl“Š7(2’l^F"%GéMF ,¸\v7QlÂ?[F‡ÿì2æ .3276'&'&#"!"'&'+53276=36767676Ш‘»í»‰%0LºþìJNA'f¬‚Kc,P¸-e_ ‰KUskº¸ÊælÂ?[F‡ýÉ*#=Џ,PdrNP2†T9 )Gé©mxÿìæ+8)"'&'+53276=36767676;#"/3276'&'&#"˜þèJNA'f¬‚Kc,P¸-e_ ‰KUskº+=RK‚ƒgÌ਑»í»‰%0L*#=Џ,PdrNP2†T9 )FêKH ,¸\vælÂ?[F‡ÿÿ‚þ ¶'pû .ÿÿ‚þ á¶&pû ÿÿÿì2¶& pÛ ÿÿÿì¶&!pÛ ÿÿÜ0¬))5!3%632;#"/%3276'&'&#"@ý¿þ‘o¸Ù\Dui¼*=RK‚ƒgÌýé»í»‰%0Pz±¸\û?c!'EëMF ,¸\v¸?]D‡QxÿìÔ %3276'&'&#")5!3%6329»í»‰%0Pz±uýÁþõ ¸Ù\Duiº¸Ê¸?]D‡Qxþ’¸\û?c!'Eë©mxÿì¤))5!3%632;#"/%3276'&'&#"8ý¿þõ ¸Ù\Dui¼*=RK‚ƒgÌýé»í»‰%0Pz±¸\û?c!'EëMF ,¸\v¸?]D‡QxÿÿÜ'pÏR0ÿÿ¬&'pÏRÿÿÿìÔ&(pÇRÿÿÿì¤&)pÇRÿÿtþ ²+2uþ ²,7347&'&5476762;# '!27'&"676'u»=& hYîYe Ev7DW_U þöøš)k_ÁÔ–úþTŸb©4/F†0ÔŒ2H9)74--38&">8`@%(¸äjm=žv¸b¾z $A7. ÿìø+%67&'&7676&767%+532a?K4YÊ|üÚº>_O:2 þ\þ¢²XPdÙ;dŒú‹U©Šu4P ¸Å¤¸ÿìð$/%+532767&'&5476762;#""654'îÂÊv`kB;(aD hYîYh MXD=p`vʨ4/gg/¹¹¸($'UZ'-)74--47)-'bM,(¸U __ ÿÿtþ ²F'pw°2ÿÿuþ ²L&/p©¶ÿÿÿìøF&0pw°ÿÿÿìðL&1p£¶ÿÿÿ¤Ÿ'põ~oÿÿÿ¥\L&ypõ¶ÿÿÿì?&zp©~ÿÿÿì ~&{p»èÿÿkþG›'qR~Zÿÿkþ À&|q„kÿÿÿì?&}q,~ÿÿÿì ~&~q8èÿÿÿÈÇ7ÿÈÒ!D#"'5327654'&'&7676'&'$54733276763;#"'ÐJ&P DfXRNB8D-<9_¸h$$EB|=Q#!v+6ºú(  %þ¶{{qe›ÿì))5!27654'&54767;#"'&/6þ¶6”-6þÊ2 héý­GG&+@X„A:g!a_¸h$$EB|=Q#!v+6ºú(  %ý?¸+)x.›ÿÿþÈ8þÈ#$%653;#"'#"'$&733276N¸1,cK‚pNyþû†UcEþÜ@¸A¦(IPm®I~ãjûkj1,¸3.(±B"[Š\ss~B"5ÿì¯ +5327653¯WPš‚Kc,1¸s²e\¸,1j•ÿìº%+5327653;#"SM˜‚Kc,1¸1,cK‚–VV¸,1j•ûkj1,¸ÿÿŒþ^ó9Œþgt5%327654'&'&#"#"'&#4763&547632;#"bzL,5;(.;DÀ …Kµ2KÈxAZ¢M\HTª((&iK‚¯¨*9:X DD(©PNNOþ“m­f7*(”„?$G³C,,¸ÿìÿͦm*%'+53276767632%327654'&'&#"d`ŒÔp@h t4,+‡^]EE½ýð>Ÿ/4:''5)24ed0¸$#1µP8O«$*ŽME5EX !a%ÿìÿδm/%#"'+53276767632;#"%327654'&'&#"da‹Ön@h t4,+‡^]HBÁ3$kK‚°þ>Ÿ/4:''5)24fb0¸$#1µP8S§1>,¸ÄE5EX !a%ÿÿ“þµI¶'p? uÿÿ“þ +¼& Íp?&ÿÿÿì‡è'pàRwÿÿÿì~è'pàRxÿÿ‹ÿÆ Þ;‘^î $&'&'&'3;#"'&'#"'&5476¤ xRo´t¸$8pK‚ZI-&Šœ8:½Ìm*12e CY>)2Ñ'+¨®eO,¸3;I0š­Dÿìÿ½½å-=67654'&#"27&'&5476&'5#"'+5327654'&”$"':Aù4N--0M,Qߨ@(J¯ƒšx’‰«b 41}! @H=.%4-+#%vˆ iEN@TSZ '¹D³ÑÞ49g=ql)¸D%'“i.C!v-‹3j  °;AWE… ¸L9P)8K6(¸œS/V¸L_”+Y‡9›K1\Sÿÿ‚þóÀJ=‚þð¿765&'&'&54767632;#"'&#"#"'$4733276L[/,4PT*uW€ ##rpl$-AIq€ÚYh¼uþÛ?¸A¦B³[M•!3!+ (;=A<^†Ä¸¬¥#0{bV` )g™ZZ™rNÿÿ‚þ ÀJ'qôþ =ÿÿ‚þ ¿'qôþ UÿÿÿìþÔóX& ÐqcþÔÿÿÿìþÔ~X& ÑqcþÔÿÿÿ.ÿì¿í&`Gþ–,ÿÿÿ.ÿìÚí&aGþ–,ÿÿÿåÿì¿£&`Hþ–,ÿÿÿåÿìÚ£&aHþ–,ÿÿþ ¿&`IþÈÿÿþ Ú&aIþÈTÿì¿#"'5327367653¿‹7MÍžjK`Uqˆþ³ª%¸BþÔÚUG´ ¸ ˜FüA+7‰¸®TÿìÚ#"'5327367653;#"'&4;IÊ¡jK`Uqˆþ³ª%¸"@Pi¯f<[A´ ¸ ˜FüA+7‰¸®üD®Tž¸ó)ÿTL* 35'5467676?67654&#">32üüü–Ë,X\"$߸gÁ^a³Olƒ39ZZ8Lüüüý®þþ“{4<+VZ@ELŸÂ89¼CFnY1^5YV‚ešÿ¹šÇ @ÔÌ03#Çu™þˆü×ÿ)Ù¥@ ÎddÔüÜì1Ô<ì20K°TK°T[X½@ÿÀ878YK°TK° T[K°T[X½ÿÀ@878YK°TK°T[X½@ÿÀ878YK°TX½ÿÀ@878Y@````pppp]3#%3#þ^ËËþyËËÙËËËýsîþðö@BúÄÀ1ôÌ0KSXÉÉY"K° TX½ÿÀ@878YK°TX½@ÿÀ878Y@ %%6FVjg //]]3#þ7¹ä™öþøü¶ÿJéu@!  ÃÃúVV ÔìÔì99991ô<ìÔì2990K° TX½ÿÀ@878YK°TX½@ÿÀ878Y´ ]'.#"#4632326=3#"&ýü9 $(}gV$=09" (}gT";9! 2-ev 3)dwý îþ‹ö‰@BúÄÀ1ôÌ0KSXÉÉY"K° TX½ÿÀ@878YK°TX½@ÿÀ878Y@*$$5CUUŸŸ¯¯//]]#ýÇÄ™æöþøüÏîÿ1øw@ úÔÄ91ô<Ä90K° TX½ÿÀ@878YK°TX½@ÿÀ878YK°TX½ÿÀ@878Y@ //- ]3#'#ý¢¼Ó‹¦¦‹øþö²²üÏîÿ1ø†@ úÔÄ91ôÄ290K° TK° T[K° T[K° T[X½ÿÀ@878YK°TX½@ÿÀ878YK°TX½ÿÀ@878Y@ "  ]373ý¢Ó‹¦¦‹Óî ²²þöüÇÿ9ø #.#"#>32Çv cSRav  Ÿ6978w{züÇÿ9ø j@à úVVÔìÔì1ôüÄ20K° TX½ÿÀ@878YK°TX½@ÿÀ878YK°TK°T[X½ÿÀ@878Y332673#"&üÇv cSRav  Ÿø6978w{zýšþfÛ¶úÔÌ1ôÌ03#ýšÌÌÛÍüæîÿ²ö@Ì1Ô<Ì203#3#þù¹ä™‹¹ä™öþøþøüNîÿö#!#ýÄ™äÄ™äöþøþø––53#–––––73#'3#ú––ú–––––– 3#3#'3#}––}––ú–––d–––ÿ– 3#3#'3#}––}––ú––d––––ÿ––3#3#––––d––ÿ– 3#3#3#3#ú––––ú––––d––d––ÿìï&;#"'&'#"'$&733$767654'3ïF??7Kÿÿÿì‡X Ðÿÿÿì~X Ñÿ¥\,>%!$'$&73!2%7&'&547676323!!"'654'&'&#"xhnþèþðþÏ}þ·@¸AËQ+è"R¼:4RQ‰P þôioh4"(=)1$+<'gŠ\^ˆsM6,|y$›K2S–%j¸ßAzG' <8BNÿì?Ù0654'&323276767'&54767632#!V)B,4((7(*Hý®ñT—O<?a‚Nb–NLZB`.NJ|m‘þ¿+M;3*)3P&þ· ]027EW4,”E$2Hf3ŒÐˆ,'ÿì !5;#"'+5327&'&54767632"67654'&'&f·$'“Ùˆ¹¹ˆÙ“'$¹A??8 D?$ 9úP–2*I1C2¸99¸(M.L,0W¸ 5+5DE2.4! kþ Àä.@%&'&'&547676323!!#'$'&5473!2766'&'&#"¸B.y9“(“)Wp8c2þô0-=€ž¯ÍþŽ^E>¸><Œ–Õl/"'"3 9Ld/  #+m¹=¥E2X‘:Ö¸zF‘NV¾Š}¦`k›L:‚DbZzWK# :<,; ÿÿÿì?Ùzÿÿÿì {ÿÿÿì‡è&wpàRÿÿÿì~è&xpàR¶· %4'&"2>"'&4762<R8R8z?@¸?@@?¸@Ü(8)*8…¸@@@@¸@??ÿÿþï 'q¼Š'©þvÿÿÿìþôè&w'qcRPþôÿÿÿìþô~è&x'qcRPþôÿÿÿìï¶'s¼ vÿÿÿìóâ&wscLÿÿÿì~â&xscLÿÿþ >¯&HŠÿ8ÿÿÿì\K&HXþÔÿÿÿì>K& HXþÔÿÿþ >ª&t?ÿÿÿì\F&t °ÿÿÿì>F& t °ÿÿþ >ª&rÂÿÿÿì\F&r¶ÿÿÿì>F& r¶ÿÿþ >°&'p?sçÿÿÿìþ>\L&'sÿ8p ¶ÿÿÿìþ>>L& 'sœÿ8p ¶3_+ 5_ü¡_•þž–bÉþVð!"#367632+53265Pþͳ×ÊÊNij™ãéQRµW1fO¬ÿÞü²Õñ†CCþÁþÌüoÕa`œZ ` 2@ ©¼ F ü<<ì221/äÜ<ì20@  @ P ` p ]33###53ø¤¤¸´´`þ¤þ<ĤþòþV.` 54!333##"3276!þÑÁ¸µ¿5R µw{i&þVÝÍ`û ›p?`3A0ÿÿ’cè3'q½=e¼Uÿÿ’aè4'q½ÿe¼[ÿÿ’^è3'm¼Pq½=ÿÿ“cåZ'fðde¼Uÿÿ“cåZ'hŒde¼Uÿÿ’aèZ'fðdq½ÿÿÿ’aèZ'hŒdq½ÿÿÿvj 3'gÀ\q½=ÿÿ‹cíZ'j¼be¼Uÿÿvj V'e¼}gÀ\ÿÿ‹cíW'j¼um¼|ÿÿvj0Z'f@dgÀ\ÿÿ‹c:'i¼uf(Dÿÿ‹cm:'hâDi¼uÿÿvc u'i¼ugÀŒÿÿvV Y'l¼PgÀpÿÿƒVõZ'l¼PfðdÿÿƒVõZ'l¼PhŒdÿÿƒVõ‹'µ«l¼Pÿÿ‹c['µài¼uÿÿüœîÿPj&­³þøZ,,!!,þÔ,þÔÿãOÕ=32653#"&[ÂhqÊÓ÷`¾=ìQQ•Ëîüþæê,ÿÿÿ«þ &&°Jùÿ«þ ö&3;#"'!5 767654x¸ I*eÃú‚2Dûþäþ¾0ËÚ# &pgM,¸>þê…—¸€ŠÐ:H~ÿÿþÈ#Ä'J¼Cÿÿÿì`Ä'JÿSDÿÿÿìºÄ'JÿSEÿÿ‚þð¿F'J¼ýUÿÿÿìþÔ8@'Jÿ+þ 'qcþÔ ÐÿÿÿìþÔ~@'Jÿ+þ 'qcþÔ Ñÿÿÿ«þ ~r'J¼þ>Á9 9µF üìÄK°SK°QZX¹ÿÀ8Y1´—‡/ìä0@  @ P ` p ð ]3;#"&5Á¸Li µ£û‚™aœÀÖæfëŒAš_<õÁËÂÁËÂ÷Öüë r‹mþ â÷ÖúQ r¹Ífª‹55®Å´žªšq=3ۤ=´Ù‹žãd‹Û²‡á–œdž¨‹²ð²ž´Ù´Ù´Ù?“‡y}É–s)ÉÉšÉ3sÉ\É\ÿ–?ÉuÉçÉüÉLsÓÉLsɇãÿúÛ²yéD{=ãÿü{\°²Ç´Ùÿìªç{ºfqqìqÑ/qº9Á9ÿÛ¢º9Á˺ºåqºqJº+o#7®¼=‹V¼;¼=3X²´Ù55¬^R²\×Åsåž´ÙãdÕôÙ5^5bs®ž‹Û#5‰Å`åÁÁ‰Á‰Áb?yyyyyyË–sÉÉÉÉ\;\¢\ÿþ\3 üÉLsLsLsLsLs´LfÛ²Û²Û²Û²ãÿü×É ºç{ç{ç{ç{ç{ç{Û{fqìqìqìqìq9ÿÇ99ÿÞ9ÿôåqºåqåqåqåqåq´ÙåH®®®®¼=º¼=yç{yç{yç{–sfq–sfq–sfq–sfq)Éq3 qÉìqÉìqÉìqÉìqÉìq3sq3sq3sq3sqÉÿåTÉx\ÿä9ÿÓ\9ÿò\ÿõ9ÿä\°9–\É9Á¸ÉrÁ\ÿ–9ÿÛ?É¢º¢ºuÉXÁuÉ9ˆuÉÁuɼÁÿòFüɺüɺüɺ‚ÍüÕºLsåqLsåqLsåqs/qÉJºÉJ‚ÉJº‡+o‡+o‡+o‡+oãÿú#7ãÿú#7ãÿú#7Û²®Û²®Û²®Û²®Û²®Û²®éD‹Vãÿü¼=ãÿü{\3X{\3X{\3XÑ/ áÿ—}ɺ} s–sfq3 ÿ—}ÉqåqƒLuꤚÿ–Ñÿ3s~´ºÔÉ\ …É¢¹9 ¼=˲üÿ–ºLsNgåv—sq7ÿ—¸×ÉE+dɰþò#7ã#7ãÿúÝ­°NÄÉ‘ÿüp={\3XT T\Ÿh3q–T]ŸhXº\Éðɬ]É `É dÉ <q¯ÉKɧÁsÉdÉaºyç{\ÿþ9ÿàLsåqÛ²®Û²®Û²®Û²®Û²®ìqyç{yç{ËÛ{3sq3sq?É¢ÿéLsåqLsåqT ŸX9ÿÛ `É dÉ <q3sqçÉuÉüɺyç{ËÛ{LfåHyç{yç{ÉìqÉìq\ÿ§9ÿÃ\9ÿäLsåqLsåqÇJ‚ÉJºÛ²®Û²®‡+oãÿú#7œ,GÉÿðâÉ´q–qâq{\3Xyç{ÉìqLsåqLsåqLsåqLsåqãÿü¼=ÌŠ¾ºÑ79ÿÛüqüqyÿý– f u ãÿ²+o3XÓP} Û yÉìq\ÿ–9ÿÛ JÍ®qººefpq’qìqìqŽ|S…A…4…Pq9ÿÛ‘qq qÄ`Ä`®ºº9µ¦ùt*KæL:Á¦Á˺˺˺+ÿÛ#º³åqÝqÓ™GpPPOJºIº~„>tÔºÔº+o°ÿÙ°ÿÙ±7°þò#7#7ñqÉÁ¼=‹V¼=ãf3X3XŸXŸmXXXXÒ^£ºPqªq;ºVþòVººÑqXXqvqq˜7á7:7É/ Á<Á66O<u1ufÿéu]G^G 6û&3Ůŋ®‹²‹Äuuuuõuõu  ÁÁÁÁ3ÖÕsª3ÖÕªs²o²ouuuuMÁÇšîL¶ð†ÿÿïhuTzüuuõuòÖòÖòÖòÖòÖÁÕî¶ü¨ýqü¿ü´üÙûìü¿ý¤üÕý7üìüôüÅý¼üðü]ü¿ü¿þýýÿyü¨ýqý ý¼þUþðýý ý ý ý ýzýwýšüÕüìýjý#ýLý¼üðücüÅü¿ü¿ü¿ü´üÙûìûìûŒýxúíûhúýùüñüðücý+þûìü¨ýqü´ý…üçýÆüÕýýýü¶ü¶ü¶ücý3ýxü¿ý+ýxÿ.üpüpý*üpüw: : ¶e²žs׊‹ÛøÿçøÿóDÿí€ÿò™ÿá›ÿÛµy}ÉuÉyÉ{\ÉLs\É?ÉyçÉüÉÉLsÉÓÉÉãÿúãÿüLs{=LsN\ãÿüFqc…<ºµ¦¡•Fq¿¼ åqS…Zkºåqµ¦·¿¼=®xJvkåqÑJº²qqÑd¡•GoŸ;Gp³‡µ¡•åq¡•³‡ê¦ôp—W½ÿá—WGp³AOoLsåq0‹²qšÉ«ÿ@G³G¿ìrwxs³‡sFqUÉë-~OÛd$s6˜såqã,J7Oo·fq9ÿÛLsìqìÄ×ɺ–sçÉ5U s–s sÉÉJÿúáÉ–s‡\É\\ÿ–ÀT\ÉJÿú?ÉüÉà#Éy}É}ÉáÉ@eÉè;!‡üÉüÉ?ÉTçÉÉLsÉÓÉ–sãÿúà#ãy{=6É|¯ŽÉÀÉ©<É}É–o£Ó;ç{ïp·º4ºˆkìqÞ2A…3º3ºÕ¿L º;ºåq;ººfq©<¼=×p¼;rºº–Rº‰º§>Qº·ºdq¼ÁÐEìqìq'(4ºdq+o9Á9ÿô9ÿÛ8L0º(Õ¿3º¼=;ºxs³‡*`ŠÓþÁ D3 GÉÁLsåk7ɘÁsS[LsGpLs½q@R2@R2–qâq sqxs³‡xs³‡–sfqÀ2ûÚû÷ü"ü"X÷ÖXøX.ÉjÁ}!·&ÓɺáÉ4ºáGî8þÉ=ºè;Þ2!‡A…?ÉÕ¿?ÉÕ¿?!¢=k2¿*ÉIÁÉÁ¦ÉSÁ^s6q–sfqãÿú;ãÿü¼=ãÿü¼={=¼;yÿút|¯º–|¯º–|¯º‡Ó‡Ó\Éè;Þ2?ÉÕ¿56].ÉIÁ6ÉrÁ|¯º–É2Á9Áyç{yç{ËÛ{ÉìqLuìqLuìqè;Þ2!‡A…T ŸXüÉ3ºüÉ3ºLsåqLsåqLsåq–odqà#¼=à#¼=à#¼=|¯º–uÉîºÉQº}‘·q ‘-qÌÉô«nɵ«“6¨.”ɽÁ3sGq/ÿú°ê¤S…ï²Û²²²Û²&›t²Û²β²Û²u²—²äAÛ²¨²&²7\²ÛŒ¹\Û²Û²Û²S²&›²Û²²‡Û²ÛŒe²ãsR\Ls‡uu‹²^x"ž6^Z˺º“qº®“qD®ºšº“qº;Á½º q®ºqº®F®9ÿÛ1 ŸºŸF˺ Ÿº®‘®Ê®ºq;ÁÊ®/åqz®²ðw`xG33xûû———‚x—\Ñá\Ѧf—N˜>d¡KÜf†Êrf~f†ÊwÊ^Ò"fT˜†Êä˜rf¦f,XN6zTÊW˜€Ê"feÊΘNf:ÒôÒ•Ûû‹Û?“ã9ÿµ9lÝÿ«9lC‚9Áˆ1‹ˆˆ***}}Ýÿ«Ýÿ« Ä‚ Ä‚ ¬‚ ¬‚ffÆtÆtXÿìK5k˜ÐôŒà“1‹Ýÿ«C‚C‚ÜÜÜÜÜÜÈì˜OOóL¸LLRLLL¯L‡LUL<L<LcL…™‹²\Wˆ5kVzˆˆˆˆˆˆˆˆ*******Ýÿ«Ýÿ«âÿ«Ýÿ«KKK))Ðà“*Ýÿ«C‚C‚L¸LLRLLLRLjLÐL<L<Lc¼=½ Û{°>fq׺×$íºS‚9Á(Õ¿ª º3ºåpfyqyqy3/qåqåq2–ÐEÐ2©<˜ºå®•®/¼=‹V3XTxª³¼=ƒ–2–¹Zƒ("M"M>G/Mmu>GVGVGâTàR>GnzhuüuEuOGöGOGOGmu\#=nÂnüuV&ºùt9‘>GöGöGOGâT_Ýÿé>G=nIÿzIIàÿVÿzá[qüuüuIÿéÖuEqOGOGâFKÿé\#^YG@zV&î7~7î7#7OGyç{}ɺ}ɺ}ɺ–sfq)Éq)Éq)Éq)Éq)ÉqÉìqÉìqÉìqÉìqÉìqšÉÑ/3sqɺɺÉÿëɺ\9'\9ÿô?É¢º?É¢º?É¢ºuÉ9¶u9ÿòuÉ9'uÉ9ÿÞçÉ˺çÉ˺çÉ˺üɺüɺüɺüɺLsåqLsåqLsåqLsåqÓɺÓɺÉJºÉJºÉJºÉJT‡+o‡+o‡+o‡+o‡+oãÿú#7ãÿú#7ãÿú#7ãÿú#7Û²®Û²®Û²®Û²®Û²®y¼=y¼=éD‹VéD‹VéD‹VéD‹VéD‹V{=¼;{=¼;ãÿü¼={\3X{\3X{\3Xº#‹V¼=ç{Ñ/yç{yç{yç{yç{yç{yç{yç{yç{yç{yç{yç{yç{ÉìqÉìqÉìqÉìqÉìqÉìqÉìqÉìq\Z9D\È9·LsåqLsåqLsåqLsåqLsåqLsåqLsåqNgåvNgåvNgåvNgåvNgåvÛ²®Û²®Ý­°Ý­°Ý­°Ý­°Ý­°ãÿü¼=ãÿü¼=ãÿü¼=ãÿü¼=FqFqFqFqFqFqFqFqyy'iªñS…S…S…S…S…S…°°ºÌ0lºººººººº²¯°¶7hx“µ›µ‘µÿ±µÿ»µµÿÓµÿ˵ÿÆ þÌêñåqåqåqåqåqåqoÉÂ̂á•¡•¡•¡•¡•¡•¡•¡•Eû.³‡³‡³‡³‡³‡³‡³‡³‡k¿·Ã‘Ç_žFqFqS…c…º<ºµÿµ¦åqåq¡•¡•³‡³‡FqFqFqFqFqFqFqFqyy'iªñºººººººº²¯°¶7hx“³‡³‡³‡³‡³‡³‡³‡³‡k¿·Ã‘Ç_žFqFqFqFqFqFqFqyy»ÿüŠy†¶†¶¶ºº<ºººpÿüøÿçrÿüøÿóɉ´¶µÿëµÿãµÿصµÿäµÿæ\ÿõ\ÍÿüDÿí~•¶¡•¡•¡•¡•ºº¡•¡•ãÿüãÿüÃÿü™ÿá{ª×ª³‡³‡³‡³‡³‡‡ÿü€ÿòaÿü›ÿÛNs†£V‹™Ìãdãdÿì‹®‹²‹®‹²%®%®%®%®99¸3¸3­ìWìì‹Ü ¼q âqÑ(ý()(Ñ(ý()(¶ 3ž3Á´Ãâ“?“ÿìnÿ§nÿ§ÿª=ÝVþ‰°°`IݓݓðoìØØ=²nÿ§=™‘´Ùnÿ§´8°úN(´f´f‹Ûad´p‹Û‹Û5Wny5?5f5\5l5Y5S9‰9‰9‰÷o÷g1u5W5‰5^5b5?5f5\5l5Y5S9‰9‰9‰÷o÷gVs`…˺üu .É—Éé;F_(uD1u!ªü=ü=&CüÃ#ÿÖ&<‰<ÃH"”jNÿäR6”nƒSWv,©(˜ÿü'NN?ÉyÖ}šÉ²hög —=;Á‰Á^Á‰Á^ÁbÁ?Á‰ÁfÁ‰ÁbÁfÁl‹‰\ÉðÉ„ÉbÉyaõ ‰WÉ{=w= =uÉ–s)ÉçÉ9Á©ÁÁ~Á¼=}=í= ]=Á¼;”;;9Áfqq˺ öy)É öy se´d´£´u´£´d´£´ ´ ´ ´ ´d´u´,´´d´¥´u´¥´d´u´d´¥´u´¥´¥´d´v´d´v´d´d´*´Z´¬´Z´¬´Ý´d´-´O´Þ´p´Ó´´d´d´´£´u´u´´£´d´x´d´d´x´v´x´d´d´d´d´u´d´¥´u´¥´d´¤´ ´¼´¼´ ´d´u´d´u´£´£´d´£´u´£´k´u´7´^´H´^´^´^´@´^´^´^´u´z´z´^´u´x´u´d´u´d´d´u´d´7´u´7y‡#hÉŸø›ZÿúZÿúø¯ø¯¾Ùø¯ø¯¾Ù,œœd´Ù´Ù´ÙVþ‰Š´D‹Û===jݪݴ´,¯´í°ffÛÛÛÛ+/P/u/+tPtut+t+t+tyy¡y´Ù´Ù´Ø´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ø´Ù´Ù´Ù´Ù´Ö´ÕÎʹٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴٴڴڴڴÚ`”`”¶°´Ø´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ð´Ð´Ð´Ð´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ë´Ë´Ë´Ë´¾´Ù´¾´Ù´¾´¾ÛÛÛ´Ù´Ù´Ù´ÙÆÙÆÙ´»´»´»´»´»´»´»´»´»´»´»´»´»ø¯ø¯ø¯ø¯*¯*¯ø¯ø¯ø¯ø¯ø¯ø¯ø¯ø¯´Ù´Ù´Ù´Ùyy´a´y*îÛÈÛÈÛÈZÿúZÿúô‹ÛùÙÙÙÙٴٴٴ٠a” a”´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´ÕWø¯¾Ùø¯ø¯¾Ùø¯ø¯Wø¯¾Ùø¯¾ÙøÙ’ød´Ù÷´Ù+¯+*¬ Œx·¤°°°°°°°°°°£¨££¨£¨+¯'ÿƒ’,˜,˜,˜,˜,˜,˜,˜,˜,˜,˜'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì'ÿì''ÿì'ÿì'ÿì'ÿì'q'ÿì''ÿì'ÿì'ÿì'ÿì'ÿì''ÿì'ÿ캺ººººººººlºlºººgºgº'''''''''''''''''ûpôûpûrûpûpûpûpûpûpûpûpûp7p7ºTºúúúûpûp''''¸3ººººº'''ôpººººûpûpûpûp'''¤º¤ºܺܺ',«h,d,ª,ƒ,…,…•ª+ª,ª}}_}} ÷Œ ‘,¸,·,·Bš,d,˜,¬,¬,Ÿ,«,¬,¬,²ß“,±ß“,},¬,ª,dZdøª2ªEª\ª,ª,²,ª¯ª,«,ª,ª,ª,ª,ª,ª,ª,ª,ª,ª,‡,ª,ª,ª,ª,Ý,ªé¯Ù¯Ù¯,¯,S,À,ø,,ì,],·,À,ç,,m,«,E,©,À,°,A,É,â,U,¶,Q,0,É,â,U,¶,L,0,C,¹,X,ä,B,¶,X,ä,ØƬ¬,x,¼Ƶܬß­ü¬ „,¬,œ,œ,œ,œ,œ,œ,œ,œ,¬,ª,ª,ª,1ô–ô–ô–ô–ô–ô–,ª,ª,ª,ª,ª,ª,ª,ª,ª,ª,X,X,j,Æ, T},y,},),©,,,,džª,ªª´´V´´I´V´V´x´„´³´+´¶´5´¶´X´Š´3´í´´¯´ñ´ü´p´p´p´p´R´ ´>´p´»´T´V´S´T´W´W´0´V´0´0´0´0´0´2´„´˜´p´@´T´»´T´T´T´p´§´§´¡´¡´n´n´T´V´¡´¶´œ´‚´¡´a´a´T´T,f,z,z,z,z,ª´´°´”®”xN®Nx´>´ž´N´n´X´~´ ´‘´‘´´´¹´Û´#´9´U´w´Ä´l´f´¡,˜,˜,˜,˜,˜,˜,˜,˜,˜,˜´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´ ´u´ü´u´ü´u´u´u´u´u´u´u´ä´ä´ä´u´u´ì´u´u´u´+´+´´´´´<´‚´¥´u´§´§´u´§´s´–´¢´¢´uô·¤s·s¤ÜÜ,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü„Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,Ü,´ÙÙÙÙÙÙÙÙô::: š/+t+t+t+t+t+t+t+t+t+t+ÿ¾+t+t+t+/+/´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ú´Ú´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù´Ù''ɺ?É¢º<É‹ÁGo@sɼ=åqƒ/ / /¼/¼/}/ão ª ® ‘® }® <®^ÒôÍNeÊeÊeÊeÊN˜N˜N˜>d¡KÜf†Êrf~fwÊ^ÿß"fT˜ä˜¦f,X6zTʘ€Ê"feÊΘrf>dT˜TʈÛ:ÿìjÿìˆÛ:ÿìjÿìˆÛ:ÿìjÿìˆÛ:ÿìjÿìˆÛ:ÿìjÿìˆÛ:ÿìjÿìKHÓÿì ÿìKHÓÿì ÿì**òÿì*ÿì**òÿì*ÿì**òÿì*ÿì**òÿì*ÿìÝÿ«jÿ«Ýÿ«jÿ«))Ïÿìkÿì))Ïÿìkÿìà““Ýÿ«"ÿ«:ÿìjÿìC‚«‚:ÿìjÿìXXÿìXiXXXÿìXXÿìXXÿìXÿôXÿìXXÿìã9ÿµpÿµ9lplÝÿ«"ÿ«9lplC‚«‚:ÿìjÿì9ÁpÁˆÛ:ÿìjÿì1‹J‘ˆÛ:ÿìjÿìˆÛ:ÿìjÿì**òÿì*ÿì**òÿì*ÿì**òÿì*ÿì}3}}3}Ýÿ«jÿ«Ýÿ«jÿ« Ä‚ 3‚´ÿì#ÿì Ä‚ 3‚´ÿì#ÿì ¬‚ Í‚Ëÿìðÿì ¬‚ Í‚Ëÿìðÿìf˜^ÿìÿìf˜^ÿìÿìÆtBuÆÿìÜÿìÆtBu/ÿìÜÿìKHÓÿì ÿì5k¬kÓÿì ÿ옾ÏÿìkÿìÐpÿì¦ÿìôŒSŒIÿì ÿìà““:ÿìjÿì1‹J‘8ÿì°ÿìÝÿ«"ÿ«C‚«‚C‚«‚:ÿìjÿìÿ.Æÿ.ÿæÆÿæÆTÆT4ÿ¹ü×ýsü¶ý üÏüÏüÇüÇýšüæüN––Û:ÿìjÿìHÓÿì ÿì¬kÓÿì ÿì:ÿìjÿì¶Û:ÿìjÿìÛ:ÿìjÿì*òÿì*ÿì*òÿì*ÿì*òÿì*ÿì*òÿì*ÿì_üÉ9îþòx’x’x’x“x“x’x’xvx‹xvx‹xvx‹x‹xvxvxƒxƒxƒx‹üœ,âÿ«âÿ«pÿì¦ÿì«‚:ÿìjÿìjÿ«9Á< þ0 ô$ÿÓ%ÿ·*K-r294K7ÿD9ÿˆ:ÿ­;ÿš<ÿ R&YÿÉ\ÿÜ‚ÿÓƒÿÓ„ÿÓ…ÿÓ†ÿÓ”9•9–9—9˜9Ÿÿ ´&µ&¶&·&¸&¿ÿÜÁÿÜÂÿÓÄÿÓÆÿÓàK&ÿD:ÿ $ÿÓ$ÿÜ$ÿÜ$$9$&ÿÜ$*ÿÜ$2ÿÜ$4ÿÜ$7ÿa$9ÿ}$:ÿ$<ÿa$FÿÜ$GÿÜ$HÿÜ$Iÿ·$RÿÜ$TÿÜ$WÿÜ$Yÿˆ$Zÿ­$\ÿu$mÿ·$‚9$ƒ9$„9$…9$†9$‰ÿÜ$”ÿÜ$•ÿÜ$–ÿÜ$—ÿÜ$˜ÿÜ$Ÿÿa$©ÿÜ$ªÿÜ$«ÿÜ$¬ÿÜ$­ÿÜ$´ÿÜ$µÿÜ$¶ÿÜ$·ÿÜ$¸ÿÜ$¿ÿu$Áÿu$Â9$Ä9$Æ9$ÈÿÜ$ÉÿÜ$ÊÿÜ$ËÿÜ$ÌÿÜ$ÍÿÜ$ÎÿÜ$ÏÿÜ$ÑÿÜ$ÓÿÜ$ÕÿÜ$×ÿÜ$ÙÿÜ$ÛÿÜ$ÝÿÜ$ÞÿÜ$àÿÜ$âÿÜ$ÿÜ$ÿÜ$ÿÜ$ÿÜ$ÿÜ$ÿÜ$$ÿa$%ÿÜ$&ÿa$'ÿÜ$6ÿ$7ÿ­$8ÿa$9ÿu$:ÿa$ˆÿÜ$¬ÿÜ$­ÿÜ$®ÿÜ$¯ÿÜ$Üÿa$ÝÿÜ$ðÿÜ$óÿÜ$ôÿa$õÿu$mÿ$nÿ­$oÿ$pÿ­$qÿ$rÿ­$Ûÿa$Üÿu$èþø$éÿ$ê/%&ÿÜ%*ÿÜ%2ÿÜ%6ÿÜ%9ÿÁ%:ÿ·%<ÿ%mÿÁ%}ÿÜ%‰ÿÜ%”ÿÜ%•ÿÜ%–ÿÜ%—ÿÜ%˜ÿÜ%Ÿÿ%ÈÿÜ%ÊÿÜ%ÌÿÜ%ÎÿÜ%ÞÿÜ%àÿÜ%âÿÜ%äÿÜ%ÿÜ%ÿÜ%ÿÜ%ÿÜ%ÿÜ% ÿÜ%"ÿÜ%6ÿ·%8ÿ%:ÿ%¬ÿÜ%®ÿÜ%ÚÿÜ%ðÿÜ%mÿ·%oÿ·%qÿ·%Ûÿ%èÿ%éÿ%êÿ­&<ÿÜ&mÿÜ&}ÿÜ&ŸÿÜ&8ÿÜ&:ÿÜ&ôÿÜ&ÛÿÜ&é&'$ÿÜ'9ÿÜ'<ÿ'mÿÜ'}ÿÜ'‚ÿÜ'ƒÿÜ'„ÿÜ'…ÿÜ'†ÿÜ'Ÿÿ'ÂÿÜ'ÄÿÜ'ÆÿÜ'8ÿ':ÿ'ôÿ'Ûÿ'èÿÓ'éÿÉ'êÿD)þ·)ÿa)$ÿD)6ÿÜ)7ÿÜ)DÿD)Hÿ)Lÿk)Rÿ·)Uÿk)Xÿ)\ÿD)‚ÿD)ƒÿD)„ÿD)…ÿD)†ÿD)¢ÿD)£ÿD)¤ÿD)¥ÿD)¦ÿD)§ÿD)ªÿ)«ÿ)¬ÿ)­ÿ)´ÿ·)µÿ·)¶ÿ·)·ÿ·)¸ÿ·)»ÿ)¼ÿ)½ÿ)¾ÿ)¿ÿD)ÁÿD)ÂÿD)ÃÿD)ÄÿD)ÅÿD)ÆÿD)ÇÿD)Õÿ)×ÿ)Ùÿ)Ûÿ)Ýÿ)ñÿk)õÿk)ÿ·)ÿ·)ÿ·)ÿk)ÿk)ÿk)ÿÜ)ÿÜ) ÿÜ)"ÿÜ)$ÿÜ)&ÿÜ)(ÿÜ)+ÿ)-ÿ)/ÿ)1ÿ)3ÿ)5ÿ)9ÿD)­ÿ·)¯ÿ·)ÚÿÜ)ÜÿÜ)ñÿ·)õÿD)ÜÿD)èÿÓ)êþˆ*7ÿ·*<ÿš*mÿÜ*}ÿÜ*Ÿÿš*&ÿ·*:ÿš*èÿÓ*éÿÓ*êÿÉ+ÿÜ+èÿ·+éÿÁ+êÿ·-ÿ·-$ÿÜ-mÿÜ-}ÿÜ-‚ÿÜ-ƒÿÜ-„ÿÜ-…ÿÜ-†ÿÜ-èÿ·-éÿÁ-êÿ.ÿ).$ÿÜ.&ÿ.2ÿ.7ÿa.8ÿÉ.:ÿ·.<ÿ·.DÿÜ.Hÿš.Rÿš.Xÿš.\ÿk.mÿ}.‚ÿÜ.ƒÿÜ.„ÿÜ.…ÿÜ.†ÿÜ.‰ÿ.”ÿ.•ÿ.–ÿ.—ÿ.˜ÿ.›ÿÉ.œÿÉ.ÿÉ.žÿÉ.Ÿÿ·.¢ÿÜ.£ÿÜ.¤ÿÜ.¥ÿÜ.¦ÿÜ.§ÿÜ.ªÿš.«ÿš.¬ÿš.­ÿš.´ÿš.µÿš.¶ÿš.·ÿš.¸ÿš.»ÿš.¼ÿš.½ÿš.¾ÿš.¿ÿk.Áÿk.Èÿ.Îÿ.Ýÿš.&ÿa.0ÿÉ.1ÿš.:ÿ·.èÿÁ.éÿÁ/ÿÜ/$//2ÿ·/7þæ/8ÿš/9ÿ/:ÿD/<þð/HÿÜ/RÿÜ/XÿÜ/\ÿD/‚//ƒ//„//…//†//”ÿ·/•ÿ·/–ÿ·/—ÿ·/˜ÿ·/›ÿš/œÿš/ÿš/žÿš/Ÿþð/ªÿÜ/«ÿÜ/¬ÿÜ/­ÿÜ/´ÿÜ/µÿÜ/¶ÿÜ/·ÿÜ/¸ÿÜ/»ÿÜ/¼ÿÜ/½ÿÜ/¾ÿÜ/¿ÿD/ÁÿD/ÝÿÜ/&þæ/0ÿš/1ÿÜ/:þð/èþa/éýæ292ÿ­2ÿÜ2$ÿÜ29ÿÜ2;ÿ}2<ÿ2mÿÜ2‚ÿÜ2ƒÿÜ2„ÿÜ2…ÿÜ2†ÿÜ2Ÿÿ2:ÿ2èÿÓ2éÿÜ2êÿD3ÿÓ3þÁ3$ÿ}3<ÿÓ3Dÿ¤3Hÿ·3LÿÓ3QÿÜ3Rÿ·3UÿÜ3VÿÜ3XÿÜ3mÿÜ3‚ÿ}3ƒÿ}3„ÿ}3…ÿ}3†ÿ}3ŸÿÓ3¢ÿ¤3£ÿ¤3¤ÿ¤3¥ÿ¤3¦ÿ¤3§ÿ¤3ªÿ·3«ÿ·3¬ÿ·3­ÿ·3³ÿÜ3´ÿ·3µÿ·3¶ÿ·3·ÿ·3¸ÿ·3»ÿÜ3¼ÿÜ3½ÿÜ3¾ÿÜ3Ýÿ·3 ÿÜ3ÿÜ3ÿÜ3!ÿÜ3#ÿÜ31ÿÜ3:ÿÓ3è&3é&3êþ·494èÿÓ4éÿÜ4êÿ}5ÿ­5ÿ·5ÿÁ5$ÿ­5&ÿš57ÿk59ÿ5:ÿ­5<ÿ}5DÿÓ5Hÿ¤5Rÿ¤5Xÿ¤5\ÿ5mÿ5}ÿÜ5‚ÿ­5ƒÿ­5„ÿ­5…ÿ­5†ÿ­5‰ÿš5Ÿÿ}5¢ÿÓ5£ÿÓ5¤ÿÓ5¥ÿÓ5¦ÿÓ5§ÿÓ5ªÿ¤5«ÿ¤5¬ÿ¤5­ÿ¤5´ÿ¤5µÿ¤5¶ÿ¤5·ÿ¤5¸ÿ¤5»ÿ¤5¼ÿ¤5½ÿ¤5¾ÿ¤5¿ÿ5Áÿ5Èÿš5Îÿš5Ýÿ¤5&ÿk51ÿ¤5:ÿ}5èÿk5éÿ}5êÿÜ6$&6‚&6ƒ&6„&6…&6†&7ÿD7ÿ 7ÿ7$ÿa7&ÿˆ77ÿÜ7Dþ­7Fþ¤7Hþ¤7LÿÁ7Rþ¤7UþÓ7Vþ­7XþÉ7Zþ­7\þÁ7mÿD7}ÿ7‚ÿa7ƒÿa7„ÿa7…ÿa7†ÿa7‰ÿˆ7¢þ­7£þ­7¤þ­7¥þ­7¦þ­7§þ­7©þ¤7ªþ¤7«þ¤7¬þ¤7­þ¤7´þ¤7µþ¤7¶þ¤7·þ¤7¸þ¤7»þÉ7¼þÉ7½þÉ7¾þÉ7¿þÁ7ÁþÁ7Èÿˆ7Éþ¤7Îÿˆ7Ïþ¤7Ýþ¤7þÓ7þÓ7!þ­7#þ­7&ÿÜ71þÉ7éÿÓ7êþø8=ÿÜ8?ÿÜ9ÿˆ9þø9ÿY9$ÿ}92ÿÜ9Dÿa9Hÿa9LÿÓ9Rÿa9Xÿu9\ÿÉ9mÿN9}ÿ9‚ÿ}9ƒÿ}9„ÿ}9…ÿ}9†ÿ}9”ÿÜ9•ÿÜ9–ÿÜ9—ÿÜ9˜ÿÜ9¢ÿa9£ÿa9¤ÿa9¥ÿa9¦ÿa9§ÿa9ªÿa9«ÿa9¬ÿa9­ÿa9´ÿa9µÿa9¶ÿa9·ÿa9¸ÿa9»ÿu9¼ÿu9½ÿu9¾ÿu9¿ÿÉ9ÁÿÉ9Ýÿa91ÿu9êþæ:ÿ­:ÿ:ÿˆ:$ÿ:Dÿ}:Hÿˆ:LÿÓ:Rÿˆ:Uÿ¤:Xÿ·:\ÿÜ:mÿ:}ÿÜ:‚ÿ:ƒÿ:„ÿ:…ÿ:†ÿ:¢ÿ}:£ÿ}:¤ÿ}:¥ÿ}:¦ÿ}:§ÿ}:ªÿˆ:«ÿˆ:¬ÿˆ:­ÿˆ:´ÿˆ:µÿˆ:¶ÿˆ:·ÿˆ:¸ÿˆ:»ÿ·:¼ÿ·:½ÿ·:¾ÿ·:¿ÿÜ:ÁÿÜ:Ýÿˆ:ÿ¤:ÿ¤:1ÿ·:èÿÜ:êþø;ÿš;&ÿk;2ÿ};7ÿÜ;Hÿ¤;mÿ;‰ÿk;”ÿ};•ÿ};–ÿ};—ÿ};˜ÿ};ªÿ¤;«ÿ¤;¬ÿ¤;­ÿ¤;Èÿk;Îÿk;Ýÿ¤;&ÿÜ;èÿa;éÿ­;êÿÓ<ÿ <þa<þð<$ÿa<&ÿ<2ÿ<Dþæ<Hþð<Lÿ·<Rþð<Xÿ<mÿ<}ÿk<‚ÿa<ƒÿa<„ÿa<…ÿa<†ÿa<‰ÿ<”ÿ<•ÿ<–ÿ<—ÿ<˜ÿ<¢þæ<£þæ<¤þæ<¥þæ<¦þæ<§þæ<ªþð<«þð<¬þð<­þð<´þð<µþð<¶þð<·þð<¸þð<»ÿ<¼ÿ<½ÿ<¾ÿ<Èÿ<Îÿ<Ýþð<1ÿ<èÿ<éÿÜ<êþø=ÿÜ=èÿÜ=éÿÜ=êÿÜH[ÿÜIÿIÿkIÿ·IWÿÜIZÿÜI\ÿÜImÿ·I}ÿÜI¿ÿÜIÁÿÜI'ÿÜIèAIêÿNDÿÜNHÿ·NRÿ·NXÿÁN\ÿ·N¢ÿÜN£ÿÜN¤ÿÜN¥ÿÜN¦ÿÜN§ÿÜNªÿ·N«ÿ·N¬ÿ·N­ÿ·N´ÿ·Nµÿ·N¶ÿ·N·ÿ·N¸ÿ·N»ÿÁN¼ÿÁN½ÿÁN¾ÿÁN¿ÿ·NÁÿ·NÝÿ·N1ÿÁQèÿkQéÿQêÿ¤R&RÿÜR[ÿÁRèÿkRéÿ·Rêÿ}Uÿ}UÿDUÿÜUFÿÓUGÿÜUHÿÓUJÿÜUKÿÜUPÿÜUQÿÜURÿÓUTÿÜUUÿÜU[ÿÉUmÿ·U©ÿÓUªÿÓU«ÿÓU¬ÿÓU­ÿÓU³ÿÜU´ÿÓUµÿÓU¶ÿÓU·ÿÓU¸ÿÓUÉÿÓUÏÿÓUÑHUÝÿÓUáÿÜU ÿÜUÿÜUÿÜUéVUêþÉYÿÉYÿaYÿYmÿÜY}ÿÜYéÿÜYêþðZÿDZÿZmÿÜZ}ÿÜZêÿ)[FÿÜ[HÿÁ[RÿÁ[©ÿÜ[ªÿÁ[«ÿÁ[¬ÿÁ[­ÿÁ[´ÿÁ[µÿÁ[¶ÿÁ[·ÿÁ[¸ÿÁ[ÉÿÜ[ÏÿÜ[ÝÿÁ\ÿÜ\þÜ\ÿk\mÿÜ\}ÿÜ\êþÓm%ÿÜm&ÿÜm'ÿÜm*ÿÜm-ÿÜm7ÿm9ÿm:ÿÜm<ÿkmYÿÜmZÿÜm\ÿÜmˆ—m‰ÿÜmŸÿkm¿ÿÜmÁÿÜmÈÿÜmÎÿÜmÐÿÜmàÿÜm&ÿm:ÿk}$ÿ·}%ÿ·}&ÿÜ}'ÿÜ}-ÿÜ}2ÿÜ}7ÿD}9ÿN}:ÿ};ÿ}<ÿ}YÿÜ}ZÿÜ}\ÿÜ}‚ÿ·}ƒÿ·}„ÿ·}…ÿ·}†ÿ·}‰ÿÜ}”ÿÜ}•ÿÜ}–ÿÜ}—ÿÜ}˜ÿÜ}Ÿÿ}¿ÿÜ}ÁÿÜ}ÈÿÜ}ÎÿÜ}ÐÿÜ}&ÿD}:ÿ‚ÿÓ‚ÿÜ‚ÿÜ‚$9‚&ÿÜ‚*ÿÜ‚2ÿÜ‚4ÿÜ‚7ÿa‚9ÿ}‚:ÿ‚<ÿa‚FÿÜ‚GÿÜ‚HÿÜ‚Iÿ·‚RÿÜ‚TÿÜ‚WÿÜ‚Yÿˆ‚Zÿ­‚\ÿu‚mÿ·‚‚9‚ƒ9‚„9‚…9‚†9‚‰ÿÜ‚”ÿÜ‚•ÿÜ‚–ÿÜ‚—ÿÜ‚˜ÿÜ‚Ÿÿa‚©ÿÜ‚ªÿÜ‚«ÿÜ‚¬ÿÜ‚­ÿÜ‚´ÿÜ‚µÿÜ‚¶ÿÜ‚·ÿÜ‚¸ÿÜ‚¿ÿu‚Áÿu‚Â9‚Ä9‚Æ9‚ÈÿÜ‚ÉÿÜ‚ÊÿÜ‚ÌÿÜ‚ÍÿÜ‚ÎÿÜ‚ÏÿÜ‚ÑÿÜ‚ÕÿÜ‚×ÿÜ‚ÙÿÜ‚ÛÿÜ‚ÝÿÜ‚ÞÿÜ‚àÿÜ‚âÿÜ‚ÿÜ‚ÿÜ‚ÿÜ‚ÿÜ‚ÿÜ‚ÿÜ‚$ÿa‚%ÿÜ‚&ÿa‚'ÿÜ‚6ÿ‚7ÿ­‚8ÿa‚9ÿu‚:ÿa‚ðÿÜ‚ñÿÜ‚mÿ‚pÿ­‚qÿ‚rÿ­‚Ûÿa‚Üÿu‚èþø‚éÿ‚ê/ƒÿÓƒÿ܃ÿ܃$9ƒ&ÿ܃*ÿ܃2ÿ܃4ÿ܃7ÿaƒ9ÿ}ƒ:ÿƒ<ÿaƒFÿ܃Gÿ܃Hÿ܃Iÿ·ƒRÿ܃Tÿ܃Wÿ܃YÿˆƒZÿ­ƒ\ÿuƒmÿ·ƒ‚9ƒƒ9ƒ„9ƒ…9ƒ†9ƒ‰ÿ܃”ÿ܃•ÿ܃–ÿ܃—ÿ܃˜ÿ܃Ÿÿaƒ©ÿ܃ªÿ܃«ÿ܃¬ÿ܃­ÿ܃´ÿ܃µÿ܃¶ÿ܃·ÿ܃¸ÿ܃¿ÿuƒÁÿuƒÂ9ƒÄ9ƒÆ9ƒÈÿ܃Éÿ܃Êÿ܃Ìÿ܃Íÿ܃Îÿ܃Ïÿ܃Ñÿ܃Õÿ܃×ÿ܃Ùÿ܃Ûÿ܃Ýÿ܃Þÿ܃àÿ܃âÿ܃ÿ܃ÿ܃ÿ܃ÿ܃ÿ܃ÿ܃$ÿaƒ%ÿ܃&ÿaƒ'ÿ܃6ÿƒ7ÿ­ƒ8ÿaƒ9ÿuƒ:ÿaƒðÿ܃ñÿ܃mÿƒoÿƒpÿ­ƒqÿƒrÿ­ƒÛÿaƒÜÿuƒèþøƒéÿƒê/„ÿÓ„ÿÜ„ÿÜ„$9„&ÿÜ„*ÿÜ„2ÿÜ„4ÿÜ„7ÿa„9ÿ}„:ÿ„<ÿa„FÿÜ„GÿÜ„HÿÜ„Iÿ·„RÿÜ„TÿÜ„WÿÜ„Yÿˆ„Zÿ­„\ÿu„mÿ·„‚9„ƒ9„„9„…9„†9„‰ÿÜ„”ÿÜ„•ÿÜ„–ÿÜ„—ÿÜ„˜ÿÜ„Ÿÿa„©ÿÜ„ªÿÜ„«ÿÜ„¬ÿÜ„­ÿÜ„´ÿÜ„µÿÜ„¶ÿÜ„·ÿÜ„¸ÿÜ„¿ÿu„Áÿu„Â9„Ä9„Æ9„ÈÿÜ„ÉÿÜ„ÊÿÜ„ÌÿÜ„ÍÿÜ„ÎÿÜ„ÏÿÜ„ÑÿÜ„ÕÿÜ„×ÿÜ„ÙÿÜ„ÛÿÜ„ÝÿÜ„ÞÿÜ„àÿÜ„âÿÜ„ÿÜ„ÿÜ„ÿÜ„ÿÜ„ÿÜ„ÿÜ„$ÿa„%ÿÜ„&ÿa„'ÿÜ„6ÿ„7ÿ­„8ÿa„9ÿu„:ÿa„ðÿÜ„ñÿÜ„mÿ„oÿ„pÿ­„qÿ„rÿ­„Ûÿa„Üÿu„èþø„éÿ„ê/…ÿÓ…ÿÜ…ÿÜ…$9…&ÿÜ…*ÿÜ…2ÿÜ…4ÿÜ…7ÿa…9ÿ}…:ÿ…<ÿa…FÿÜ…GÿÜ…HÿÜ…Iÿ·…RÿÜ…TÿÜ…WÿÜ…Yÿˆ…Zÿ­…\ÿu…mÿ·…‚9…ƒ9…„9……9…†9…‰ÿÜ…”ÿÜ…•ÿÜ…–ÿÜ…—ÿÜ…˜ÿÜ…Ÿÿa…©ÿÜ…ªÿÜ…«ÿÜ…¬ÿÜ…­ÿÜ…´ÿÜ…µÿÜ…¶ÿÜ…·ÿÜ…¸ÿÜ…¿ÿu…Áÿu…Â9…Ä9…Æ9…ÈÿÜ…ÉÿÜ…ÊÿÜ…ÌÿÜ…ÍÿÜ…ÎÿÜ…ÏÿÜ…ÑÿÜ…ÕÿÜ…×ÿÜ…ÙÿÜ…ÛÿÜ…ÝÿÜ…ÞÿÜ…àÿÜ…âÿÜ…ÿÜ…ÿÜ…ÿÜ…ÿÜ…ÿÜ…ÿÜ…$ÿa…%ÿÜ…&ÿa…'ÿÜ…6ÿ…7ÿ­…8ÿa…9ÿu…:ÿa…ðÿÜ…mÿ…oÿ…pÿ­…qÿ…rÿ­…Ûÿa…Üÿu…èþø…éÿ…ê/†ÿÓ†ÿ܆ÿ܆$9†&ÿ܆*ÿ܆2ÿ܆4ÿ܆7ÿa†9ÿ}†:ÿ†<ÿa†Fÿ܆Gÿ܆Hÿ܆Iÿ·†Rÿ܆Tÿ܆Wÿ܆Yÿˆ†Zÿ­†\ÿu†mÿ·†‚9†ƒ9†„9†…9††9†‰ÿ܆”ÿ܆•ÿ܆–ÿ܆—ÿ܆˜ÿ܆Ÿÿa†©ÿ܆ªÿ܆«ÿ܆¬ÿ܆­ÿ܆´ÿ܆µÿ܆¶ÿ܆·ÿ܆¸ÿ܆¿ÿu†Áÿu†Â9†Ä9†Æ9†Èÿ܆Éÿ܆Êÿ܆Ìÿ܆Íÿ܆Îÿ܆Ïÿ܆Ñÿ܆Õÿ܆×ÿ܆Ùÿ܆Ûÿ܆Ýÿ܆Þÿ܆àÿ܆âÿ܆ÿ܆ÿ܆ÿ܆ÿ܆ÿ܆ÿ܆$ÿa†%ÿ܆&ÿa†'ÿ܆6ÿ†7ÿ­†8ÿa†9ÿu†:ÿa†ðÿ܆ñÿ܆mÿ†oÿ†pÿ­†qÿ†rÿ­†Ûÿa†Üÿu†èþø†éÿ†ê/ˆèÿ­ˆéÿ¤ˆêÿ‰<ÿ܉mÿ܉}ÿ܉Ÿÿ܉:ÿ܉é&’$ÿÜ’9ÿÜ’<ÿ’mÿÜ’}ÿÜ’‚ÿÜ’ƒÿÜ’„ÿÜ’…ÿÜ’†ÿÜ’Ÿÿ’ÂÿÜ’ÄÿÜ’ÆÿÜ’8ÿ’:ÿ’ôÿ’Ûÿ’èÿÓ’éÿÉ’êÿD”9”ÿ­”ÿÜ”$ÿÜ”9ÿÜ”;ÿ}”<ÿ”mÿÜ”‚ÿÜ”ƒÿÜ”„ÿÜ”…ÿÜ”†ÿÜ”Ÿÿ”:ÿ”èÿÓ”éÿÜ”êÿD•9•ÿ­•ÿÜ•$ÿÜ•9ÿÜ•;ÿ}•<ÿ•mÿÜ•‚ÿÜ•ƒÿÜ•„ÿÜ•…ÿÜ•†ÿÜ•Ÿÿ•:ÿ•èÿÓ•éÿÜ•êÿD–9–ÿ­–ÿÜ–$ÿÜ–9ÿÜ–;ÿ}–<ÿ–mÿÜ–‚ÿÜ–ƒÿÜ–„ÿÜ–…ÿÜ–†ÿÜ–Ÿÿ–:ÿ–èÿÓ–éÿÜ–êÿD—9—ÿ­—ÿÜ—$ÿÜ—9ÿÜ—;ÿ}—<ÿ—mÿÜ—‚ÿÜ—ƒÿÜ—„ÿÜ—…ÿÜ—†ÿÜ—Ÿÿ—:ÿ—èÿÓ—éÿÜ—êÿD˜9˜ÿ­˜ÿܘ$ÿܘ9ÿܘ;ÿ}˜<ÿ˜mÿܘ‚ÿܘƒÿܘ„ÿܘ…ÿܘ†ÿܘŸÿ˜:ÿ˜èÿÓ˜éÿܘêÿD›=ÿÜ›?ÿÜœ=ÿÜœ?ÿÜ=ÿÜ?ÿÜž=ÿÜž?ÿÜŸÿ ŸþaŸþðŸ$ÿaŸ&ÿŸ2ÿŸDþæŸHþðŸLÿ·ŸRþðŸXÿŸmÿŸ}ÿkŸ‚ÿaŸƒÿaŸ„ÿaŸ…ÿaŸ†ÿaŸ‰ÿŸ”ÿŸ•ÿŸ–ÿŸ—ÿŸ˜ÿŸ¢þ柣þ柤þ查þ柦þ柧þ柪þðŸ«þðŸ¬þðŸ­þðŸ´þðŸµþðŸ¶þðŸ·þðŸ¸þðŸ»ÿŸ¼ÿŸ½ÿŸ¾ÿŸÈÿŸÎÿŸÝþðŸ1ÿŸèÿŸéÿÜŸêþø ÿk ÿ· èÿÜ êÿD¡&¡èÿ¡éÿ¡êÿ­ª[ÿÜ«[ÿܬ[ÿÜ­[ÿܲèÿ¤²éÿ²êÿ·³èÿk³éÿ³êÿ¤´&´ÿÜ´[ÿÁ´èÿk´éÿ·´êÿ}µ&µÿܵ[ÿÁµèÿkµéÿ·µêÿ}¶&¶ÿܶ[ÿÁ¶èÿk¶éÿ·¶êÿ}·&·ÿÜ·[ÿÁ·èÿk·éÿ··êÿ}¸&¸ÿܸ[ÿÁ¸èÿk¸éÿ·¸êÿ}¿ÿÜ¿þÜ¿ÿk¿mÿÜ¿}ÿÜ¿êþÓÁÿÜÁþÜÁÿkÁmÿÜÁ}ÿÜÁêþÓÂÿÓÂÿÜÂÿÜÂ$9Â&ÿÜÂ*ÿÜÂ2ÿÜÂ4ÿÜÂ7ÿaÂ9ÿ}Â:ÿÂ<ÿaÂFÿÜÂGÿÜÂHÿÜÂIÿ·ÂRÿÜÂTÿÜÂWÿÜÂYÿˆÂZÿ­Â\ÿuÂmÿ·Â‚9ƒ9„9Â…9†9”ÿÜ•ÿÜ–ÿÜ—ÿܘÿÜŸÿa©ÿܪÿÜ«ÿܬÿÜ­ÿÜ´ÿܵÿܶÿÜ·ÿܸÿÜ¿ÿuÂÁÿuÂÂ9ÂÄ9ÂÆ9ÂÈÿÜÂÊÿÜÂÌÿÜÂÍÿÜÂÎÿÜÂÑÿÜÂÓÿÜÂÕÿÜÂ×ÿÜÂÙÿÜÂÛÿÜÂÝÿÜÂÞÿÜÂâÿÜÂÿÜÂÿÜÂÿÜÂÿÜÂÿÜÂÿÜÂ$ÿaÂ%ÿÜÂ&ÿaÂ'ÿÜÂ6ÿÂ7ÿ­Â8ÿaÂ9ÿuÂ:ÿaÂðÿÜÂñÿÜÂmÿÂoÿÂpÿ­ÂqÿÂrÿ­ÂÛÿaÂÜÿuÂèþøÂéÿÂê/ÄÿÓÄÿÜÄÿÜÄ$9Ä&ÿÜÄ*ÿÜÄ2ÿÜÄ4ÿÜÄ7ÿaÄ9ÿ}Ä:ÿÄ<ÿaÄFÿÜÄGÿÜÄHÿÜÄIÿ·ÄRÿÜÄTÿÜÄWÿÜÄYÿˆÄZÿ­Ä\ÿuÄmÿ·Ä‚9ă9Ä„9Ä…9Ć9Ä”ÿÜÄ•ÿÜÄ–ÿÜÄ—ÿÜĘÿÜÄŸÿaÄ©ÿÜĪÿÜÄ«ÿÜĬÿÜÄ­ÿÜÄ´ÿÜĵÿÜĶÿÜÄ·ÿÜĸÿÜÄ¿ÿuÄÁÿuÄÂ9ÄÄ9ÄÆ9ÄÈÿÜÄÊÿÜÄÌÿÜÄÍÿÜÄÎÿÜÄÑÿÜÄÓÿÜÄÕÿÜÄ×ÿÜÄÙÿÜÄÛÿÜÄÝÿÜÄÞÿÜÄâÿÜÄÿÜÄÿÜÄÿÜÄÿÜÄÿÜÄÿÜÄ$ÿaÄ%ÿÜÄ&ÿaÄ'ÿÜÄ6ÿÄ7ÿ­Ä8ÿaÄ9ÿuÄ:ÿaÄðÿÜÄñÿÜÄmÿÄoÿÄpÿ­ÄqÿÄrÿ­ÄÛÿaÄÜÿuÄèþøÄéÿÄê/ÆÿÓÆÿÜÆÿÜÆ$9Æ&ÿÜÆ*ÿÜÆ2ÿÜÆ4ÿÜÆ7ÿaÆ9ÿ}Æ:ÿÆ<ÿaÆFÿÜÆGÿÜÆHÿÜÆIÿ·ÆRÿÜÆTÿÜÆWÿÜÆYÿˆÆZÿ­Æmÿ·Æ‚9ƃ9Æ„9Æ…9Ɔ9Æ”ÿÜÆ•ÿÜÆ–ÿÜÆ—ÿÜÆ˜ÿÜÆŸÿaÆ©ÿÜÆªÿÜÆ«ÿÜÆ¬ÿÜÆ­ÿÜÆ´ÿÜÆµÿÜÆ¶ÿÜÆ·ÿÜÆ¸ÿÜÆÂ9ÆÄ9ÆÆ9ÆÈÿÜÆÊÿÜÆÌÿÜÆÍÿÜÆÎÿÜÆÑÿÜÆÓÿÜÆÕÿÜÆ×ÿÜÆÙÿÜÆÛÿÜÆÝÿÜÆÞÿÜÆâÿÜÆÿÜÆÿÜÆÿÜÆÿÜÆÿÜÆ$ÿaÆ%ÿÜÆ&ÿaÆ'ÿÜÆ6ÿÆ7ÿ­Æ8ÿaÆ:ÿaÆðÿÜÆñÿÜÆmÿÆoÿÆpÿ­ÆqÿÆrÿ­ÆÛÿaÆèþøÆéÿÆê/È<ÿÜÈmÿÜÈ}ÿÜÈŸÿÜÈ:ÿÜÈé&Î<ÿÜÎmÿÜÎ}ÿÜΟÿÜÎ:ÿÜÎé&Ð$ÿÜÐ9ÿÜÐ<ÿÐmÿÜÐ}ÿÜЂÿÜЃÿÜЄÿÜÐ…ÿÜІÿÜПÿÐÂÿÜÐÄÿÜÐÆÿÜÐ8ÿÐ:ÿÐôÿÐÛÿÐèÿÓÐéÿÉÐêÿDÒ$ÿÜÒ9ÿÜÒ<ÿÒmÿÜÒ}ÿÜÒ‚ÿÜÒƒÿÜÒ„ÿÜÒ…ÿÜÒ†ÿÜÒŸÿÒ:ÿÒèÿÓÒéÿÉÒêÿDÝ[ÿÜà7ÿ·à<ÿšàmÿÜà}ÿÜàŸÿšà&ÿ·à:ÿšàèÿÓàéÿÓàêÿÉûÿÜû$/û2ÿ·û7þæû8ÿšû9ÿû:ÿDû<þðûHÿÜûRÿÜûXÿÜû\ÿDû‚/ûƒ/û„/û…/û†/û”ÿ·û•ÿ·û–ÿ·û—ÿ·û˜ÿ·û›ÿšûœÿšûÿšûžÿšûŸþðûªÿÜû«ÿÜû¬ÿÜû­ÿÜû´ÿÜûµÿÜû¶ÿÜû·ÿÜû¸ÿÜû»ÿÜû¼ÿÜû½ÿÜû¾ÿÜû¿ÿDûÁÿDûÝÿÜû&þæû0ÿšû1ÿÜû:þðûèþaûéýæÿÿÜÿ$/ÿ2ÿ·ÿ7þæÿ8ÿšÿ9ÿÿ:ÿDÿ<þðÿHÿÜÿRÿÜÿXÿÜÿ\ÿDÿ‚/ÿƒ/ÿ„/ÿ…/ÿ†/ÿ”ÿ·ÿ•ÿ·ÿ–ÿ·ÿ—ÿ·ÿ˜ÿ·ÿ›ÿšÿœÿšÿÿšÿžÿšÿŸþðÿªÿÜÿ«ÿÜÿ¬ÿÜÿ­ÿÜÿ´ÿÜÿµÿÜÿ¶ÿÜÿ·ÿÜÿ¸ÿÜÿ»ÿÜÿ¼ÿÜÿ½ÿÜÿ¾ÿÜÿ¿ÿDÿÁÿDÿÝÿÜÿ&þæÿ0ÿšÿ1ÿÜÿ:þðÿèþaÿéýæOÿ? èÿk éÿ êÿ¤ÿ­ÿ·ÿÁ$ÿ­&ÿš7ÿk9ÿ:ÿ­<ÿ}DÿÓHÿ¤Rÿ¤Xÿ¤\ÿmÿ}ÿÜ‚ÿ­ƒÿ­„ÿ­…ÿ­†ÿ­‰ÿšŸÿ}¢ÿÓ£ÿÓ¤ÿÓ¥ÿÓ¦ÿÓ§ÿÓªÿ¤«ÿ¤¬ÿ¤­ÿ¤´ÿ¤µÿ¤¶ÿ¤·ÿ¤¸ÿ¤»ÿ¤¼ÿ¤½ÿ¤¾ÿ¤¿ÿÁÿÈÿšÎÿšÝÿ¤&ÿk1ÿ¤:ÿ}èÿkéÿ}êÿÜÿ}ÿDÿÜFÿÓGÿÜHÿÓJÿÜKÿÜPÿÜQÿÜRÿÓTÿÜUÿÜ[ÿÉmÿ·©ÿÓªÿÓ«ÿÓ¬ÿÓ­ÿÓ³ÿÜ´ÿÓµÿÓ¶ÿÓ·ÿÓ¸ÿÓÉÿÓÏÿÓÑHÝÿÓáÿÜ ÿÜÿÜÿÜéVêþÉÿ­ÿ·ÿÁ$ÿ­&ÿš7ÿk9ÿ:ÿ­<ÿ}DÿÓHÿ¤Rÿ¤Xÿ¤\ÿmÿ}ÿÜ‚ÿ­ƒÿ­„ÿ­…ÿ­†ÿ­‰ÿšŸÿ}¢ÿÓ£ÿÓ¤ÿÓ¥ÿÓ¦ÿÓ§ÿÓªÿ¤«ÿ¤¬ÿ¤­ÿ¤´ÿ¤µÿ¤¶ÿ¤·ÿ¤¸ÿ¤»ÿ¤¼ÿ¤½ÿ¤¾ÿ¤¿ÿÁÿÈÿšÎÿšÝÿ¤&ÿk1ÿ¤:ÿ}èÿkéÿ}êÿÜÿ}ÿDÿÜFÿÓGÿÜHÿÓJÿÜKÿÜPÿÜQÿÜRÿÓTÿÜUÿÜ[ÿÉmÿ·©ÿÓªÿÓ«ÿÓ¬ÿÓ­ÿÓ³ÿÜ´ÿÓµÿÓ¶ÿÓ·ÿÓ¸ÿÓÉÿÓÏÿÓÑÿÜÝÿÓáÿÜ ÿÜÿÜÿÜéVêþÉ $& ‚& ƒ& „& …& †&"$&"‚&"ƒ&"„&"…&"†&&ÿD&ÿ &ÿ&$ÿa&&ÿˆ&7ÿÜ&Dþ­&Fþ¤&Hþ¤&LÿÁ&Rþ¤&UþÓ&Vþ­&XþÉ&Zþ­&\þÁ&mÿD&}ÿ&‚ÿa&ƒÿa&„ÿa&…ÿa&†ÿa&‰ÿˆ&¢þ­&£þ­&¤þ­&¥þ­&¦þ­&§þ­&©þ¤&ªþ¤&«þ¤&¬þ¤&­þ¤&´þ¤&µþ¤&¶þ¤&·þ¤&¸þ¤&»þÉ&¼þÉ&½þÉ&¾þÉ&¿þÁ&ÁþÁ&Èÿˆ&Éþ¤&Îÿˆ&Ïþ¤&Ýþ¤&þÓ&þÓ&!þ­&#þ­&&ÿÜ&1þÉ&éÿÓ&êþø0=ÿÜ0?ÿÜ:ÿ :þa:þð:$ÿa:&ÿ:2ÿ:Dþæ:Hþð:Lÿ·:Rþð:Xÿ:mÿ:}ÿk:‚ÿa:ƒÿa:„ÿa:…ÿa:†ÿa:‰ÿ:”ÿ:•ÿ:–ÿ:—ÿ:˜ÿ:¢þæ:£þæ:¤þæ:¥þæ:¦þæ:§þæ:ªþð:«þð:¬þð:­þð:´þð:µþð:¶þð:·þð:¸þð:»ÿ:¼ÿ:½ÿ:¾ÿ:Èÿ:Îÿ:Ýþð:1ÿ:èÿ:éÿÜ:êþø?ÿÜ?èÿÜ?éÿÜ?êÿÜÜ$ÿÓÜ%ÿ·Ü*KÜ-rÜ29Ü4KÜ7ÿDÜ9ÿˆÜ:ÿ­Ü;ÿšÜ<ÿ ÜR&ÜYÿÉÜ\ÿÜÜ‚ÿÓ܃ÿÓÜ„ÿÓÜ…ÿÓ܆ÿÓÜ”9Ü•9Ü–9Ü—9ܘ9ÜŸÿ Ü´&ܵ&ܶ&Ü·&ܸ&Ü¿ÿÜÜÁÿÜÜàKÜ&ÿDÜ:ÿ è$þøè%ÿÁè&ÿ·è'ÿÁè)ÿÁè*ÿ·è+ÿÁè-ÿÁè.ÿÁè/ÿÁè2ÿ·è3ÿÁè4ÿ·è5ÿÁè;ÿˆè=ÿÜèIÿ·èQÿèRÿkèUÿèYÿ·èZÿ·è\ÿ·è‚þøèƒþøè„þøè…þøè†þøèˆþ}è‰ÿ·è”ÿ·è•ÿ·è–ÿ·è—ÿ·è˜ÿ·è ÿÁè¡ÿÁè²ÿ·è³ÿè´ÿkèµÿkè¶ÿkè·ÿkè¸ÿkè¿ÿ·èÁÿ·èÈÿ·èÎÿ·èÐÿÁèàÿ·èûÿÁèÿÿÁè ÿèÿÁèÿèÿÁèÿè?ÿÜê$&ê%ÿ·ê&ÿê'ÿ·ê)ÿ·ê*ÿ·ê+ÿ·ê-/ê.ÿ·ê/ÿ·ê2ÿê3ÿ·ê4ÿê5ÿ·ê7þæê9þˆê:ÿê;ÿ·ê<þˆêIÿÜêQÿ·êRÿ·êUÿ·êYÿêZÿ<ê\ÿê‚&êƒ&ê„&ê…&ê†&êˆ&ê‰ÿê”ÿê•ÿê–ÿê—ÿê˜ÿêŸþˆê ÿ·ê¡ÿ·ê²ÿ·ê³ÿ·ê´ÿ·êµÿ·ê¶ÿ·ê·ÿ·ê¸ÿ·ê¿ÿêÁÿêÈÿêÎÿêÐÿ·êàÿ·êûÿ·êÿÿ·ê ÿ·êÿ·êÿ·êÿ·êÿ·ê&þæê:þˆDDDD¨ìDlÔ(˜ðŒà  D l ¸ < ¬ ¨ L äpDX¨ dÜ´4(ØpðP¤L¨ð`ˆÌÈpü|H \!T!Ä"H#($ä%ˆ&L' 'l'¸( (P(|(Ì)ø*+(+À,”-,-ô.l.¼/80(0d1(1 2D2ä3„3ô5T5Ð6H7l9;<à=¬>ˆ>¸?¤@(@(@¸A„B<CTDxDÀFFÀGäHÀIŒIÄIðK<KˆLLpMMÌNNÐO,OXO¸PP˜QhQˆQ¨QÈRÀRØRðSSLS|T¼U”U¬UÄUÜVV$V<VTVxVœWhW˜W°WÈWôX(XXY ZXZpZˆZ¸Zð[[\¸\Ü]] ]L]„]Ä_€_˜_°_È_ì``(`@`d`ˆb8bPbhb€b bÌbøcTdÈdàdøeeHe`ff0f\f„f°fÐfèggg0gTglg„gœgÀgØgðhh(hähüi iDihi€i˜i°iÈiìjj<j`jxjj´jÌjäjük,kpkølŒl°lÔlømm@mdm|m”mÄnn$nHnlnn¨nÀo°oÈppp<pTpxppÄq@qÐqôrr0rHrxr¤r¼sLsètt4t`t€t˜t°uPvxvv¨vÀvØvüw$w<wTw|w w¸wÐwøxx4xLxxxœy y¸yäzz8z\zˆz¬zÐzô{ {${<{T{x{œ{À{à|||4|L|d|||¤|ü}È~~ Tà€ˆ ‚ ‚0‚ă@ƒ´„D„ …P††ˆ‡@ˆ‰‰àŠ<ЬŠüŒŒdŒ¬$ôŽޤ޼ŽÔPÈ`‘$‘¨’4“|“Œ“ø”X”è•„––(–@–ì—L—”—ì˜4˜|˜ô™l™àšLšÀ›@›¸œ,œ€œÀœØXh€˜°Èàøžž(ž@ž`ž€ž¨žÐžèŸŸ(ŸLŸdŸ|Ÿ”Ÿ¬ŸÄŸÜŸô    4 L d | ” ¬¡8¡ä¢¢(¢@¢„¢œ¢´¢Ì¢ä¢ü££<£T£l£„£ £¸¤¤t¤Œ¤¤¤¼¤Ô¤ì¥¥¥4¥L¥d¥|¥”¥¬¥Ä¥Ü¥ô¦ ¦$¦<¦T¦l¦„¦œ¦´¦Ì¦ä¦ü§§,§D§\§t§Œ§¤§¼§Ô¨l©© ©d©´ªX« «°«ü¬H¬`¬x¬¬¨¬À¬Ø¬ð­­ ­8­P­h­€­˜­ì®p®Ø¯<°°Ä±4±Ì²\²²à³˜³ð´L´ØµDµpµØ¶„¶Ä· ··ì¹(¹ÀºX»»¬¼Œ½L½ü¾à¿„À¤À´ÀÄÁà¬Ã4ÄÄÐÅlÆ`ÇTÇÐÈhÉɈɘÉìÊ˜Ë ËxÌ ÍpÎDÏ4ÏÜÐpÑѬÒXÓÓÓ€ÓèÔtÔèÕtÕÐÖ×$×ÈØÔÙHÙôÚDÚ¨ÛÛœÜ@ÜøÝÞ àHàÔá<â,ãLä`äì倿æ¬ç ç¨ç¸èˆéHéXéèê ê\ëëÐìŒííäî ïhïôðÄñXñüò8òœó ópóðôdôôõTõ´öödöÐ÷÷L÷\÷l÷|÷Œ÷°÷èø$ø€øàùù0ùXù€ùÜú8úhúxú”ú´úäúøûû4û\ûxûŒû ûÄûèüü0ü¼üìýXý¸þxþäÿÿPÿ¤ÿÌdœü0|¼<Ph¤$8L`tˆœ°Ä8L`t¬Øô0X|˜¬Àä(œÔøHd”ÄØì$8LhŒÔèü  $ 8 L ` t Ð ì  ( H \ p œ ä  x ” ¨ ¼ Ð ä ø  0 X €     ¨ àH`t´ÈÜðdx Ð4DT¤Ôìü4Ph„œ´ÄÔ xˆ˜¨XhxÜìü\l|Œ(¨¸Lü D\tŒ¤¼¼< ð”Ș,¼ x ˆ!!˜"D"Ü#<#È$%d%ø&”&¬&Ä&Ü&ô' '¼(D(¬(È(à)¨**´+(+˜, ,|,Œ--`-Œ..d/$/¨00p0ì1Ô2L2¼3p4$4¸5P5Œ5Ä6T6Ô6ä6ô7l7Ü8H8X8h8x8´8ð9p9€9˜9°9È9à:<:T:ð;;;4;D;°<<\8>H??È@t@Œ@œ@üA AA,AtA„A”A¤B(BÜBìCDC CüDhDèEEtFFÐGxGˆHPHìI$I¨I¸J€K4K¤K¼L8L˜M MxMˆMÐMàMðN4NDO,O<O”OôPPP¼Q8QPQÀRR¼SpSˆS TT,TÐTàTðUUU€UÜV8VPVhV€V°WPW`WÄXX¬YYdY¬Z ZlZÔ[<[¸\0]^^^$^4^Œ^Ø_(_˜_°_À_Ð`Èa´aÌaäb¨c0c”côdXdðe0eTexexeÔffôgXg¸h h€iiHiŒiÀiôjLj¬k klk„kœkÜlldl¬lôm<m|m¸môn0nhn oodp$pàpøqq@qpq€q°qðr0rxrÀrüs8s€sÈttdt¤t´uHuÜuôv vv4vLv¨w wXw¬wôx<xxx´xüyDyyÜyìzz8zhz z°zÀzä{{{({@{X{|{”{¬{Ä{Ô{ä{ü||,|D|t| |°|À|Ø|ð}} }8}P}h}€}˜}°}È}à~ ~8~P~h~¼¨€<€Üxô‚p‚àƒLƒ\ƒ¸ƒÈƒØ„,„€„„ …H…ð†¬‡P‡¼ˆXˆì‰„Š0Џ‹4‹œ‹øŒ˜Œà(èŽPŽÔ@Ø@°‘,‘œ‘𒀓(“8“œ“¬””à•d•t–$–4–Ô–ä–ô——P—`—¬—И ™,™Ôš\šð›”œœˆ€žž”žÔŸ´ ¨¡$¡4¢4¢¸£¤¤d¤t¥$¥ä¥ô¦À¦Ð§¸¨|¨Œ©©èªdªtª°«Œ¬T¬d­ˆ®®H®„®Ä®ô¯H¯¬¯Ô¯ü°|°¨°ä± ±l±˜±Ä±ð² ²8²`²„²¼²ø³P³Œ³Ð³ø´8´h´˜´Ðµ8µTµˆµÔ¶¶P¶°¶à··ˆ·Ü¸,¸˜¸Ø¹¹€¹°ºº`ºxºº¨ºÈ»$»T»Ä¼4¼L¼d¼|¼”¼¬¼È¼à¼ø½½(½@½¬½Ä¾¾0¾t¾Œ¿L¿dÀ,ÀDÀ°ÀÈÁLÁdÁ|Á”Á¬ÂhÂÈÃTÃlÃÔÄdÅÅ(ÅTÅôÆÆ8ÆÄÆàÇdǨÇðÈÈÈ@È\ÈŒÈäÉ`ÉäÊLÊ”ÊäË4Ë´ËèÌ(ÌLÌ€Ìè͘ÍìÎÎÎ4ÎTÎl΄ΜδÎÌÎäÎüÏÏ,ÏDÏ\ÏtÏŒϤϼÐxÐШÑ@ÑXÑpÑÔÑôÒ ÒÒ4ÒDÒTÒdÒtÒôÓxÓàÓðÔÔÔHÔ˜ÕPÕ¼ÕÌÖÖlÖœ×,×P׌לר×è×øØØØpØÈÙXÙüÚ4ÚlÚ´ÚÄÛ4ÛDÛ€ÛÄÜ ܈ܘܨܸÝÝ(Ý8Ý`ÝpÝÌÞÞˆßßxàPà´ááâ4âÈãXãìääDäÀåT娿@æxæ°ççTç çìèhèééPéŒéôêTêØëhëøì<ì„í íXííÀíìî$î|î°îðïï¨ð$ð„ðèññˆòòÀóóhóÐôHô¬ôÔõõPõ¬öö„öœö´öÌöäöü÷÷,÷D÷`÷x÷÷¨÷À÷Ø÷ðøø ø8øPøhø€ø˜ø°øÈøàøøùù(ùLùlù„ùœù´ùÌùäùüúú,úDú\útúŒú¤ú¼úÔúðûû û<ûTûlû„ûœû´ûÌûäüüü4üPühü€üœü´üÌüäüüýý,ýDý\ýtýŒý¤ý¼ýÔýìþþþ<þTþlþ„þœþ¸þÐþèÿÿÿ0ÿHÿ`ÿ|ÿ”ÿ¬ÿÄÿÜÿô $Hh€˜°Èàø(@\tŒ¤¼Ôì4Ld|”¬ÄÜô $<Tl„œ´Ìäü,D\x¨ÀØð 8Ph€˜°Èàø(@Xpˆ ¸Ðè0H`x¨ÀØð <Tl„œ´Ìäü  , L d | ” ¬ Ä Ü ô  $ < T l „ œ ´ Ì ä   4 L d | ” ¬ Ä Ü ô  $ < T l „ œ ´ Ì ä ü  , D \ t Œ ¤ ¼ Ô ð 8Ph€˜°Èàø,Hd|”¬ÄÜô $@\x¬Èàø(@Xpˆ¤ÀÜô,Hd|”¬ÄÜô $@\x¬Èä0H`x¨ÀÜô,D\tŒ¤¼Ôì <Xpˆ ¸Ðè0Lh€œ¸Ôð0@Xh€¨¸Ðàø 8Ph€˜°Èàø(@Xpˆ ¸Ðè0H`x¨ÀØð 8Ph€˜°Èàø(@Xpˆ ¸Ðè0H`xˆ °À0@Xpˆ ¸Ðìü  ( @ \ t Œ ¤ ¼ Ô ä ü!!,!D!`!p!Œ!¤!¼!Ô!ì""","D"\"t"Œ"¤"À"Ð"ì###$#<#T#l#„#œ#¸#È#ä#ô$ $$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$ˆ$´$Ä$ð%%D%l%„%œ%Ø&&L&p&Ì'('„'¸((”(Ô(ð)),)€)˜+$,4,T,l,Œ,¨,À,à--t-è..4.°.Ä/$/„/°/Ô/ì040d0”0¬0Ä0à1$1\1Œ1¼1Ð1ü2202T2d2x2Ì33(3h3´3Ø44x4¨4ä585|6ˆ6ì7|7¤8T8à9909X99Ì:@:T:h:|::¤:¸:Ì:à:ô;;;0;D;X;l;à<= =`=È>L>Ð?´@„A0A”A¬C`C¨DDÈE`FF”F¼FäG¤GÀHèI„JJ4JJøKŒL L˜M@MôNðOœP´QTQ´R@RPRÀRÐRàShS”SèTUU°UÐUðVV0VPVpVV°VÐVðWW0WHWXWpWW¨W¸WÐWðXX0X@XXXxXˆX˜X¨X¸XÈXàYYY(Y@Y`YˆY Y°YÈYèYøZZZ(Z¬\(]]],]Ü^Œ_<_ìa b0b`bbÀbðc<cˆd0dØe$epe¼ffPfœfØggPgŒgàh`hìi°jtkˆkèl0lhl lØmmHm€nn„nÀo,oÔp|p pÈpðqq@qhqŒq°rrXr¬rôs<s„sÌttHt°u0u˜uØvvXv˜vôwPwwÐxxPxxÐy,yˆyàz8z€zÈ{{`{œ{Ø||`| |à}D}˜}ø~X~ÄD˜Ü€ €|X¬‚ ‚P‚˜‚ôƒLƒ¨„„L„€„Ð… …à†Ä†ø‡\ˆˆ€ˆ°‰‰¼ŠŠt‹‹p‹˜‹ÜŒŒœŒÈ˜àôŽ@ŽTŽ€ŽàŽøˆ‘‘4‘X’’°’Ì“8“`”$”P”x”¸”ø•˜•°•Ж¤—왬š›xœdœˆœ¬œÈœô @pðžPž°ŸŸ„  x¡ ¡¨¢œ£<£ì¤Ô¥H¥ ¦\¦Ð¦è§§(§H§l§Œ§è¨T¨œ¨à© ©p©´ª˜««¨¬4¬h¬È­ ­œ®(®p®°¯¯|¯Ä°°°ü±P±¤²²|²ü³x´,´àµ$µlµø¶€¶¼¶ô·H·˜¸(¸¸¹(¹˜¹àº$ººü»P» ¼¼œ½½t½Ô½ì¾H¾ ¾ø¿t¿ôÀÀ@Á ÁÀÂÃLÄÄðÅÔÆ”ÇHÈȬÉÉHÉ ÉøÊ ÊDÊœËËHËÌÌ|̸ÌüÍXͬÎÎHÎtάÎäÏxÐ ÐpдÐØÑ ÑDÑxÑ ÑÈÑØÑèÒÒ`Ò ÒàÓ Ó<Ó ÓØÔ ÔtÔÔÕ,Õ„Õ¼ÕôÖHÖœ×0×ÄØ,Ø”ØàÙ,Ù¤ÚÚ¤Û,Û„ÛÜÜPÜÀÝ4ÝœÝôÞ Þ€ÞäßXßÄà8à àüápáÔââ@â„â¨âÈâèãã(ã|äxäœäôåLå„í´íÜîî4îlîˆîÀîøïïLïlïˆï¬ïÐïìð ð@ð˜ðÐðìñ$ñ|ñ°ñÌñøòlò”ôöø˜ú(ü4þ˜ tàô,Hd€œ¸Ôð  ( D ` | ˜ ¬ ` P ø   < P d € ˜ ´ Ð ä ü  4 ` ´ Ì$„ÀHЬØô <hˆ¼ØD`Œ¨Ôð8d€¬Èô<X„¤Ø¬h`Ð4Œä<˜Px ÜT¨ü(T€°ô 8 T p ˆ   è!!@!h!!Ì""D"l"Ø##X#˜#Ø$X$Ø%X%Ø&&(&P&|&˜&Ä&à'(<(Ô)À4ˆ7l7È8x8ü9ˆ;0=>Ø@BDEHìItJTKKMtOxOÐPQ RRüSÜUVlW¤Y_°`4a˜cPjkœm0ndo<pTqLuxTy z°|8|X|x|˜|¸|Ø|ø}}8~¤€Ä‚è„P†T‡|ˆœŠxŒ˜Ž<4X‘À“ð”ü• —`—üšDœÌŸ@ Œ¡@¢€£d¤d¦àª¬ ®ˆ°´²ÐµÈ·x¸Üº»0¼4¼È½¼¾¾üÀpÀÜÁÃXÅhÅÌÆ\Ç$ÈÈüÉôËÈÌðÏѨÓÔÌÖ¬Ø8ÙøÜ,Ý”ÞÔàLá¼ätççðè`éêëTìØî ðdò´ó„ôàõõLõdõ|õ”õ¬öTö¼÷\ù\ûý8þdÿ˜Ü¼ ÄäXˆð´P Ìt¨X!" #Ð$Ð%ü&ä'l'Ð(4(x(¸)„*x*ø+,+h+¬+Ü,<,¼-¤.<.ø0x2@5 66Ì747Ì8\99¨:(: ;;d;Ì<0<ˆ=H=Œ=ä>4>¤?`ACDTF„H JðPìRHT˜U\V$VøX|Yü[\\À^ _x_ä`P`¸a a„a a¼aØbbdb|b”cd<eeŒf g,hh|hèi$idiŒi¸iàj j4j`jŒj¸kkŒll´môn|o”q(qœsèutvèwÌxðz4{ |<}x~Tœ€à‚‚˜ƒd„P„ä…¨†Œ‡ ‡øˆä‰¼‰ìŠŠDŠpŠ ‹D‹l‹”‹èŒ<ŒdŒ”ŒÄŒä8Œ¸èŽ0ŽxŽÌh¸hÜ‘€‘Ø’ ’x“ “¸”`•@•Ü—˜@˜Ø™™$™4™L™d™d™x™Œ™¨™¼™Ø™ôšš,šHšdšˆš¤šÈšì››,›H›d›ˆ›¤›È›ìœœ4œXœ|œ¨œÌœø$Xlˆ¤Èäžž,žXžtž˜ž¼žèŸ Ÿ8ŸdŸ˜Ÿ´ŸØŸü ( L x ¤ Ø ü¡(¡T¡ˆ¡´¡è¢¢X¢l¢ˆ¢¤¢È¢ä££,£X£t£˜£¼£è¤ ¤8¤d¤˜¤´¤Ø¤ü¥(¥L¥x¥¤¥Ø¥ü¦(¦T¦ˆ¦´¦è§§X§t§˜§¼§è¨ ¨8¨d¨˜¨¼¨è©©H©t©¨©Üªª<ªhª”ªÈªô«(«\«˜«Ä«ø¬,¬h¬œ¬Ø­­X­l­ˆ­¤­È­ä®®,®X®t®˜®¼®è¯ ¯8¯d¯˜¯´¯Ø¯ü°(°L°x°¤°Ø°ü±(±T±ˆ±´±è²²X²t²˜²¼²è³ ³8³d³˜³¼³è´´H´t´¨´Üµµ<µhµ”µÈµô¶(¶\¶˜¶Ä¶ø·,·h·œ·Ø¸¸X¸t¸˜¸¼¸è¹ ¹8¹d¹˜¹¼¹èººHºtº¨ºÜ»»<»h»”»È»ô¼(¼\¼˜¼Ä¼ø½,½h½œ½Ø¾¾X¾|¾¨¾Ô¿¿4¿h¿œ¿ØÀÀ8ÀlÀ¨ÀÜÁÁTÁ˜ÁÄÁøÂ,ÂhœÂØÃÃXÃŒÃÈÄÄHÄ„ÄÈÅ ÅXŤÅàÆÆPÆ„ƬÆàÇÇ4ÇôÈÈɬÉÔÊTÊèËlÌ0ÍÍ ÎTÏÏìЈÑdÑøÒ¤ÓPÓØÔ`ÔœÔÔÔìÕÕÕ4ÕLÕdÖ4××TפØhÙ$ÙˆÙäÚhÚèÛxÜÜdÜÈÝ0Ý”ÝÐÞ Þ$Þ<Þ€ÞÈßß`ßÜà\àôáŒââXâ¤ããhã¼ääˆäüåàæÄç”èdè°èøé$éPé`é¬é¼éüê$êLêÔë0ë¤ëèì\í í î ïïÀð@ñ8òò°óLóüôÄôÜôôõ8õPõhõ€õ˜õ°õÈõàõøöö(ö@öXöpöˆö ö¸öÐöè÷÷÷0÷H÷`÷x÷÷¨÷À÷Ø÷ðøø ø8øPøhø€ø˜ø°øÈøàøøùù(ù@ùXùpùˆù ù¸ùÐùèúúú0úHú`úxúú¨úÀúØúðûû û8ûPûhû€û˜û°ûÈûàûøüü(ü@üXüpüˆü ü¸üÐüèýýý(ýÜýìýüþþ,þDþ\þlþäþüÿÿDÿ„ÿ”ÿ¤ÿ¼ÿÔÿèH\pˆœ´Èàô  8H`x¨ÀØð 8Phx¬ÄÜô $<Tl„œ´Ìäü,D\llð 8P`ÄÜôXpˆ˜lü œ ´ Ì ä ü  è x  8 P h €   €4Ldt „,D\tŒ¤¼Ôì4D|ˆ¼°4ÄÜô $4¬høœ¬Ph€˜°Èàø(@”üüˆ¬xäŒ(Ô  ¨ Ô!!<!T!x!¨!Ø!ü"4"°"À"Ð#$,$Ì%”%¤%´%Ì%ä&4&T&t&”&¬&Ä&Ü&ô' '$'<'T'l'„'œ'´'Ô'ô((4((ð)@)\)x)”)°)Ì)è** *<*X*t**¬*È*ä+++8+T+p+ˆ+¤+Ü+ô,H,`,x,,¨,È,è--d¹b+˜@h¼ ÿÿÿÿÿÿÿþÿÿÿÿÿÿÿýÿÿÿÿÿÿÿûÿÿÿÿÿÿÿ÷ ÿÿÿÿ ÿÿÿïÿÿÿÿÿÿÿÿ\@ P` À¬~ŨÌȰÒϺßÕÂîåØððìþòîìäñî÷÷"ƒ$TSb oeª€vÀ“‚Ö·¯úÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿžª80ŽB˜’H›šVµ´Zº·^Ä»fÐÉzÓÒŠÿÿÿÿ,048<@DHLP ÐXw} ¦ ž ’ƒ – ¢ š‰Œ ¶ ² º ¾z ª ® Æ Ê²’ Ôµÿÿ0ŽB˜’H›šVµ´Zº·^Ä»fÐÉzÓÒŠÿÿÿÿ-159=AEIMQ ÑYx~ § Ÿ “„ — £ ›Š · ³ » ¿{ « ¯ Ç Ë³€“ Õ¶Ž0›’6µ´Jº·NÓ»Vÿÿÿÿ+/37;?CGKOSUWv| ¥ ‘‚ • ¡ ™ˆ‹ µ ±Ž ¹ ½ ÷¯ Áy © ­ Šɱ Í‘ Ï Ó´@t´êú`À¬xÅ¢ÌȪÒÏ´ßÕ¼îåÒððæþòèìäñî÷÷J? TS8 ó ó<ED>oeBÿÿÿÿ€€  ?ÿò ¿ÿñ½?ÿò¿ÿñ¾`a>bt|€ ¿¿ÜÜ ÿÿÿÿ€ ?ÿû$¿ÿûBáä¢Töz¼ 0`$$b)(d0/h75l;;rDDtFFvIIxLLzOO|RR~XV€ÿÿÿÿ      €€€€€ € €€€   €  €  €    €  `   ?ÿÿÅ?ÿÿÝ¿ÿÿÙ?ÿÿ­¿ÿÿÏ?ÿÿÕ¿ÿÿÐ?ÿÿØ?ÿÿà¿ÿÿÒ?ÿÿÄ?ÿÿù¿ÿÿÈ?ÿÿ»?ÿÿü¿ÿÿÉ?ÿÿ¸?ÿÿÿ¿ÿÿÌ?ÿÿÇ¿ÿÿË?ÿÿÆ¿ÿÿÍ?ÿÿοÿÿÏ?ÿÿÍ?ÿÿÑ¿ÿÿÒ?ÿÿÍ?ÿÿÔ¿ÿÿÕ?ÿÿÈ¿ÿÿÊ pHefUXY b c a d e g8T„¶.ê $&6ÿÿÿÿ     !"#$%&'()*+,-./012€€€ €€€€€`       `     " %€€ ( + . 1 € € 4 7 : = @ C € € F I€€ L O R U€€ X [?ÿ÷ø¿ÿÿí?ÿÿí?ÿ÷û¿ÿÿð?ÿÿï?ÿ÷þ¿ÿÿó?ÿÿñ?ÿø¿ÿÿö?ÿÿó?ÿø¿ÿÿù?ÿÿõ?ÿø¿ÿÿü?ÿÿö?ÿø ¿ÿÿÿ€€€ € € € €?ÿø!€?ÿø$€€ €?ÿø-€ ?ÿø0€#?ÿø3€&&,€)(/€,(2€/.?ÿø?€118€43?ÿøE€64?ÿøH€99A€<:D€?=?ÿøQ€@@J€C ~r~txz~r~txzsusu€v{€v{wwy|y|}}Hf˜2 ãù  : ^ €¯ ý (W4;_;” < >2 >X > ;­ <%<_ <•<¹=)=`=Å> >: >e >³!;Æ v >Ê;è<9<ñ=… =ç >‚ >Û;þ # >P >“ >î 0 Ë ï þ " F j "‹ :Á %: h:õCopyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain DejaVu SansDejaVu SansBookBookDejaVu SansDejaVu SansDejaVu SansDejaVu SansVersion 2.9Version 2.9DejaVuSansDejaVuSansDejaVu fonts teamDejaVu fonts teamhttp://dejavu.sourceforge.nethttp://dejavu.sourceforge.netFonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below) Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. Arev Fonts Copyright ------------------------------ Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the modifications to the Bitstream Vera Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Tavmjong Bah" or the word "Arev". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Tavmjong Bah Arev" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the name of Tavmjong Bah shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from Tavmjong Bah. For further information, contact: tavmjong @ free . fr.Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below) Bitstream Vera Fonts Copyright ------------------------------ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. Arev Fonts Copyright ------------------------------ Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the modifications to the Bitstream Vera Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces. The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Tavmjong Bah" or the word "Arev". This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Tavmjong Bah Arev" names. The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. Except as contained in this notice, the name of Tavmjong Bah shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from Tavmjong Bah. For further information, contact: tavmjong @ free . fr.http://dejavu.sourceforge.net/wiki/index.php/Licensehttp://dejavu.sourceforge.net/wiki/index.php/LicenseAll Typographic FeaturesFonctions typographiquesAlle typografischen MšglichkeitenFunzioni TipograficheAlle typografische kenmerkenLigaturesLigaturesLigaturenLegatureLigaturenCursive connectionConnection des CursivesCursieve verbindingFractionsFractionsBreukenAll Type FeaturesToutes fonctions typographiquesAlle AuszeichnungsartenTutte le FunzioniAlle typekenmerkenRequired LigaturesLigatures RequisesVereiste ligaturenCommon LigaturesLigatures UsuellesNormale LigaturenLegature pi ComuniGemeenschappelijke LigaturenRare LigaturesLigatures RaresSeltene LigaturenLegature RareZeldzame ligaturenUnconnectedNon connectŽesNiet verbondenCursivePleinement connectŽesCursiefNo FractionsPas de FractionsKein BrucheNessuna FrazioneGeen breukenDiagonal FractionsFractions en DiagonaleDiagonaler BruchFrazioni DiagonaliDiagonale breukenÿ«Z¹  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a¬£„…½–膎‹©¤ŠÚƒ“òó—ˆÃÞñžªõôö¢­ÉÇ®bcdËeÈÊÏÌÍÎéfÓÐѯgð‘ÖÔÕhëí‰jikmln oqprsutvwêxzy{}|¸¡~€ìîºýþ    ÿ øù !"#$%&'()*+ú×,-./0123456789:âã;<=>?@ABCDEFGHI°±JKLMNOPQRSûüäåTUVWXYZ[\]^_`abcdefghi»jklmæçnopqrstuvwxyz{|}~€¦‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®Øá¯°±²³´µ¶·¸¹º»¼½¾ÛÜÝàÙß¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOŸPQRSTUVWXYZ[\]^_`abcde›fghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ²³¶·Ä´µÅ‚‡« Æ    ¾¿¼ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST÷UVWXYZ[\]^_`abcdefghijklmnopqrstuvwŒxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ                           ! " # $ %˜ & ' (¨ ) * + , - . / 0š 1™ï 2 3¼ 4 5 6Ã¥ 7 8 9’ : ; < = > ? @ A B C D Eœ F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^§ _ ` a b c d e f g h i j k l m n o p q r s t u v w x”• y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z {¹ | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a bÀÁ c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶· sfthyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F6uni01F7uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccentuni021Auni021Buni021Cuni021Duni021Euni021Funi0220uni0221uni0222uni0223uni0224uni0225uni0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0234uni0235uni0236dotlessjuni0238uni0239uni023Auni023Buni023Cuni023Duni023Euni023Funi0240uni0241uni0243uni0244uni0245uni0246uni0247uni0248uni0249uni024Cuni024Duni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02B3uni02B4uni02B5uni02B6uni02B7uni02B8uni02B9uni02BAuni02BB afii57929 afii64937uni02BEuni02BFuni02C0uni02C1uni02C2uni02C3uni02C4uni02C5uni02C8uni02C9uni02CAuni02CBuni02CCuni02CDuni02CEuni02CFuni02D0uni02D1uni02D2uni02D3uni02D4uni02D5uni02D6uni02D7uni02DEuni02DFuni02E0uni02E1uni02E2uni02E3uni02E4uni02E5uni02E6uni02E7uni02E8uni02E9uni02ECuni02EDuni02EEuni02F3uni02F7 gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0340uni0341uni0342uni0343uni0344uni0345uni0346uni0347uni0348uni0349uni034Auni034Buni034Cuni034Duni034Euni0351uni0352uni0353uni0357uni0358uni035Cuni035Duni0360uni0361uni0362uni0374uni0375uni037Auni037Buni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omega1uni03D7uni03D8uni03D9uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03E2uni03E3uni03E4uni03E5uni03E6uni03E7uni03E8uni03E9uni03EAuni03EBuni03ECuni03EDuni03EEuni03EFuni03F0uni03F1uni03F2uni03F3uni03F4uni03F5uni03F6uni03F7uni03F8uni03F9uni03FAuni03FBuni03FCuni03FDuni03FEuni03FFuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193uni0460uni0461 afii10146 afii10194uni0464uni0465uni0466uni0467uni0468uni0469uni046Auni046Buni046Cuni046Duni046Euni046Funi0470uni0471 afii10147 afii10195 afii10148 afii10196uni0476uni0477uni0478uni0479uni047Auni047Buni047Cuni047Duni047Euni047Funi0480uni0481uni0482uni0483uni0484uni0485uni0486uni0487uni0488uni0489uni048Auni048Buni048Cuni048Duni048Euni048F afii10050 afii10098uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C5uni04C6uni04C7uni04C8uni04C9uni04CAuni04CBuni04CCuni04CDuni04CEuni04CFuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8 afii10846uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F6uni04F7uni04F8uni04F9uni0500uni0501uni0502uni0503uni0504uni0505uni0506uni0507uni0508uni0509uni050Auni050Buni050Cuni050Duni050Euni050Funi0510uni0511uni0531uni0532uni0533uni0534uni0535uni0536uni0537uni0538uni0539uni053Auni053Buni053Cuni053Duni053Euni053Funi0540uni0541uni0542uni0543uni0544uni0545uni0546uni0547uni0548uni0549uni054Auni054Buni054Cuni054Duni054Euni054Funi0550uni0551uni0552uni0553uni0554uni0555uni0556uni0559uni055Auni055Buni055Cuni055Duni055Euni055Funi0561uni0562uni0563uni0564uni0565uni0566uni0567uni0568uni0569uni056Auni056Buni056Cuni056Duni056Euni056Funi0570uni0571uni0572uni0573uni0574uni0575uni0576uni0577uni0578uni0579uni057Auni057Buni057Cuni057Duni057Euni057Funi0580uni0581uni0582uni0583uni0584uni0585uni0586uni0587uni0589uni058A afii57799 afii57801 afii57800 afii57802 afii57793 afii57794 afii57795 afii57798 afii57797 afii57806 afii57796 afii57807 afii57839 afii57841 afii57842 afii57804 afii57803 afii57658uni05C6uni05C7 afii57664 afii57665 afii57666 afii57667 afii57668 afii57669 afii57670 afii57671 afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 afii57688 afii57689 afii57690 afii57716 afii57717 afii57718 afii57388uni0615 afii57403 afii57407 afii57409 afii57410 afii57411 afii57412 afii57413 afii57414 afii57415 afii57416 afii57417 afii57418 afii57419 afii57420 afii57421 afii57422 afii57423 afii57424 afii57425 afii57426 afii57427 afii57428 afii57429 afii57430 afii57431 afii57432 afii57433 afii57434 afii57440 afii57441 afii57442 afii57443 afii57444 afii57445 afii57446 afii57470 afii57448 afii57449 afii57450 afii57451 afii57452 afii57453 afii57454 afii57455 afii57456 afii57457 afii57458uni0653uni0654uni0655uni065A afii57392 afii57393 afii57394 afii57395 afii57396 afii57397 afii57398 afii57399 afii57400 afii57401 afii57381uni066Buni066C afii63167uni066Euni066Funi0674 afii57511uni067Auni067Buni067Cuni067D afii57506uni067Funi0680uni0681uni0682uni0683uni0684uni0685 afii57507uni0687 afii57513uni0692uni0695 afii57508uni06A1 afii57505uni06A6uni06A9 afii57509uni06B5 afii57514uni06BFuni06C6uni06CCuni06CEuni06F0uni06F1uni06F2uni06F3uni06F4uni06F5uni06F6uni06F7uni06F8uni06F9uni1D00uni1D01uni1D02uni1D03uni1D04uni1D05uni1D06uni1D07uni1D08uni1D09uni1D0Auni1D0Buni1D0Cuni1D0Duni1D0Euni1D0Funi1D10uni1D11uni1D12uni1D13uni1D14uni1D16uni1D17uni1D18uni1D19uni1D1Auni1D1Buni1D1Cuni1D1Duni1D1Euni1D1Funi1D20uni1D21uni1D22uni1D23uni1D26uni1D27uni1D28uni1D29uni1D2Auni1D2Buni1D43uni1D44uni1D45uni1D46uni1D47uni1D48uni1D49uni1D4Auni1D4Buni1D4Cuni1D4Duni1D4Euni1D4Funi1D50uni1D51uni1D52uni1D53uni1D54uni1D55uni1D56uni1D57uni1D58uni1D59uni1D5Auni1D5Buni1D77uni1D7Buni1D85uni1D9Buni1D9Cuni1D9Duni1D9Euni1D9Funi1DA0uni1DA1uni1DA2uni1DA3uni1DA4uni1DA5uni1DA6uni1DA7uni1DA8uni1DA9uni1DAAuni1DABuni1DACuni1DADuni1DAEuni1DAFuni1DB0uni1DB1uni1DB2uni1DB3uni1DB4uni1DB5uni1DB6uni1DB7uni1DB9uni1DBAuni1DBBuni1DBCuni1DBDuni1DBEuni1DBFuni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E14uni1E15uni1E16uni1E17uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E2Euni1E2Funi1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Auni1E7Buni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Auni1E9Buni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni200B afii61664afii301afii299afii300uni2010uni2011 figuredash afii00208uni2016 underscoredbl quotereverseduni201Funi2023onedotenleadertwodotenleaderuni2027uni2031minuteseconduni2034uni2035uni2036uni2037uni2038uni203B exclamdbluni203Duni203Euni203Funi2040uni2041uni2042uni2043uni2045uni2046uni2047uni2048uni2049uni204Auni204Buni204Cuni204Duni204Euni204Funi2050uni2051uni2052uni2053uni2054uni2055uni2056uni2057uni2058uni2059uni205Auni205Buni205Cuni205Duni205Euni2070uni2071uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni207Funi2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208Euni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9 afii57636dongEurouni20ADuni20AEuni20AFuni20B1uni20B4uni20B5uni20D6uni20D7uni2100uni2103uni2104 afii61248uni2106uni2109uni210Euni210FIfraktur afii61289 afii61352uni2117 weierstrassRfrakturuni211D prescriptionuni2120uni2121uni2126uni2127uni212Auni212B estimateduni2132uni2134alephuni213Buni214Bonethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215Funi2160uni2161uni2162uni2163uni2164uni2165uni2166uni2167uni2168uni2169uni216Auni216Buni216Cuni216Duni216Euni216Funi2170uni2171uni2172uni2173uni2174uni2175uni2176uni2177uni2178uni2179uni217Auni217Buni217Cuni217Duni217Euni217Funi2180uni2181uni2182uni2183uni2184 arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbseuni21A9uni21AAuni21ABuni21ACuni21ADuni21AEuni21AFuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21B8uni21B9uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21DEuni21DFuni21E0uni21E1uni21E2uni21E3uni21E4uni21E5uni21E6uni21E7uni21E8uni21E9uni21EAuni21EBuni21ECuni21EDuni21EEuni21EFuni21F0uni21F1uni21F2uni21F3uni21F4uni21F5uni21F6uni21F7uni21F8uni21F9uni21FAuni21FBuni21FCuni21FDuni21FEuni21FF universaluni2201 existentialuni2204emptysetgradientelement notelementuni220Asuchthatuni220Cuni220Duni220Euni2210uni2213uni2214uni2216 asteriskmathuni2218uni221Buni221C proportional orthogonalangleuni2221uni2222uni2223uni2224uni2225uni2226 logicaland logicalor intersectionunionuni222Cuni222Duni222Euni222Funi2230uni2231uni2232uni2233 thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2241uni2242uni2243uni2244 congruentuni2246uni2247uni2249uni224Auni224Buni224Cuni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2258uni2259uni225Auni225Buni225Cuni225Duni225Euni225F equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Auni226Buni226Cuni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Cuni228Duni228Euni228Funi2290uni2291uni2292uni2293uni2294 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendicularuni22A6uni22A7uni22A8uni22A9uni22AAuni22ABuni22ACuni22ADuni22AEuni22AFuni22B2uni22B3uni22B4uni22B5uni22B6uni22B7uni22B8uni22B9uni22BAuni22BBuni22BCuni22BDuni22C0uni22C1uni22C4dotmathuni22C6uni22C8uni22C9uni22CAuni22CBuni22CCuni22CDuni22D6uni22D7uni22D8uni22D9uni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EAuni22EBuni22ECuni22EDuni22F2uni22F3uni22F4uni22F5uni22F6uni22F7uni22F8uni22F9uni22FAuni22FBuni22FCuni22FDuni22FEuni22FFhouseuni2306uni2308uni2309uni230Auni230B revlogicalnotuni2311uni2318uni2319 integraltp integralbtuni2325uni2328 angleleft anglerightuni237Duni239Buni239Cuni239Duni239Euni239Funi23A0uni23A1uni23A2uni23A3uni23A4uni23A5uni23A6uni23A7uni23A8uni23A9uni23AAuni23ABuni23ACuni23ADuni23AEuni23CFuni2422uni2423uni2460uni2461uni2462uni2463uni2464uni2465uni2466uni2467uni2468uni2469upblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockltshadeshadedkshadeuni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259F filledboxH22073uni25A2uni25A3uni25A4uni25A5uni25A6uni25A7uni25A8uni25A9H18543H18551 filledrectuni25ADuni25AEuni25AFuni25B0uni25B1triagupuni25B3uni25B4uni25B5uni25B6uni25B7uni25B8uni25B9triagrtuni25BBtriagdnuni25BDuni25BEuni25BFuni25C0uni25C1uni25C2uni25C3triaglfuni25C5uni25C6uni25C7uni25C8uni25C9circleuni25CCuni25CDuni25CEH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7 invbullet invcircleuni25DAuni25DBuni25DCuni25DDuni25DEuni25DFuni25E0uni25E1uni25E2uni25E3uni25E4uni25E5 openbulletuni25E7uni25E8uni25E9uni25EAuni25EBuni25ECuni25EDuni25EEuni25EFuni25F0uni25F1uni25F2uni25F3uni25F4uni25F5uni25F6uni25F7uni25F8uni25F9uni25FAuni25FBuni25FCuni25FDuni25FEuni25FFuni2600uni2601uni2602uni2603uni2604uni2605uni2606uni2607uni2608uni2609uni260Auni260Buni260Cuni260Duni260Euni260Funi2610uni2611uni2612uni2613uni2614uni2615uni2616uni2617uni2618uni2619uni261Auni261Buni261Cuni261Duni261Euni261Funi2620uni2621uni2622uni2623uni2624uni2625uni2626uni2627uni2628uni2629uni262Auni262Buni262Cuni262Duni262Euni262Funi2630uni2631uni2632uni2633uni2634uni2635uni2636uni2637uni2638uni2639 smileface invsmilefacesununi263Duni263Euni263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647uni2648uni2649uni264Auni264Buni264Cuni264Duni264Euni264Funi2650uni2651uni2652uni2653uni2654uni2655uni2656uni2657uni2658uni2659uni265Auni265Buni265Cuni265Duni265Euni265Fspadeuni2661uni2662clubuni2664heartdiamonduni2667uni2668uni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi2670uni2671uni2672uni2673uni2674uni2675uni2676uni2677uni2678uni2679uni267Auni267Buni267Cuni267Duni267Euni267Funi2680uni2681uni2682uni2683uni2684uni2685uni2686uni2687uni2688uni2689uni268Auni268Buni268Cuni268Duni268Euni268Funi2690uni2691uni2692uni2693uni2694uni2695uni2696uni2697uni2698uni2699uni269Auni269Buni269Cuni26A0uni26A1uni26B0uni26B1uni2701uni2702uni2703uni2704uni2706uni2707uni2708uni2709uni270Cuni270Duni270Euni270Funi2710uni2711uni2712uni2713uni2714uni2715uni2716uni2717uni2718uni2719uni271Auni271Buni271Cuni271Duni271Euni271Funi2720uni2721uni2722uni2723uni2724uni2725uni2726uni2727uni2729uni272Auni272Buni272Cuni272Duni272Euni272Funi2730uni2731uni2732uni2733uni2734uni2735uni2736uni2737uni2738uni2739uni273Auni273Buni273Cuni273Duni273Euni273Funi2740uni2741uni2742uni2743uni2744uni2745uni2746uni2747uni2748uni2749uni274Auni274Buni274Duni274Funi2750uni2751uni2752uni2756uni2758uni2759uni275Auni275Buni275Cuni275Duni275Euni2761uni2762uni2763uni2764uni2765uni2766uni2767uni2768uni2769uni276Auni276Buni276Cuni276Duni276Euni276Funi2770uni2771uni2772uni2773uni2774uni2775uni2776uni2777uni2778uni2779uni277Auni277Buni277Cuni277Duni277Euni277Funi2780uni2781uni2782uni2783uni2784uni2785uni2786uni2787uni2788uni2789uni278Auni278Buni278Cuni278Duni278Euni278Funi2790uni2791uni2792uni2793uni2794uni2798uni2799uni279Auni279Buni279Cuni279Duni279Euni279Funi27A0uni27A1uni27A2uni27A3uni27A4uni27A5uni27A6uni27A7uni27A8uni27A9uni27AAuni27ABuni27ACuni27ADuni27AEuni27AFuni27B1uni27B2uni27B3uni27B4uni27B5uni27B6uni27B7uni27B8uni27B9uni27BAuni27BBuni27BCuni27BDuni27BEuni27E0uni27E8uni27E9uni27EAuni27EBuni2800uni2801uni2802uni2803uni2804uni2805uni2806uni2807uni2808uni2809uni280Auni280Buni280Cuni280Duni280Euni280Funi2810uni2811uni2812uni2813uni2814uni2815uni2816uni2817uni2818uni2819uni281Auni281Buni281Cuni281Duni281Euni281Funi2820uni2821uni2822uni2823uni2824uni2825uni2826uni2827uni2828uni2829uni282Auni282Buni282Cuni282Duni282Euni282Funi2830uni2831uni2832uni2833uni2834uni2835uni2836uni2837uni2838uni2839uni283Auni283Buni283Cuni283Duni283Euni283Funi2840uni2841uni2842uni2843uni2844uni2845uni2846uni2847uni2848uni2849uni284Auni284Buni284Cuni284Duni284Euni284Funi2850uni2851uni2852uni2853uni2854uni2855uni2856uni2857uni2858uni2859uni285Auni285Buni285Cuni285Duni285Euni285Funi2860uni2861uni2862uni2863uni2864uni2865uni2866uni2867uni2868uni2869uni286Auni286Buni286Cuni286Duni286Euni286Funi2870uni2871uni2872uni2873uni2874uni2875uni2876uni2877uni2878uni2879uni287Auni287Buni287Cuni287Duni287Euni287Funi2880uni2881uni2882uni2883uni2884uni2885uni2886uni2887uni2888uni2889uni288Auni288Buni288Cuni288Duni288Euni288Funi2890uni2891uni2892uni2893uni2894uni2895uni2896uni2897uni2898uni2899uni289Auni289Buni289Cuni289Duni289Euni289Funi28A0uni28A1uni28A2uni28A3uni28A4uni28A5uni28A6uni28A7uni28A8uni28A9uni28AAuni28ABuni28ACuni28ADuni28AEuni28AFuni28B0uni28B1uni28B2uni28B3uni28B4uni28B5uni28B6uni28B7uni28B8uni28B9uni28BAuni28BBuni28BCuni28BDuni28BEuni28BFuni28C0uni28C1uni28C2uni28C3uni28C4uni28C5uni28C6uni28C7uni28C8uni28C9uni28CAuni28CBuni28CCuni28CDuni28CEuni28CFuni28D0uni28D1uni28D2uni28D3uni28D4uni28D5uni28D6uni28D7uni28D8uni28D9uni28DAuni28DBuni28DCuni28DDuni28DEuni28DFuni28E0uni28E1uni28E2uni28E3uni28E4uni28E5uni28E6uni28E7uni28E8uni28E9uni28EAuni28EBuni28ECuni28EDuni28EEuni28EFuni28F0uni28F1uni28F2uni28F3uni28F4uni28F5uni28F6uni28F7uni28F8uni28F9uni28FAuni28FBuni28FCuni28FDuni28FEuni28FFuni29CEuni29CFuni29D0uni29D1uni29D2uni29D3uni29D4uni29D5uni29EBuni2A00uni2A01uni2A02uni2A0Cuni2A0Duni2A0Euni2A0Funi2A10uni2A11uni2A12uni2A13uni2A14uni2A15uni2A16uni2A17uni2A18uni2A19uni2A1Auni2A1Buni2A1Cuni2A7Duni2A7Euni2A7Funi2A80uni2A81uni2A82uni2A83uni2A84uni2A85uni2A86uni2A87uni2A88uni2A89uni2A8Auni2A8Buni2A8Cuni2A8Duni2A8Euni2A8Funi2A90uni2A91uni2A92uni2A93uni2A94uni2A95uni2A96uni2A97uni2A98uni2A99uni2A9Auni2A9Buni2A9Cuni2A9Duni2A9Euni2A9Funi2AA0uni2AAEuni2AAFuni2AB0uni2AB1uni2AB2uni2AB3uni2AB4uni2AB5uni2AB6uni2AB7uni2AB8uni2AB9uni2ABAuni2AF9uni2AFAuni2B12uni2B13uni2C67uni2C68uni2C69uni2C6Auni2C75uni2C76uni2C77uniF208uniF217uniF25F afii10064uniFB00uniFB03uniFB04uniFB05uniFB06uniFB13uniFB14uniFB15uniFB16uniFB17uniFB1DuniFB1FuniFB20uniFB2AuniFB2BuniFB2CuniFB2DuniFB2EuniFB2FuniFB30uniFB31uniFB32uniFB33uniFB34uniFB35uniFB36uniFB38uniFB39uniFB3AuniFB3BuniFB3CuniFB3EuniFB40uniFB41uniFB43uniFB44uniFB46uniFB47uniFB48uniFB49uniFB4AuniFB4BuniFB4CuniFB4DuniFB4EuniFB52uniFB53uniFB54uniFB55uniFB56uniFB57uniFB58uniFB59uniFB5AuniFB5BuniFB5CuniFB5DuniFB5EuniFB5FuniFB60uniFB61uniFB62uniFB63uniFB64uniFB65uniFB66uniFB67uniFB68uniFB69uniFB6AuniFB6BuniFB6CuniFB6DuniFB6EuniFB6FuniFB70uniFB71uniFB72uniFB73uniFB74uniFB75uniFB76uniFB77uniFB78uniFB79uniFB7AuniFB7BuniFB7CuniFB7DuniFB7EuniFB7FuniFB80uniFB81uniFB8AuniFB8BuniFB8CuniFB8DuniFB8EuniFB8FuniFB90uniFB91uniFB92uniFB93uniFB94uniFB95uniFB9EuniFB9FuniFBD9uniFBDAuniFBE8uniFBE9uniFBFCuniFBFDuniFBFEuniFBFFuniFE70uniFE71uniFE72uniFE73uniFE74uniFE76uniFE77uniFE78uniFE79uniFE7AuniFE7BuniFE7CuniFE7DuniFE7EuniFE7FuniFE80uniFE81uniFE82uniFE83uniFE84uniFE85uniFE86uniFE87uniFE88uniFE89uniFE8AuniFE8BuniFE8CuniFE8DuniFE8EuniFE8FuniFE90uniFE91uniFE92uniFE93uniFE94uniFE95uniFE96uniFE97uniFE98uniFE99uniFE9AuniFE9BuniFE9CuniFE9DuniFE9EuniFE9FuniFEA0uniFEA1uniFEA2uniFEA3uniFEA4uniFEA5uniFEA6uniFEA7uniFEA8uniFEA9uniFEAAuniFEABuniFEACuniFEADuniFEAEuniFEAFuniFEB0uniFEB1uniFEB2uniFEB3uniFEB4uniFEB5uniFEB6uniFEB7uniFEB8uniFEB9uniFEBAuniFEBBuniFEBCuniFEBDuniFEBEuniFEBFuniFEC0uniFEC1uniFEC2uniFEC3uniFEC4uniFEC5uniFEC6uniFEC7uniFEC8uniFEC9uniFECAuniFECBuniFECCuniFECDuniFECEuniFECFuniFED0uniFED1uniFED2uniFED3uniFED4uniFED5uniFED6uniFED7uniFED8uniFED9uniFEDAuniFEDBuniFEDCuniFEDDuniFEDEuniFEDFuniFEE0uniFEE1uniFEE2uniFEE3uniFEE4uniFEE5uniFEE6uniFEE7uniFEE8uniFEE9uniFEEAuniFEEBuniFEECuniFEEDuniFEEEuniFEEFuniFEF0uniFEF1uniFEF2uniFEF3uniFEF4uniFEF5uniFEF6uniFEF7uniFEF8uniFEF9uniFEFAuniFEFBuniFEFCuniFEFFuniFFFD dlLtcaronDieresisAcuteTildeGrave CircumflexCaron uni0311.caseBreve Dotaccent Hungarumlaut Doubleacute arabic_dot arabic_2dots arabic_3dotsarabic_3dots_aarabic_2dots_a arabic_4dots uni066E.fina uni066E.init uni066E.medi uni06A1.fina uni06A1.init uni06A1.medi uni066F.fina uni066F.init uni066F.medi uni06BA.init uni06BA.medi arabic_ring uni067C.fina uni067C.init uni067C.medi uni067D.fina uni067D.init uni067D.medi uni0681.fina uni0681.init uni0681.medi uni0682.fina uni0682.init uni0682.medi uni0685.fina uni0685.init uni0685.medi uni06BF.fina uni06BF.init uni06BF.mediarabic_gaf_barEng.altuni0268.dotlessuni029D.dotless uni03080304 uni03040308 uni03070304 uni03080301 uni03080300 uni03040301 uni03040300 uni03030304 uni0308030C uni03030308 uni030C0307 uni03030301 uni03020301 uni03020300 uni03020303 uni03060303 uni03060301 uni03060300 uni03060309 uni03020309 uni03010307 brailledotJ.alt uni0695.finauniFEAE.fina.longstart uni06B5.fina uni06B5.init uni06B5.medi uni06CE.fina uni06CE.init uni06CE.medi uni0692.final.alt¸€@ÿûþúù%ø2÷–öõþôþó%òñ–ð%ïŠAïþî–í–ìúëúêþé:èBçþæ2åäSå–äŠAäSãâ/ãúâ/áþàþß2ÞÝ–ÜþÛÚ}Ù»ØþÖŠAÖ}ÕÔGÕ}ÔGÓÒÓþÒÑþÐþÏþÎþÍ–ÌËÌþËÊ2ÉþÆ…ÆÅÄþÃþÂþÁþÀþ¿þ¾þ½þ¼þ»þº¹†%¹þ¸·»¸þ·¶]·»·€¶µ%¶]@ÿ¶@µ%´þ³–²þ±þ°þ¯þ®d­¬«%¬d«ª«%ª©ŠA©ú¨þ§þ¦þ¥¤þ£¢£2¢¡d ŠA –Ÿþž žþ œ›œd›š›š™ ˜þ—– —þ– •ŠA•–”“”(“’ú‘»‘þ]»€Ž%]@Ž%þŒ‹.Œþ‹.І%ŠA‰ˆ ‰ˆ ‡†%‡d†…†%…„þƒ‚ƒþ‚þ€þþ@ÿ~}}~þ}}|d{T{%zþyþxw v uþtúsúrúqúpþoþnþl!kþjBjSiþh}gBfþeþdþcþbþa:`ú^ ]þ[þZþYX YúX WW2VþUTUBTSSRQJQþP OþNMNþMLþKJKþJIJI IH GþF–E–DþC-CúB»AK@þ?þ>=>=<=<; <@ÿ; :þ9þ878ú76765 65 43 21 2þ1 0/ 0 / .- .- ,2+*%+d*)*%)('%(A'%&% &% $þ#þ"!! dú d BþúBBþdþþþþBþ-B}dþ  þ   þ  þ-þdþ@-þ-þ¸d…++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++„       !! #" >> ?? @@ CA ^^ __ `` aa bbcc gdkh qm srutvv zx {{} ™™ ¹¹   wv Œ œ ¨¢ «ª þ¬€ ÿ €      xx €   QQ Œ ãã ìä€ííñî€öò÷÷€ø€>I?€JJTKUUWVyXƒz‘‘ •“ ¢  ¯­ ¿½ ËÊ ÖÌ Ù× ÛÚ óÜ øôüù ýý þþ ÿ       " ##*%,+-- .. // :1<;== >> ?? R@TS€ ZU a_ gd ii llmm ~p %£ & & ' ' ÿ (             \  a mbbccoe€€v“‚·¯ÿÿÿÿsarg-2.3.11/fonts/FreeSans.ttf000066400000000000000000010036071324060677300161270ustar00rootroot00000000000000€pGDEFU•]ŽürGPOSx½ˆp$GSUBùÅ”OS/2K@ÌWœVcmapëñæô ‚cvt !yxgaspÿÿ|glyf›ó3f„LheadÛ»îk”6hhea ™kÌ$hmtx>ëkð!üloca ˜ˆì"maxpÞZ¯ì nameûOòû° NpostZ¼¼Ë¶\Q+ jóôõömnno !HIOP|}}~~ 0>DFLTlatnÿÿÿÿkernŠV2@ftš¼ú F`†”¢°¾ÌÚ$ÍÿÎÑÿ×Hÿœ $ÿù7ÿ°9ÿÒ:ÿí<ÿ¤ƒÿù†ÿù‡ÿùˆÿõÍÿÍÑÿ×Hÿ› $ÿÎ7ÿ‚9ÿ£:ÿ¾<ÿ{ƒÿΆÿ·ÿΈÿÊ$ÿ½7ÿû: <ÿ÷ƒÿ½†ÿ½‡ÿ½ˆÿ±ÿÄÿÄ$ÿ¸GÿìRÿæUÿîVÿîWÿùYÿþZ\ÿúƒÿ¸†ÿ¸‡ÿ¸ˆÿ« $ÿÌ7 9:<ƒÿ̆ÿ̇ÿ̈ÿÀ $ÿË7 9:<ƒÿˆÿˇÿˈÿ¾$7ÿµ9ÿ»:ÿÞ<ÿ¥ˆ $ÿÔ7ÿ‡9ÿ¨:ÿÄ<ÿ€ƒÿÔ†ÿÔ‡ÿÔˆÿÐ@ÿþCÿÙHÿÒ@ÿÛCÿçHÿÜ@ÿþCÿßHÿÏ@CÿÈHÿ¬@CÿæHÿ´@CÿâHÿÕ ÿ‰ÿ‰ÿ³>ÿä?ÿé@ÿ£AÿâBÿØCÿüDÿäHÿË@CÿßHÿÐ@ÿýCÿÛHÿÕ ÿ¶ÿ¶=ÿÂ>ÿ»?ÿ½@ÿ¯Aÿ½BÿÂCÿ¦Dÿ¿Eÿ¿HÿŠ}ÌÍÐÑÒâ=>?@ABCDEHÒL¢<‚¬âXŠœîd¶à6¬Ö”Êdö ²¼ÒàêJdnx¶¼Îè    È Ò   € æ j ˜ 8 f Ø N T b x † ” ® ´ º Ø Þ*8FTbp~„š¬¶È&ÿý&ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿDÿüEFÿõGÿøHÿðJÿöRÿóTÿøWÿðXÿôYÿáZÿë\ÿÞmÿÔ‰ÿܘÿß›ÿÛœÿÛÿÛžÿÛ©ÿöÎÿÜÏÿõÍÿ¿ÑÿÈáÿØ$ÿë2ÿù9ÿ×:ÿç<ÿÔƒÿë„ÿë…ÿë†ÿë‡ÿëˆÿë”ÿù•ÿù–ÿù˜ÿùšÿÿÿû $ÿà+ÿô.ÿö2ÿøƒÿà†ÿà‡ÿàˆÿß•ÿø˜ÿø $ÿÖ-ÿû7ÿÓ9ÿÍ:ÿã;ÿË<ÿÁ‚ÿÖƒÿÖ„ÿÖ…ÿÖ†ÿÖ‡ÿÖÿ”ÿòÿ”$ÿ»-ÿÍ2ÿêDÿßHÿèLÿöMÿôRÿëUÿÝXÿß‚ÿ»ƒÿ»„ÿ»…ÿ»†ÿ»‡ÿ»˜ÿê£ÿߦÿß§ÿߨÿã«ÿèµÿë¸ÿëºÿëÿé $ÿú7ÿÔ9ÿÎ:ÿä<ÿ‚ÿúƒÿú„ÿú…ÿú†ÿú‡ÿúˆÿý$ÿà†ÿà‡ÿàˆÿáÿÑ&ÿÍ*ÿÍ2ÿÐ6ÿÚ7DÿõHÿàRÿãXÿí\ÿ•ÿИÿЦÿõ§ÿõ¨ÿùµÿã¸ÿã¾ÿíÿÓÿƒ$&ÿ×*ÿÖ2ÿ×6ÿí7ÿ—8ÿÝ9ÿ—:ÿ¼<ÿ‡Xÿù\ÿȃ†‡ˆ‰ÿÛ”ÿוÿ×–ÿ×—ÿטÿמÿݾÿùÎÿ×"ÿíÍÿkÑÿsÿùÿù$ÿ÷&ÿý*ÿþDÿûRƒÿ÷†ÿ÷‡ÿ÷ˆÿú‰ÿý£ÿû¦ÿû§ÿû¨ÿþµ¸ºÎÿý $ÿÝ7ÿÖ9ÿÓ:ÿé;ÿÒ<ÿŃÿ݆ÿ݇ÿ݈ÿÙÿyÿØÿy$ÿ²-ÿ²DÿäHÿáRÿåƒÿ²†ÿ²‡ÿ²ˆÿª£ÿä¦ÿä§ÿä¨ÿè«ÿáµÿå¸ÿåºÿåÿäÿþ&ÿð*ÿñ2ÿó7ÿé8ÿï9ÿÙ:ÿå<ÿÕDÿñHÿôRÿ÷Xÿ÷\ÿø‰ÿð•ÿó˜ÿóžÿï£ÿñ¦ÿñ§ÿñ¨ÿô«ÿôµÿ÷¸ÿ÷¼ÿ÷¾ÿ÷ÿõÿõ $ÿê7ÿä9ÿÖ:ÿä<ÿÐWÿýƒÿê†ÿê‡ÿêˆÿê/ÿœÿ³ÿœÿ{ÿ$ÿ¡&ÿÔ*ÿÓ-ÿœ2ÿÖ6ÿè9 :<DÿœFÿ¦Hÿ¡Jÿ§LÿýMÿûRÿ¤Uÿ¤Vÿ¤Xÿ¥Yÿ¡Zÿ£\ÿœmÿ‡‚ÿ¡ƒÿ¡„ÿ¡…ÿ¡†ÿ¡‡ÿ¡ˆÿŸ”ÿÖ•ÿÖ–ÿÖ—ÿÖ˜ÿÖšÿרÿŸºÿ©ÿÝ"ÿè#ÿÄáÿ‹ ÿåÿç$ÿÜPÿüQÿüSUÿüƒÿÜ„ÿÜ…ÿ܆ÿ܇ÿ܈ÿÙ&ÿ§ÿÚÿ§ÿ¾ÿ¾$ÿ¹&ÿÕ*ÿÖ2ÿØ6ÿÝ7DÿÅHÿÇJÿÎLÿûRÿÊUÿÖXÿ×\ÿìmÿ­‚ÿ¹ƒÿ¹„ÿ¹…ÿ¹†ÿ¹‡ÿ¹ˆÿ²”ÿØ•ÿØ–ÿØ—ÿؘÿØšÿߨÿɺÿÎÏÿÕ"ÿÝáÿ°$ÿÈÿóÿÈÿÌÿË$ÿÎ&ÿé*ÿê2ÿì6ÿè7DÿÚHÿàJÿçLÿÿRÿãUÿäXÿä\ÿúmÿÆ‚ÿ΃ÿ΄ÿÎ…ÿΆÿ·ÿΈÿÈ”ÿì•ÿì–ÿì—ÿì˜ÿìšÿó¨ÿÞºÿçáÿÊ ÿÍ&ÿÐ2ÿÓ4ÿÔDÿñHÿÜRÿßXÿè\ÿØÿÓ$ÿ‘ÿ¬ÿ‘ÿ©ÿ¨$ÿ &ÿÆ*ÿÆ2ÿÈ6ÿ×7Dÿ¨Hÿ§Jÿ­LRÿªSÿÊXÿÁYÿÜmÿ…‚ÿ ƒÿ „ÿ …ÿ †ÿ ‡ÿ ˆÿ™”ÿÈ•ÿÈ–ÿÈ—ÿȘÿÈšÿʨÿ¬ºÿ®áÿ‰Yÿß\ÿÚMÿüYÿëZÿó\ÿæÍÿéYÿõZÿý\ÿñKNWÿöYÿñZÿ÷[ÿå\ÿíÍÿîDÿ÷HÿñILÿþMÿüOÿýRÿöW£ÿ÷¦ÿ÷§ÿ÷¨ÿû«ÿñµÿö¸ÿöºÿ÷ÿôDÿû¦ÿû§ÿû¨ÿÿµ¸\ÿîÍÿñ7ÿùMÿýÿ×DÿþHÿëJÿðRÿíVÿýXÿõ£ÿþ¦ÿþ§ÿþ¨«ÿëµÿí¸ÿí¾ÿú\ÿûSYÿóZÿù\ÿî7ÿ SYÿóZÿù\ÿîÍÿò7ÿWÿöYÿîZÿö[ÿå\ÿêÍÿëWÿü\ÿðFX+ÿ»ÿÑÿ»ÿêÿêDÿûFÿúGÿÿHÿõIJÿüLNORÿúSTÿýVWXYZ[\] ¢ÿû£ÿû¤ÿû¦ÿû§ÿû¨ÿÿ©ÿ÷ªÿõ«ÿõ¬ÿõ´ÿúµÿú¶ÿú¸ÿúºÿúÏÿúÿøÍWÿýÍÿêÿäÿä6ÿøDÿÿHÿòKÿýRÿô£ÿÿ¦ÿÿ§ÿÿ¨«ÿòµÿô¸ÿôÍÿÿÍÿøÿ»ÿôÿ»ÿéÿéDÿîFÿðHÿëJÿòRÿïVÿ÷¢ÿî£ÿî¤ÿî¥ÿî¦ÿî§ÿî¨ÿòªÿë«ÿë¬ÿë´ÿïµÿï¸ÿïºÿïÏÿðÿÎÿÿÿÎÿéÿéDÿñFÿùHÿôJÿúRÿ÷Vÿû¢ÿñ£ÿñ¤ÿñ¥ÿñ¦ÿñ§ÿñ¨ÿõªÿô«ÿô¬ÿô´ÿ÷µÿ÷¸ÿ÷ºÿúDÿïFÿéHÿäRÿçTÿì«ÿäÿºÿòÿºÿåÿåDÿêFÿíHÿèJÿïOÿüRÿìVÿô¢ÿê£ÿê¤ÿê¥ÿê¦ÿê§ÿê¨ÿîªÿè«ÿè¬ÿè´ÿìµÿì¸ÿìºÿí &ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿÿý&ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿDÿüEFÿõGÿøHÿðJÿöRÿóTÿøWÿðXÿôYÿáZÿë\ÿÞmÿÔÍÿ¿áÿØ &ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿ &ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿÿý&ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿDÿüEFÿõGÿøJÿöRÿóTÿøWÿðXÿôYÿáZÿë\ÿÞmÿÔÍÿ¿ÑÿÈáÿØÿý&ÿÜ*ÿÝ2ÿß4ÿà7ÿ£8ÿÛ9ÿµ:ÿÍ<ÿDÿüEFÿõGÿøHÿðJÿöRÿóTÿøWÿðXÿôYÿáZÿë\ÿÞmÿÔÍÿ¿ÑÿÈáÿØ$ÿá7ÿÖ9ÿÓ<ÿÅ$ÿÝ7ÿÖ9ÿÓ:ÿé<ÿÅ7ÿÖ9ÿÓ<ÿÅ7ÿÖ9ÿÓ<ÿÅ$ÿÝ7ÿÖ9ÿÓ:ÿé;ÿÒ<ÿÅ$ÿß$ÿÜÿåÿç$ÿÜPÿüQÿüSUÿü$ÿÜÿåÿç$ÿÜEPÿüQÿüSUÿüYÿëZÿó\ÿæYÿëZÿó\ÿæYÿëZÿó\ÿæYÿëZÿó\ÿæYÿðZÿö\ÿìYÿñZÿ÷\ÿíYÿñZÿ÷\ÿíYÿîZÿö\ÿêYÿîZÿö\ÿêWÿöWÿöYÿîZÿö[ÿå\ÿê$ÿà+ÿô.ÿö2ÿøKN$ÿê7ÿä9ÿÖWÿýYÿß\ÿÚ$')*-/13 5= DFHLN\‚‡,‰‰2”˜3šž8¢£=¦¨?«¬B´¶D¸¸GÎÏH""J??K TnDFLTarmn&hebr2latn>ÿÿÿÿÿÿÿÿfracliga " ÌN^¦&Pfæ "æææ "ææ æ zJT^hô- "(MIOLILKOJLIIõMOWNW MOLL,ILVAIniL}‘…áÈÈÈÈÈÈ1 À_ŽÿP`û PfEd@ ÿýuþ5ZuË€¿Ýõ|` ~€‰Œ“™Ÿ¥©«®ãíõ3TY\ajmsu…‰Žœž ÇËÝ (uz~ŠŒ¡Î_ÄÈÌõùV^‡Š¹Äê ,J   3 9 C E I M Q p ƒ Œ ¨ ° ² ¹ ¼ Ä È Í × Ý ã ú  ( 0 3 6 9 < B H M \ ^ p t ‚ ‹ ¨ ° ³ ¹ Ã È Ì Ð ï        ! + 0 3 9 C G ` o ƒ Š • š œ Ÿ ¤ ª µ ¹ Á È Í × Ý á ƒ Š š œ ¨ ³ ï ƒ … ‹ ‘ ” œ ž ¢ ¥ « ± » ½ Æ Ê Ô Ö Ù ßEMWY[]}´ÄÓÛïôþ   # & 7 = D I K q y ‰ ¨ ª ¬! !!!!"!(!-!3!!•!µ!Ô""" """"" "."4"<">"C"I"`"e"—"¥#%Ê&j00000“0™0›0þöAö¾öÃöÜûû6û<û>ûAûDûOÿýÿÿ  ‚‹Ž™¥§«­Äæðø&PV[`emouy‚‡Œœž ÆÊØ &tz~„ŒŽ£ŒÇËÐø1Za‰°»Ð0     5 < E G K P f … “ ª ² ¶ ¼ ¾ Ç Ë × Ü ß æ    * 2 5 8 < > G K Y ^ f r … • ª ² µ ½ Ç Ë Ð æ         * / 2 6 > G ` f ‚ … Ž ’ ™ œ ž £ ¨ ® · ¾ Æ Ê × Ú á ƒ … Ž ’ œ ž ° æ ‚ … ‰ ‘ ” ™ ž   ¤ § ­ ³ ½ À Ê Ï Ö Ø ß HPY[]_€¶ÆÖÝòö    & 0 9 D G K p t € § ª ¬! !!!!"!&!*!0!S!!µ!Ð"""""""" "'"4"<">"A"I"`"d"•"¥#%Ê&j00000A0™0›0¡ö9ö¾öÃöÜûûû8û>û@ûCûFÿýÿÿÿõÿãÿÂÿÁÿÀÿ¿ÿºÿ·ÿ²ÿ±ÿ°ÿ¯ÿšÿ˜ÿ–ÿ”ÿ’ÿŒÿpÿoÿnÿkÿhÿfÿeÿdÿaÿ_ÿ^ÿ\ÿ[ÿPÿOÿNÿ)ÿ'ÿþùþøþ÷þõþôþãþ˜þ”þ‘þŒþ‹þŠþ‰þXþ,þ*þ(þ%þ#ýìýéýçýæýÁýÀýµü üžü›úåúãúâúàúßúÞúÜúÛúÚúÙú×úÃú³ú²ú°ú®ú­ú¬ú©ú§ú¦ú¤ú¢ú™ú•ú”ú’úˆú„ú‚úú€úú~ú|ú{úwúuújúiúbúaúUúSúJúIúHúGúDúAú?ú<ú'úúúúúú ú ú ú úúùýùüùúùöùóùÛùÖùÄùÃùÀù¿ù¼ù»ùºù·ù´ù±ù°ù¬ù¨ù§ùžùœù™øøø÷øôøóøòøñøêø¸ø&ø%ø"øøøøøøøøøøøø øøøøæàæÞæÜæÚæØæ×æÖæÕæÔæÒæÑæÐæÎæÍæËæÊæ¹æ·æ´æ²æ©æ¨æ¢æ æŸæ{æyæsæVæUæTåöåóåðåìåçåäåãåáåÂå²å“åyåNåMåLåGåDåBå@å?å9å4å-å,å*å%åå äÝäÐävá­á×x×w×v×t×I×D×C×>ˆ„l I 3 2 1 0 / .’²Ÿ À~{€utho  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a†‡‰‹“˜ž£¢¤¦¥§©«ª¬­¯®°±³µ´¶¸·¼»½¾rdeix¡pkvjˆšsgwl|¨ºcnm}b‚…—¹Áy„ŒƒŠ‘Ž•–”œ›qz!yÿÿ!nš.±/<²í2±Ü<²í2±/<²í2²ü<²í23!%!!!MþÔ þõšýf!X|ÐÙ #'#5Ð'STÙþ®ßßRýhh4Ð1Å 3#'73#'4]' ]'Åo††oo††ÿì¹3#3##7##7#537#537337#3å$]jiu'L&|'L&erly$L$}#0| }¹ÄD®DÓÓÓÓD®DÄÄÄþø® ÿ‚3:C3#&'&'&##5&'&7453&'&54767567654'&ó;~/O9dUD 1K;š+O#G]!GŒ`¯=*/6 ]&/M" ù0jh= gg u'0 J0 3_’*þÉð LZþù(<=ÿì[Å!%5F2#"'&5476"327654'&%3#2#"'&5476"327654/&ÇT3?/18Lt8!4$JF A.?2EljÙp&;Y$]]$Y;&2ÿöÚ ##5#5353ÏFÏÏF FÏÏFÏÏWÿmÀh 73#5676=#Wii+ ,R>TU(=$/L(GZ¹dT](4X6GOS;SwD4‚B$/V.?(3f%.Å #6767!5ÊB ^2]7]þÅJþôþñ/1Ú«e„W%ÿéÅ,<#"'&547&'&547632'"327654'&"327654'&‡zV?Y|C/yHQ7Mt;&- P =#P A!Y'B".['C#u:wp=.R:Pv:-0c5%L0AD)ü:F 9K þ×@!*R&A!*R&&ÿéýÅ02#"'&'332765"'&5476"327654'&ïA5as7XI o" F\p>,R>WL(G&S)=%Åþ¦¹dQ](4X6GMS;SwD4M@# f%A$0W.nÖ 7#5#5Öhhhhhh¤hhnÿm× #53#5676=#×hii+ < hhþ\xƒ&'-ÿ÷Ú75% -éþvŠÆEÏO¡¤O2oa!5!5þäþaFF¬FF2ÿ÷Ú5-5þŠþv EÏO¡¤OMýå%)%#5476767674/&#"#47632#5JZ#J=RU´~83? ZÇ72%!BBF :"@ÓS$+F;:Žhh"ÿr·åFY3327654'&'"#"327#"'&'&5476767632#"'#"'&547672'"3276767'&'&™SZ  @53ac“q"cil¢Orpr´ƒz_#l—%%¦{tVLn`BLR/"OMeT&€B2-/:,! /õþè# HGWxY\f"qŽad C*kd“š‚'be^‡yfYMHE1AmTSWG?PC"A0T0Ù %!#3# ÚþçMcxhepxÛÛÙý')Lþ´OoÙ'3!2#32764'&+4'&+3276O(g7:ei89fì´H"(("H´fG"ããA "Ù34Rp/)PX;=ŸvþHW û#$0ÿé¥å#&'&'"32767673!"'&547632–_&6Z€=(_;Sm3 `!þõRjfR•î÷K#,sKpªO1M *GþßUm¹·o[Y›Ù 3!2#'327654'&+Y£O!tIl¼¬®% ¨¬Ù„+QlÑ_=Rµ-8ö ZeÙ !!!!!·®ýõùþdLúRÙRéRZCÙ #!!!·]éþt\Lþ´ÙRéR,ÿéÅå)#'#"'&54767632#&'&#"276=#5Å;h‘™^WfU…³Q! __*5„G5=HprB1Þþ{atrh¢°n Fv1Bb$hNs~T HP]§Ù(#!2#&574'&#'327654'&+º]Pª) H> qPðáy& Iá:þÆÙx!*b3 (%V` 0GAmRVB 0ÿémå6#&'&#"#"'&'332767654/&547632TXm (h) 6)·x: I„©L*X3uY-,nµh@[°?o>8 1!aT? 8h9^&)!=8L#0%…|8"o1QÙ##5!b]ð<‡ýy‡RRUÿé…Ù3#"'&5332765(]hHi¥I)]n"*|-Ùþ‚A-e:Qþu P",…Ù!#33ˆdþúdÖÊcÙý—i¡Ù !# #333èf¨£f»h‰¢d¦†hWý©Ùý°Pý°P‰Ù # #33‡sÇÈqòq»¼ovþŠ0þÐvcþâ •Ù#33ƒ]þçsÖÐoþâ»þcGÙ !!5!5EþL¶ýÕ¶þfÙTýÍRR5R@ÿ,úÙ#3#úggºÙHüãH­ÿøÿìÙ#/í7íÙýíÿ,ÑÙ53#53ggºÔHHüS,I©Å3# #ÅI›EzyEÅþ„,þÔÿêÿPBÿ‚!5Bý¨~22Pçä#'‡`<•ä””*ÿé->%#"'&'"'&5476767676=4'&#"#6763232'53276#G W[n+\$^I QgT!7w°- ‰ R jCH4 1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/6ÿé Ù 3632#"'#"327654'&6S9i€;%[9Pk;KåS'E!,T*H%ÙþìVlDc¡M1ZCÍT2E}4O3F5ÿéÝ #&/"3273#"'&547632×T T^#O'kT h+8>)\;Rj:\ad.?‰-~‰.iFe M1D+ÿéïÙ$#5#"'&547632"327654'&ïJ:V ‚<&Y9Ol5“U)F$/S'H!Ùý'ESpGgšK/QþôR&3z6R2Eƒ3(ÿé$%!3273#"'&547632!654'&#"þ~+Sf#Th,6ˆ?'^—X%N'Y#R þJš@ <X''1)fR @M™O6[Z0B‹/\.?–+FæÙ367632#4'&#"#FS6Bn'S" *T%SÙþëF J'þtk7M*:þßB–Ù#7#5–SST ýô Íiiÿîÿ&™Ù3"#"'532765#5FS€ 4 SS ý‡gG %ii:öÙ 73##Þk¶Ög±QSÙþUÞµþ©PÌÙD˜Ù#˜TÙý'ÙFú*36763267632#4'&#"#4'&#"#FM6JY+6?zT?=%TG >%T JL AA bþwiQ6%.þ·iW8$-þ·Fç367632#4'&#"#FM6Li*S;T%T XUF )þtkF M*:þß$ÿéþ2#"'&5476"327654'&˜9f8O X„Y$ x7+7E%'B8 %BX?&(7L! c?4J .Wš?$&*'C…é',%'#"''7&547'76327'"327654'&å:5(<5)380 687,5:(;979 /!7 0¾65391+;9-7575:7)42/É/7-: !Å#3##5#535#5333着ªX¬¬¬—ÍU¹³UÉb3M3¯¯3M3cþ¾Bþdÿ, Ù3#3#d<<<<Ùþo‹þo+ÿ+úÙBP#54'&#"#"'&'&53327654/&'&54767&547632654/ÐT76 +’Rm0G2Bd4 U7@ 7ªTO ,D2Cc0þì¦II¡>  G+ $^58!s)70U1"E!56,/2&u:Q T333O1%J+<þ½{'?=3m(* ) d(Ë#5!#5†h hËggggÿóÿêïæ 8H327673#"'&547632#&'&#"2#"'&'&547676"27654'&ú6(RG1We6'P1Dx'G2 K w—nl jg™ ‘mkgf“\\[_|‡\[\[f_0rO%FU=Uƒ@(M L)Ige“›nl fe—nl >]]†‚^^_]…ƒ^]%/Mæ+7!5%#"'4'#"'&54767676=4'"#6723232'5276@þë", 18J9 D+C/ ;szT>? 04 b33_,%+8>  + g^³G3  +#bjǶ 757757b˜jj5˜jjãYzSSSSyYzSSSS(V w!#5!(øFþNwþßÛ.ð8#5î8HHÿóÿêïæ!9I#32#&574/3674/#72#"'&'&547676"27654'&FÎ ! O.†G4a—nl jg™ ‘mkgf“\\[_|‡\[\[E¹½~3+=#*(;? ::Üge“›nl fe—nl >]]†‚^^_]…ƒ^]w.½!5.þî½FF—Æ®2#"'&5476"327654'&/J- <)4H. <(44,7,®;)3L-;)4J.9,3.42ÿõo ##5#5353!5ÏFÏÏFÏþ FÏÏFÏÏþ›FFFÅ!!676?654'&#"#67232CþÐ&;:;+3 >†W' `?1V:U* /- '+‘;R/ "BÅ-527654/"#632#"'&53327654'&'&‡U25 ?` 9GG$0q >? H( Ü3 4 #%ŽB;LR"VN 8 .\P-ä3#¼q•<ä”Aÿ$  %#"'&5#"'#332765332 !O;h6$SS:U&S-1? ISßèþF N*9)þL)0ÿO Ù####&'&'&54763 9@R@M0IM>UÙ@ü¶Jü¶´(=i pG9W.Ó«#5Ó|«}}'ÿ*;632#"'&'72765&'"'¥& FB ,?  9 & ' 87?( "=ÞÅ #5767673# c= +>D.)þW(/Dæ$!52#"'&5476"327654'&:þùƒlO#e T ;7;: b33„j%w% _"+~" 4C&]Cabjö 57'557'5üšllašll=YzSSSSyYzSSSS=ÿìQÅ #5767673#3#%#533##= c= +>ã:þ<:¼Ì.CC>D.)þW©ý'x; þð5d™ªª=ÿìLÅ 1#5767673#3#%!676?654'&#"#67232 c= +>Ë:þ<:¢þÐ&;:;+3 >†W' `?1D.)þW©ý'N:U* /- '+‘;R/ " ÿìQÅ-1<?527654/"#632#"'&53327654'&'&%3#%#533##=‡U25 ?` 9GG$0q >? H( Ó:þ<:¼Ì.CC>Ü3 4 #%ŽB;LR"VN 8 .éý'x; þð5d™ªª_ÿ' #'3327653#"'&54767676=3Z) J=&RU´71? ZE72%$ BBF:"@ÓU->F:9Žhh« %!#3# #'ÚþçMcxhepxX`<•ÛÛÙý')Lþ´‚””« %!#3# 3#ÚþçMcxhepxšq•<ÛÛÙý')Lþ´‚”¬ %!#3# 3#'#ÚþçMcxhepxH_`?QO@ÛÛÙý')Lþ´ƒ–``” %!#3# 3#"'&#"#6763232ÚþçMcxhepxÚ:J@# :;*'ÛÛÙý')Lþ´kh %] ’ %!#3# #5!#5ÚþçMcxhepxZh hÛÛÙý')Lþ´igggg¹ +%!#3# 2#"'&5476"327654'&ÚþçMcxhepxw2 +0 *   ÛÛÙý')Lþ´+ 1 */ ,   ¶Ù%!#!!!!!!#ÔþóUg+nþ`þ …þdŠÖÖÙRéRúR(_þ¡0ÿ*¥åB632#"'&'732765&'"'7&'&'&'&54767632#&'&'"32767673{ FB .D 9 & ' U- maR•î+_&7X=(`;Rm3 `!!7?( "E NŸ+/²o[îK#+sKp¬O0M +GþßZe« !!!!!#'·®ýõùþdþü`<•LúRÙRéR_””Ze« !!!!!3#·®ýõùþdÖq•<LúRÙRéR_”Ze¬ !!!!!3#'#·®ýõùþdþå_`?QO@LúRÙRéR`–``Ze’ !!!!!#5!#5·®ýõùþdþ÷h hLúRÙRéRFggggÒ«#7#'Á]`<•Ùý'ÙÒ””G«#73#Á]Cq•<Ùý'ÙÒ”ÿÿ¬ #'3#'#Á]_`?QO@Ùý'ÙÓ–`` ‹ #7#5!#5Á] h hÙý'Ù²gggg›Ù#53!2#!327654'&+3YEE£N!uIjþæ]­²"¡­«SCC„+QlÓ_;Sþÿ¿*2ï%ñCL†” ##3'3#"'&#"#6763232†iþ‡Xe}[:J@# :;*'Ùý'Oý±Ùý¬T»h %] &ÿéæ«"&2#"'&5476"327654'&#'…®a8R[‡§bWo_‘‚H8_CaH:bB~`<•å{&`ƒ”iMuh¡¸k[RfPvžS;dOu¥S8””&ÿéæ«"&2#"'&5476"327654'&3#…®a8R[‡§bWo_‘‚H8_CaH:bBCq•<å{&`ƒ”iMuh¡¸k[RfPvžS;dOu¥S8”&ÿ鿬")2#"'&5476"327654'&3#'#…®a8R[‡§bWo_‘‚H8_CaH:bBŽ_`?QO@å{&`ƒ”iMuh¡¸k[RfPvžS;dOu¥S8–``&ÿéæ”"82#"'&5476"327654'&3#"'&#"#6763232…®a8R[‡§bWo_‘‚H8_CaH:bB:J@# :;*'å{&`ƒ”iMuh¡¸k[RfPvžS;dOu¥S8h %] &ÿéæ’"&*2#"'&5476"327654'&#5!#5…®a8R[‡§bWo_‘‚H8_CaH:bB|h hå{&`ƒ”iMuh¡¸k[RfPvžS;dOu¥S8ÿgggg_"è« ''7'7¶1’“2“’2“’1’«2’“2“’1“’1‘ÿéèó'?&5476327#"'7&#" 327654QLp_‘‰]W(YTp_‘aMi€Ib„H7Ñþ}Jk„H7Yj’¸j[Q_$ajž¸j[ZTÁ£@gOuh*þ[JgOurUÿé…«3#"'&5332765#'(]hHi¥I)]n"*|-Ú`<•Ùþ‚A-e:Qþu P",Ò””Uÿé…«3#"'&53327653#(]hHi¥I)]n"*|-¥q•<Ùþ‚A-e:Qþu P",Ò”Uÿé…¬3#"'&53327653#'#(]hHi¥I)]n"*|-ê_`?QO@Ùþ‚A-e:Qþu P",Ó–``Uÿé…’3#"'&5332765#5!#5(]hHi¥I)]n"*|-Øh hÙþ‚A-e:Qþu P",¹gggg •« #33%3#ƒ]þçsÖÐoþØq•<þâ»þcÒ”[hÙ7#332#'327654'&+¸]]Ћ8N5HåÂd N"½½Ùx_1Dn:(RK[ Cÿñ;Ø1674/&#"#47632"#"'5327454'"+&”K&sX]8R“=O@"Ž1=!¤˜ « hJ V(þq4S)8_3J'$´4KŒ…*ÿéä->B%#"'&'"'&5476767676=4'&#"#6763232'53276#'#G W[n+\$^I QgT!7w°- ‰ R jCH4 Š`<•1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/f””*ÿéä->B%#"'&'"'&5476767676=4'&#"#6763232'532763##G W[n+\$^I QgT!7w°- ‰ R jCH4 Uq•<1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/f”*ÿéå->E%#"'&'"'&5476767676=4'&#"#6763232'532763#'##G W[n+\$^I QgT!7w°- ‰ R jCH4  _`?QO@1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/g–``*ÿéÍ->T%#"'&'"'&5476767676=4'&#"#6763232'532763#"'&#"#6763232#G W[n+\$^I QgT!7w°- ‰ R jCH4 :J@# :;*'1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/Oh %] *ÿéË->BF%#"'&'"'&5476767676=4'&#"#6763232'53276#5!#5#G W[n+\$^I QgT!7w°- ‰ R jCH4 h h1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/Mgggg*ÿéò->O_%#"'&'"'&5476767676=4'&#"#6763232'532762#"'&5476"327654'&#G W[n+\$^I QgT!7w°- ‰ R jCH4 q2 +0 *   1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/t+ 1 */ ,  "ÿéM;LU%3"'&'&'#"'&54767676=4#"#6763267632!32%5"32767!4'&#"ïTd32k; ][g+d6jF vgT!7u€/1^oB þ~+Seþ³![g<=21P&A"-U)Ÿv,Ca H$/i%  NM H%=RE P 7pH(Dge0=&&°],K$ÿ*Ý?632#"'&'732765&'"'7&'&'&547632#&/"3273 C B ,<  7"& ' 9$Z \;Rj:T T^#O'kT[2!2 ?) "G @Ž M1D+Fad.@‰-z5(ÿéä$(%!3273#"'&547632!654'&#"#'þ~+Sf#Th,6ˆ?'^'']&M )Z'Re-'(,/-%)DAfq Á?„>W²B# (f\0@‡1X/B‘.FçÍ-367632#4'&#"#3#"'&#"#6763232FM6Li*S;T%T4:J@# :;*' XUF )þtkF M*:þßÍh %] $ÿéþä#2#"'&5476"327654'&#'˜9f8OEJGs¯F$AA¨þó0\0@B· 4\0@DAÿéâä!#5#"'&53327653'#'âK8Jk)S;U&Sï`<•IO F )”þF N*9)Ø””Aÿéâä!#5#"'&53327653'3#âK8Jk)S;U&Sºq•B%#"'&'"'&5476767676=4'&#"#6763232'53276!5#G W[n+\$^I QgT!7w°- ‰ R jCH4 þî1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/?FF£ %!#3# 3327653#"'&ÚþçMcxhepx;TM ; V*ÛÛÙý')Lþ´zB9‡9*ÿéÜ->L%#"'&'"'&5476767676=4'&#"#6763232'532763327653#"'&#G W[n+\$^I QgT!7w°- ‰ R jCH4 þù;TM ; V*1? ?LK#-f&   @ K H%=t þÌ)v^ 6 A/^B9‡9ÿ3´Ù%!#3327#"'&54767# ÚþçMcx`H%0!$?F$epxÛÛÙý'.;7 - 9:&)Lþ´+ÿ3T8I%327#"'&'4767&'#"'&5476767676=4'"#6763232'53276HH&*+=/ 9Qan+]#]F uhT 8v°- Š R jCH4 1?#87 - <. CMK#-e'   MM G&=t þÌ)v^ 6 A/0ÿ饫##&'&'"32767673!"'&547632'3#–_&6Z€=(_;Sm3 `!þõRjfR•îÕq•<÷K#,sKpªO1M *GþßUm¹·o[Æ”ÿéÝä $#&/"3273#"'&5476323#×T T^#O'kT h+8>)\;Rj:§q•<\ad.?‰-~‰.iFe M1D+B”ÿÿ0ÿ饗'ï²&ÿÿÿéÝÊ'ïƒÿåFÿÿ0ÿé¥i'ôÚ&ÿÿÿéÝœ&ô\ÐF0ÿ饬&#&'&'"32767673!"'&547632'#'373–_&6Z€=(_;Sm3 `!þõRjfR•î¿_`?QO@÷K#,sKpªO1M *GþßUm¹·o[1–``ÿéÝå '#&/"3273#"'&547632'#'373×T T^#O'kT h+8>)\;Rj:˜_`?QO@\ad.?‰-~‰.iFe M1D+­–``Y›¬ 3!2#'327654'&+7#'373Y£O!tIl¼¬®% ¨¬Ì_`?QO@Ù„+QlÑ_=Rµ-8ö –``ÿéˆÙ$2#5#"'&547632"327654'&3+52545#ïJ:V ‚<&Y9Ol5“U)F$/S'H!ñd077Ùý'ESpGgšK/QþôR&3z6R2Eƒ3 gL &N›Ù#53!2#!327654'&+3YEE£N!uIjþæ]­²"¡­«SCC„+QlÓ_;Sþÿ¿*2ï%ñCÿé-Ù(3##5#"'&5476325#5353"327654'&î??JFbv>.Y8Oa@––SåU)D$0T'H 5ý¨;ReKo™K/N‹5LþðQ1Ev5R1B€2Ze„ !!!!!!5·®ýõùþdbþîLúRÙRéR8FF(ÿé½$(%!3273#"'&547632!654'&#"!5þ~+Sf#Th,6ˆ?'^—X%N'Y#R£;UM ; V* þJš@ <X''1)fR @M™O6[Z0B‹/\.?–+B9‡9ÿÿ,ÿéÅi'ôå*ÿÿÿ&éœ&ôXÐJ,þãÅå)6#'#"'&54767632#&'&#"276=#53#52545#Å;h‘™^WfU…³Q! __*5„G5=HprB1ÞDd;77þ{atrh¢°n Fv1Bb$hNs~T HP—X%N'Y#R%d;57 þJš@ <X''1)fR @M™O6[Z0B‹/\.?–+‚gX&KÿÿS„—'ïȲ+ÿÿÿàæ—'ïÿ̲K'°Ù!5%53!533##!##5°wþ,]w],,]þŠ^,øZZH™™™™FþLþ´úFæÙ3#67632#4'&#"##5353™––6Bn'S" *T%S??S5”F J'þtk7M*:þßX5Lÿÿÿö0i'÷ÿñœ,ÿÿÿë%œ&÷æÏó„#7#5Â^®þÙý'Ù«FFÿðç½#7#5•S¥÷ ýô ±FFÿÿÿý*ˆ'óÿî¬,ÿÿÿñ»&óâßóBÿ4êÙ327#"'&54767#Â8"  I 3 +Ùý'38(  - 14, Ùÿ4¾Ù327#"'&54767#7#5–* " F -  ST ýô&1 *  - /0+  Íii`È“#7#5Ã^chÙý'Ùºhh^² #²T ýô ÿÿdÿérÙ'-È,ÿÿBÿ&1Ù'M˜Lÿÿÿé —'ïØ²-ÿàÿ&ÿ3"#"'5327653#'#FS€ 4 _`?QO@ ý‡gG ]–``Oþã’Ù #33 #3#52545#¬]]kxþ×,nþÿd;77ÿÿÙþqþ×þPvþNgX&N:þãöÙ 73##3#52545#Þk¶Ög±QSŸd;77ÙþUÞµþ©PÌÙüëgX&N:ö 73 #%#Þkþð0gþþS ÞÞþüþøØØ F« !!73#­hþ;Vq•<ÙýyRÙÒ”?«#73#˜T[q•<Ùý'ÙÒ”PþãÙ!!3#52545#­hþ;±d;77ÙýyRÙüëgX&N?þã£Ù#3#52545#˜Td;77Ùý'ÙüëgX&NPÙ!!;+52545#­hþ;Ád077ÙýyRÙgL &ND1Ù#;+52545#˜T‰d077Ùý'ÙgL &NÿÿPÙ'y/ÿÿD±Ù'yÞO(Ù 7!!573­««{þ(PP]–yLz÷R9M8uÔÙ 7#573’BBS??S¥3@3þ›92@2`L†« ##3'3#†iþ‡Xe}©q•<Ùý'Oý±Ùý¬TÒ”Fçä367632#4'&#"#3#FM6Li*S;T%Tðq•< XUF )þtkF M*:þßä”Lþã†Ù ##33#52545#†iþ‡Xe}þüd;77Ùý'Oý±Ùý¬TüëgX&NFþãç$367632#4'&#"#3#52545#FM6Li*S;T%TŸd;77 XUF )þtkF M*:þß­þ°Hþ[;|e6336d}GõRJ\\d¸ÎeEXLRîR‘exNMLN(ÿéƒ%9B%3#"'&'#"'&54763267632!32"327654'&'&!4'&#"$Tf,7|@?ƒ›8z1B‡=6gsA þ~+Sfþ]&O(['QÝ&A"-U)Ÿx+]g…>WÀ?jXR7pH(D˜]'5 ‹/Y0A.  ],K$]§«(,#!2#&574'&#'327654'&+3#º]Pª) H> qPðáy& IáÅq•<:þÆÙx!*b3 (%V` 0GAmRVB $”EKä367632#3#EM::  H;T•q•< _]U+nþðä”]þã§Ù(5#!2#&574'&#'327654'&+3#52545#º]Pª) H> qPðáy& Iá…d;77:þÆÙx!*b3 (%V` 0GAmRVB ý=gX&NAþãA367632#3#52545#EM::  H;Td;77 _]U+nþð qPðáy& IáÚ_`?QO@:þÆÙx!*b3 (%V` 0GAmRVB –``0Oå367632##'373EM::  H;Tª_`?QO@ _]U+nþðO–``0ÿém«6:#&'&#"#"'&'332767654/&5476323#TXm (h) 6)·x: I„©L*X3uY-,nµh@[°?êq•<o>8 1!aT? 8h9^&)!=8L#0%…|8"o1f”"ÿéËä04#&#"#"'&53327654/&'&5476323#¶XfRBPvZ4JÂX!GT 6NwT1D‘# £q•<zT1-F`,¢ /#/.3+]*eI”ÿÿ0ÿém­'ï¬È6ÿÿ"ÿéËÊ&ïVåV/ÿ*måW632#"/732765&'"'7&#'&'&545332767654/&547632#&'&#"OFB -B 9 & '  ,u1X3uY-,nµh@[°?Xm (h) 6)·xG#8 7?( "Eb4>&)!=8L#0%…|8"o1Bo>8 1!a^@"ÿ*ËM632#"'&'732765&'"'7&'3327654/&'&547632#&#"ôFB -B 9 & ' ¨X!GT 6NwT1D‘# XfRBPvA& 7?( "G /#/.3+]*e!T1-FO/ 0ÿém¬6=#&'&#"#"'&'332767654/&547632'#'373TXm (h) 6)·x: I„©L*X3uY-,nµh@[°?Ø_`?QO@o>8 1!aT? 8h9^&)!=8L#0%…|8"o1Ñ–``"ÿéËå07#&#"#"'&53327654/&'&547632'#'373¶XfRBPvZ4JÂX!GT 6NwT1D‘# _`?QO@zT1-F`,¢ /#/.3+]*e´–``ÿÿÿ*QÙ'z€7ÿÿÿ%œ&zéWQ¬##5!'#'373b]ð<î_`?QO@‡ýy‡RR–``ÿéA %#327#"'&5#53533+52545#þV 'Y GGS5d077 Dþ™&FC ŒDgL &NQÙ##5!b]ð<‡ýy‡RRÿéþœ#327#"'&5#5353þV 'Y GGS Dþ™&FC ŒDÿÿUÿé…i'÷Ëœ8ÿÿAÿéâœ&÷pÏXUÿé…„3#"'&5332765!5(]hHi¥I)]n"*|-2þîÙþ‚A-e:Qþu P",«FFAÿéâ½!#5#"'&53327653'!5âK8Jk)S;U&SGþîIO F )”þF N*9)±FFÿÿUÿé…ˆ'óȬ8ÿÿAÿéâ»&ólßXUÿé…¹&63#"'&53327652#"'&5476"327654'&(]hHi¥I)]n"*|-»2 +0 *   Ùþ‚A-e:Qþu P",à+ 1 */ ,  Aÿéâò(8!#5#"'&53327653'2#"'&5476"327654'&âK8Jk)S;U&SÑ2 +0 *   IO F )”þF N*9)æ+ 1 */ ,  Uÿé…«3#"'&53327653#%3#(]hHi¥I)]n"*|-ßq•<q•<Ùþ‚A-e:Qþu P",Ò–––Aÿéä!#5#"'&53327653'3#%3#âK8Jk)S;U&Sïq•<q•,6Aÿ4  *327#"'&547#5#"'&5332765â;- 3` `8Jk)S;U& ýô"4 (  - 6=2IO F )”þF N*9)ÿÿ¡—'ï8²:ÿÿÄÊ'ïÂÿåZÿÿ •—'﮲<ÿÿÿ&ÞÊ&ïVå\ •’ #33%#5!#5ƒ]þçsÖÐoþ£h hþâ»þc¹ggggG« !!5!5%3#EþL¶ýÕ¶þf#q•<ÙTýÍRR5RÒ”Éä !!5!573#»þÉEþV9þÜâq•< Jþ‡IKxIØ”G“ !!5!5%#5EþL¶ýÕ¶þf;hÙTýÍRR5RºhhÉÌ !!5!57#5»þÉEþV9þÜûh Jþ‡IKxIÀhhG¬ !!5!5%#'373EþL¶ýÕ¶þf6_`?QO@ÙTýÍRR5R=–``Éå !!5!57#'373»þÉEþV9þÜö_`?QO@ Jþ‡IKxIC–``Ü3##53547632&#"«SFFJ :ÈDYXE5ÿÿÿé-ÙGÓGÀ@ÿÿOpÙi6ÿé Ù""327654'&!!632#"'S'E!,T*H%þï‡þÌ9i€;%[9Pk;ÍT2E}4O3F5þ4ÙIËVlDc¡M1ZCpÙ 7327654'&+532#!57537¬ÔQ)A#.Ô¥ú T=UþÆOO]¬R>#.T'ªX­rA/Ý4M4¯qqLÿ÷ÿé Ù("327654'&'632#"'#57537S'E!,T*H%¾9i€;%[9Pk;K??SBÍT2E}4O3F5†VlDc¡M1ZC2@2zN3@ÿÿ0ÿé¥å&ÕÎÀ0ÿéíå/547632&#"1#&'&'"32767673!"'&547632?I 3_&6Z€=(_;Sm3 `!þõRjfR•î÷Y\ O(RK#,sKpªO1M *GþßUm¹·o[ÿé.,(632&#"#&/"3273#"'&547632”R 3T T^#O'kT h+8>)\;RTî>E(Rad.?‰-~‰.iFe M1ÿÿ›Ù’ÿÿNpÙGi¾À@ÿÿ6ÿé ÙGDAÀ@ÿÿZeÙG(¿À@&ÿéæå'67632#"'&547!&'&#"!3276/{Rl®a8R[‡§bWa e?V‚H ùþe;MH,Ä M4{&`ƒ”iMuh¡ œI-f-<•A&d<0ÿémå9#"32765453#"'&'&54767&547632#&'&#";œlQ3+-Yu3&X*L©„I@ m ih@[°?Xm (h) 01=XA;#$8&=->^9h83Tr3-l|8"o1Bo>/--ÿ&CÙ 73#"'5325#!!!Z]X$ D]]éþt\àþ³OQ;˜þ´ÙRéR ÿ,â!#"'732767#53767632&#"Ó~K.:M$ENq}-3@#, G ÎFþsg/7 TaFhP,0O~F,ÿéå9547632&#"#'#"'&54767632#&'&#"276=#5dI 3 ;h‘™^WfU…³Q! __*5„G5=HprB1ÞüY\ O(R{þ{atrh¢°n Fv1Bb$hNs~T HPQI.å{&`ƒ”iMuh¡¸k[þœœI-eGfF‘E*dA6ÿ&HP"2547632&#"3632#"'"327654'&¤V 3þEM;l<&Y'4a@’S'E!,T*G#€YdE(Rý¦æO^oGhšK! Nþï§T2E}4Q2E5ÿÿ0ÿémåG6À@ÿÿ"ÿéËGVíÀ@GÙ 5!!!!5÷Ù þfÛÛ¶ýÕmTRþæþåRRÿ&þœ!&'#53533#327#"'532765ªPGGSVV r 4 CŒDDþ™&£` G ÿéÿÜ!3#327#"'&5#53547632&#"¨VV 'Y GGJ :^RDþ™&FC ŒDYXEÿ&QÙ %327#"'&5##5!bD v]]ð<àþÔ;QFM§ýy‡RRÿÿY¬'?¼'ÿÿYå'@Ä'ÿÿÿéõå'@,GÿÿPÿéÖÙ'-,/ÿÿPÿ&ÅÙ'M,/ÿÿDÿ&wÙ'MÞOÿÿLÿénÙ'-Ä1ÿÿLÿ&kÙ'MÒ1ÿÿFÿ&ÅÙ'M,Qÿÿ£'ð®¾$ÿÿ*ÿéÙ&ðpôDÿÿ"£'ðÿð¾,ÿÿÿùÙ&ðæôóÿÿ&ÿ鿣'ðâ¾2ÿÿ$ÿéþÙ&ðnôRÿÿUÿé…£'ðʾ8ÿÿAÿéâÙ&ðoôXÿÿUÿé…'qÈCžÿÿAÿéâ9&qm|¾ÿÿUÿé…N'vójžÿÿAÿéâ‡'v˜£¾ÿÿUÿé…P'ðÊkžÿÿAÿéâ‰'ðp¤¾ÿÿUÿé…N'C¤jžÿÿAÿéâ‡'CI£¾ÿÿ(ÿéH)Àÿÿ'qªC†ÿÿ*ÿé9&ql|¦ÿÿã'q¬&'ôª©$ÿÿ*ÿé&qn\&ôlßDÿÿ ¶S'qÈ–ˆÿÿ"ÿéM‰'qÿ̨ÿÿ,ÿéÅ£'ðè¾*ÿÿÿ&éÙ&ðZôJÿÿO’£'ð̾.ÿÿÿÔö—'ðÿÁ²Nÿÿ&ÿ#æå'öÉÿð2ÿÿ$ÿ#þ&öTðRÿÿ&ÿ#æS'qà–'öÉÿð2ÿÿ$ÿ#þ‰&qkÌ&öTðRÿÿÿßÿ&þÊ&ðÌåFÿÿYÙ'=Ò'ÿÿY›Ù']Ò'ÿÿÿéõÙ'],Gÿÿ,ÿéÅ¡'v½*ÿÿÿ&é×'v‚ÿóJÿÿL†¡'C ½1ÿÿFç×&CNóQÿÿu'vÕ‘‡ÿÿ*ÿé®'v™Ê§ÿÿ ¶¡'vó½ˆÿÿ"ÿéM×'v=ÿó¨ÿÿÿéè¯'v Ëšÿÿÿâ×'v—ÿóºÿÿþú£'j¿$ÿÿþ¼ÿéÙ&,õDÿÿÿn”/óªéÀ$ÿÿÿ0ÿéÊ/ólÀDÿÿÿe£'p¿(ÿÿþÁÿéÙ&1õHÿÿÿse”/ó¯éÀ(ÿÿÿ4ÿéÊ/ópÀHÿÿþ<£'ÿ¬¿,ÿÿþ1²Ù&¡õóÿÿþ°Â”/óÿìéÀ,ÿÿþ¤²Ê/óÿàÀóÿÿÿ.ÿ鿣'ž¿2ÿÿþ¹ÿéþÙ&)õRÿÿÿ¢ÿéæ”/óÞéÀ2ÿÿÿ,ÿéþÊ/óhÀRÿÿþ®§£'¿5ÿÿþlAÙ&ÜõUÿÿÿ"§”/ó^éÀ5ÿÿþàAÊ/óÀUÿÿÿÿé…£'†¿8ÿÿþºÿéâÙ&*õXÿÿÿŠÿé…”/óÆéÀ8ÿÿÿ.ÿéâÊ/ójÀX0þãmå6C#&'&#"#"'&'332767654/&5476323#52545#TXm (h) 6)·x: I„©L*X3uY-,nµh@[°?þÏd;77o>8 1!aT? 8h9^&)!=8L#0%…|8"o1ýgX&N"þãË0=#&#"#"'&53327654/&'&5476323#52545#¶XfRBPvZ4JÂX!GT 6NwT1D‘# ñd;77zT1-F`,¢ /#/.3+]*eþ)gX&NþãQÙ##5!3#52545#b]ð<þ³d;77‡ýy‡RRý=gX&Nþãþœ$#327#"'&5#53533#52545#þV 'Y GGS9d;77 Dþ™&FC ŒDý¸gX&NÿÿS„£'ðɾ+ÿÿFæ—'ðt²Kÿÿu'ôª©$ÿÿ*ÿé«&ôlßDÿÿZÿ1eÙ'z¨(ÿÿ(ÿ&z^ðHÿÿ&ÿéæ'qáC˜ÿÿ$ÿéþ9&ql|¸ÿÿ&ÿéæ'qçE—ÿÿ$ÿéþ;&qr~·ÿÿ&ÿéæu'ôÞ©2ÿÿ$ÿéþ«&ôißRÿÿ&ÿéæã'qà&'ôÞ©2ÿÿ$ÿéþ&qk\&ôißRÿÿ •S'q¬–<ÿÿÿ&Þ‰&qTÌ\ÿÿ*ÿéDAÀÿòå#4763253#5"#"'&%4'&#"3276V6PZBSS9=1U><s:&5J&7)8Q"ŸJ/PBýô96 VTko;&Y7B`<-`0ÿÿDÿòÁ) À6ÿé Ü .547632&#"#3632#"'#"327654'&6J :SS9i€;%[9Pk;KåS'E!,T*H% YXE5RGVlDc¡M1ZCÍT2E}4O3F5ÿÿÿéÝFüÀÿ&LÙ."327654'&#"'&5476323327#"5 U)F$/S'H!r:V ‚<&Y9Ol5S*  ‹ÍR&3z6R2Eƒ3þxSpGgšK/QüÛ8 GmÿéFÜ."327654'&7#5#"'&547632547632&#" U)F$/S'H!¼J:V ‚<&Y9Ol5J :ÍR&3z6R2Eƒ3‘ý¢ESpGgšK/Q›XEÿÿ(ÿéGH)À@ÿÿ(ÿéH)Àÿÿ"ÿéËGíÀ@ÿÿ"ÿéËÿ&@Š7G547632&#"'3#"'&'33276="'&'&547632'"327654'&œV 3MM)0m Š2U$;Q#;IS=BU9Qb>—X%N'Y#RºYdE(RRþJš@ <X''1)fR @M™O6[Z0B‹/\.?–+ÿÿÿ&éJÿÿFÿ3æ K, ÀFæÜ %547632&#"#367632#4'&#"#FJ :SS6Bn'S" *T%S YXE5RHF J'þtk7M*:þßFÿ&æÜ-4'&#"#47632&#"67632"#"'53276“" *T%SJ :6Bn'€ 4 L·7M*:þßeXE5šF J'þgG ÿøæÙ#5533##5#5–TSPPSKÙiiþ_ÔÔHððHBÿéë 327#"'&5• 'Y  þU&FC Ðÿÿ^² óDÿ&ðÙ3327#"'&DT  † mFüÛ5 G`ÿÿFÿñú P@ ÀFÿ8ú (#"'&'"'&53327653327653úM6J!Y+6?,zT?>%TG >%TÈL AA b‰þ—Q8$-Iþ—W8$-IFÿ&ú:%3#"'53276536763267632#4'&#"#4'&#"#¦Tr 4 ý M6JY+6?zT?=%TG >%Tàþ³` G XJL AA bþwiQ6%.þ·iW8$-þ·ÿîÿ&ç'73#"'532765367632#4'&#"#FTr 4 M6Li*S;T%Tàþ³` G XXUF )þtkF M*:þßFÿ&@'%327#"'&5367632#4'&#"#è  † þ²M6Li*S;T%TàþÔ5 G`M,XUF )þtkF M*:þß$ÿéþ!2#"'&5476&'&#"!3276˜9f8O‹7j B‚ˆ@ˆÿÿµ"#"=336? JLÀ/ Ocj ÿÿnÿm× ®IÿÐ#'ÿ)Ї‡ÿÿKCUK&ý{j-ßÿÿ¦Ð&ÄYȼ02#"'&5476Š    / " " ÿÿÿÔfÐ'ÿ&ÿÿÿ¹qÐ'ÿ !ÿÿÿ£Ð'ÿ#ÿÿÿðÿøÞÐ'ÿB)ÿÿÿžÿþ—Ð'þð.ÿÿÿúÿÿÀÐ'ÿL2ÿÿÿßÿø_'ÿ‘&jÁóB¦Ì!#'!#3&'¦jTþÔNffHh = ÚÚÌþZ%VœD&JgÌ#,%#!!2'4'&'&+32764'&+32g> <†þð ”; U%M3 #Fœ?Hm*¦²ªÔ^; 0ÌP$`0 5ÛE ØìböR6Ì!#!6þ|`äxýˆÌ ÿÿ«Ì!%#3&'&'«þâþfš©  ˜Ìýˆ¼ &AIþ\PfÌ )!!!!!fýêþXŒþt¸ÌTÜTô#YÌ )567!5!!YýÊp+þpþDÈXÊ7TTýÜAqÌ !#!#3!3q^þŒ^^t^Rþ®ÌþÚ&-ÿóÙÉ$(#"'&'&547632327654/&#"!5!Ùj]ZKP01lZ‹`hý´V@^•BY6H¢9œþ°P]ªfY$%OM}¸fUV\¯L7‚>Y˜N!AkRE£Ì3#3£^^ÌJšÌ !##33š~þþr^^bxþÞjrøÌþžbþÞÿÿ¦¼ !#0#3¦jðš %ffsþMWh¼@ìÌ!###373ì\ÐVÎ\¨&¬€Xý¨býžÌþE%rò8lÌ !##33l`þˆ\bxZ2ýÎÌýÎ2Aÿÿd» !5!!5!!5!Sýî9þg™IýÞ"iRþƒRþpR2ÿøÞ¾#47632#"'&7327654'&'&#"2oZXNM21j^޵^C`V@^•Bf7R¡:R¶cR%&PNz§cW|[€ŠI6=W K&Š@Pÿÿ€¼!#!#!€^þŒ^0iý—¼Nÿÿp¼"+#!24'&+3276pü¸^4CbR>¸ºòÎþã¼ :d[ûV(ÿþ^½!5'5!!!^ýÊìÊþp%t òÈV#óRR&Ž&þÙ'ÿþ_»###5!_î^ì8iý–jRÿþ—» #367—þè\þòpŸ>—ºþnþÖ*’ó.'gáÿþ°¿)##5"'&547635324'&'676°RR|S|RR]QsQ‡SG[\.;p5 þèo6[.XzKMGGMJ{QEPP[Mjp8þc T2‘ P#+u;$¨°!#1#36767673¨tϰpîm™  x fö$ðgHÓ šþ¼4ÿý¶º#+#5#"'&'&5;3327657¶((@ J^i0 FZC#<VqZdX25  9qVþ¸gÛþ%; 8H*ÿÿÀµ)476323!567654'&#"!53&'&/W[nMo ްþî\./SAa{A.sþø®_‹cg0H…)+«[ IM$JMZƒLÿÿÿJòÐ&[@ÿÿ8ÿøÐ&Bÿÿ(ÿòÞ_'0&j`óN0ÿóG"2"'&=&5#"'&5476763533274'&#"3276÷3 )'2Õ!a#*o3H +t)"Iz t ) ñ5Ch FNþ[ ECB7œ±~!2ÿ:øÜ2%#"'&'#476763227654'&+5327654'&#"øQ4IV1 V# 5V‰-`žài'/L2*^ "!0;)Èw:%( ú°p4/b'3z"þÖ\G#JL 8)jþªSÿ: #5&#"'472 ¼V§  */vþææ˜F4þÐ~%ÿðÎ*%#"'&547632'5!!'";2767654'&x5QiDA”& ÓŽþó¯8LøZ*_/6 R!ú¾5DC{¿7 —HH)M5T+7Ž"(\z)'ÿöÜ-%#"547&5476732#&'&#";#"32767Üj*<Öffw'8 ”-Lc =#..\h e$ ˆm ’_`oN(< UB;0J -&ÿ>¸Î$'654'&#"'&54767#5!¸&L" W\M‡/:àdOH.+4K*7aE!. =2qÀ’3%HXXÐrÆ <ÎÒÒÀÿö,Ü(%#"/5'&'#&'&'&#"7632327,0!2 X [ `Æ   !5  ˜ 0ì@6Wù0$E R  'Yþf Nÿ8ò"'&'#3327676=3#5 A' XX = #!!VP': * üÎÚx#= 7jÜýú>= è #367èÄRÄ\s rýúþÂ4,Y <ÿ>¹Î;'67654'&+"'&5456767&'&54767#5!#";#"32¹'J 9;25=K 4 dt¦2"[1Rn`5M&/JE'=^Q  N(8U// ?$F. FF8%'L@D+M" P"ÿó"'&54762'27654'&#"“="DCÖCD]=Xe$I!.e$*( uAZ‡DCCD‡—I0Jd*8/g*5b135ÿüi%#"'&5##'!#32767i07ì^F(@  <Pþ>ÄFFþ²' 9ÿ8$#"'#476324'&#"3276"+Gc5XGGbŒA'Z,,BC),++BA-,b.: GþûÖŠ>>jAa`222/ed1105ÿJõ.#4'&#"'67654'&#&'&/&'&547672õ[S W+Q"ZW0ZHZ0N"L’x>)DbN(Bh.  0,n 48 5hS:uQ6"ÿóN""'&547632!#'27654'&#"“="DCkˆ@]=Xe$I!.e$*( uAZ‡DCRRf—I0Jd*8/g*5b13*ÿüî#327#"'&'&5#5!îÈ   #!P ¤ÄÂþÖ/ O .>2D(ÿòÞ%#"'&'&5332767453Þ /#Y_#/ X $=<# XÆa31c@þâb [ .ÿ8¹ $/7;32+#5#"'&'&547674'&+3276‚E0BX‰N=l7M XŽI b!*^ãE+<_.þ[6&Ã]IkM$¾¾d"4.†XD<[e2þ—L,ÿ,= +"/#&'&##5723327=B1a¸hê•  8:!ƒ™`ÃÈ YÅþîhN1 ôþšû *ÿ8l%##5"'&533327653l(1VÇ& ZD!7Vq ZÖ©% ÆÆ‘ '0þìy!¬þTN#9$ÿ÷À7%27654'7#"'#"'&5476767367676=3þZlP3$c "0`0.bu03PE H) T ?z”u)jJ@¦<ZZr;Mce0E^(0‰  $ßß$ÿÿÿßÿø¾&jÁóBÿÿ(ÿòÞ¾&j`óNÿÿ"ÿôÐ&@Hÿÿ(ÿòÞÐ&5Nÿÿ$ÿ÷ÀÐ'žRÿÿZe•'Cر(OZ’ !!!!!#5!#5¬®ýõùþdþöh hLúRÙRéRFggggÿlÎØ !+536754'###5!#32Ì& #?Qc4Bî]ÇêÅèc,G" B 8 A5þŒˆPPÂK%,ZC• 3#!!3#·]éþtq•<ÙR”0ÿé¥å$32767673!"'&547632#&'&'"!Žb8Jm3 `!þõRjfR•î+_&6Z~= lL£G'M *GþßUm¹·o[îK#,p'2Rÿÿ0ÿémå6ÿÿdÂÙ,ÿÿŒ'jÿêÁ,ÿÿÿéªÙ-SþÙ#!##5276'5!3#74'&+3276á‹R >»89fzG"¿¿A "‡Ü6þº)^Í[±¢þƵX;=ÏW û#$SÌÙ!!#3!33#74'&+3276áþÐ^]1]>»89fzG"®®A "Lþ´ÙþÅ;þƵX;=ÏW û#$ÎØ32#4'###5!#Aèc,]Bî]ÇêÅÆK%,þÖ;5þŒˆPPO’• 3#33 #3#¬]]kxþdŸnþˆºq•<ÙþÅ;þžþ‰DQ”L†• 33###'LX}eXþ‡i&`<•Ùý¬Tý'Oý±•””kˆ3#733%3327653#"'&üqòq¹¸oþA;UM ; V*ôåþ…{¯B9‡9Sÿy…Ù !#5#3!3”Pñ^v^‡‡Ùýy‡ý'ÿÿÙ$OpÙ%#!!!3 327674'&+o/9fþ·éþt´ þ=ãA " AãÚX;=ÙRÔÏ#&>?&#ÿÿOoÙ%O8Ù3#!!¬]éþtÙR"ÿy Ù%!!676'5!3#5!#5KþúÇUÂ[Pý¸PR5äîk'ÔVž ýqч‡ÑOZÙ !!!!!¬®ýõùþdLúRÙRéR?´Ù # 333 ##ËþânEþåtî]îtþåEvþê]Dþ¼wbþÌ4þÌ4þžþ‰Dþ¼0ÿémå95327654'&#"#67632#"'&'332767654'&#XI4!H'4Xz#.T'OÙ %#!332327654'&+#oT=UþÆ]¥ú þ=ÔQ)A#.Ôm^ârA/Ùþê­¬>#.T'hý'ÙOpÙ %#!332327654'&+oT=UþÆ]¥ú þ=ÔQ)A#.ÔârA/Ùþê­¬>#.T'0ÿé¥å#!5!&'&#"#632# 33276Hþ‘lf/<[2&_+î•RfjRþõ!` )f @'LRŸ;+#Kî[o·¹mU!G*R oBSÿé¾å+##3367632#"'&"327654/&'v^]yLh»W;ROX±Z=D=$f8Q‹>&m ,Lþ´ÙþÅÁT2b’”iC…ZË|IgµM*xHhÁJ oÙ #"'&'4763!##";£þën3 89fI]ãA "" Aã:þÆ:†!(X;=ý':M#$76$#ÿÿ*ÿéD$ÿéþ 0632#"'&576?67653"327654'&u,o˜9f8OE<fXo",z59SZ4JÂX!GU'#ÝL75Tw I%2G$,P`,¢ /#2%Fñ 33##FTëlSëm þcýôþcFñ» 33##3327653#"'&FTëlSëm?;TM ; V* þcýôþc»B9‡9Fä 73#'#™Ô`ûjáS ÔÔúþîââ Fÿöç !###5276”ST¬‘<  ýôÀ‘þÇPºIF$ 33###Fh‡‡hT‚2‚T þºFýôkþ½Cþ•Fè 3353#5##FTúTTúT ××ýôééÿÿ$ÿéþRFç !###F¡TùT ýôÀþ@Fÿ&"3632#"'"327654'&FM;l<&Y'4a@’S'E!,T*G#ÚæO^oGhšK! Nþï§T2E}4Q2E5ÿÿÿéÝF<° !###<tT Lþ@Àÿÿÿ&Þ \=ÿ&R¢"2B632#"'&'##"'&54763253"327654/%"327654'&ï-d0`%.E.S*1 ˜' h,<^1Sƒ_ T^ Wþ‘fa^ ^½^=T®D+þï> 3@ÂA^åÕt&1ž$ h*6Ÿ%~"+ªp'1«ÿÿÙ [Fÿˆ$ 33333#5FTùT=F þ@Àþ4¸xF 3;53#5#"'&5FT+šTT—N* Å)÷ýôÉ2*Fn %33!333„–TýØT–TLÀýô þ@ÀFÿˆª )333333#dýâT–T–TnA[§G'‡:?é ×™\0@‰0X/B‘. Ù 7&'&5476;#5###";Ûn )(JøTEËgw‰. &‰Ý V!>,+ýôÚÚÁ" ÿÿ(ÿéä&CtHÿÿ(ÿéÌ&j{Hÿ\Ù*"##53533#67632'5676754'&FX$STTS««5Co'kD;/4I" ÃR)5þîT@EE@ŸEJ'þíƒS6(0Ecü7FmÈ !##3#F'ÓT‹q•< Lþ@È”ÿéÝ#%#3273#"'&547632#&/"3XâR kT h+8>)\;Rj:T T^# ßè% ~‰.iFe M1D+Facÿÿ"ÿéËVÿÿB–ÙLÿÿ Ä&jåùóÿÿÿîÿ&™ÙMF0 -32+##5276=3276?4/&+çqŽ-6+7ö¬%f< S|U)" | Ö7  H+ÀŒf;“P¬P¿þ@" 7F1 )32+5##33533276?4/&+èqŽ-6+7öúTTúT|U)" |67  H+éé ××þ@" 7Ù!"##53533#67632#4'&FX$STTS««5Co'R" ÃR)5þîT@EE@ŸEJ'þƒ\7:öÈ 73 #%#73#Þkþð0gþþSÅq•< ÞÞþüþøØØ ¼”FçÈ 33###'FTëbSëcÙ`<• þcýôþcÈ””ÿÿÿ&Þ»&óSß\Fÿˆè !#5#333:F®TúTxx þ@ÀýôOoÙ %#!334'&+3276o89fþ·]´>»GG"ããA "ÐX;=ÙþƶW û#$Fè 2#!327654/&+šx ))IþùT˜. &˜ Ù L%>,, þ@*ÿÿ[iÙ3ÿÿ6ÿ& SZC93#!53!·]Œ]þtÙ`²Fmu353##FÓTÓT iµþ@ZCÙ3#!!·]éþtÙRFm !##F'ÓT Lþ@ZCÙ3#!!·]éþtÙRFm !##F'ÓT Lþ@?´Ù # 333 ##ËþânEþáxî]îxþáEnþâ]Dþ¼wbþÌ4þÌ4þžþ‰Dþ¼3 %# 35373 #%#wþþg0þðkÞSÞkþð0gþþSØØÞÞÞÞþüþøØØ0ÿémå95327654'&#"#67632#"'&'332767654'&#XI4!H'4XzE<fXo",z59SZ4JÂX!GU'#ÝL75Tw I%2G$,P`,¢ /#2%O’Ù 3#33 #¬]]kxþdŸnþˆÙþÅ;þžþ‰D:ö 73 #%#Þkþð0gþþS ÞÞþüþøØØ O’Ù 3#33 #¬]]kxþdŸnþˆÙþÅ;þžþ‰D:ö 73 #%#Þkþð0gþþS ÞÞþüþøØØ O’Ù 3#33 #¬]]kxþdŸnþˆÙþÅ;þžþ‰D:ö 73 #%#Þkþð0gþþS ÞÞþüþøØØ O’Ù 3#33 #¬]]kxþdŸnþˆÙþÅ;þžþ‰D:ö 73 #%#Þkþð0gþþS ÞÞþüþøØØ S„Ù !#3!3#&þ‹^]v^^Lþ´ÙþÅ;ý'Fè 3353#5##FTúTTúT ××ýôééSÙ !#!#3!!!„^þ‹^]vÞþ€Lþ´ÙþÅ;RF» !#5##335!#èTúTTú'Óéé ××LS„Ù!#!#&þ‹^1^‡ýyÙý'Fç !###F¡TùT ýôÀþ@ÿÿ0ÿé¥å&ÿÿÿéÝFÿÿ0ÿé¥å&ÿÿÿéÝFÿÿQÙ7<° !###<tT Lþ@Àÿÿ •Ù< æ !#33[¸^Œ”^ þW©ÿÿ •Ù< æ !#33[¸^Œ”^ þW©ÿÿ‰Ù;ÿÿÙ [SÿyàÙ %33#5!3&^\PýÃ^R‡ýqчÙýyFÿˆ8 33333#5FTùTQF þ@Àþ4¸xS*Ù !"'&53!3#ÍþãN ]]].= Zþ§Yý'E° 3353#5#"'&5ETÃTTÃ@ ááýôß!S*Ù !"'&53!3#ÍþãN ]]].= Zþ§Yý'E° 3353#5#"'&5ETÃTTÃ@ ááýôß!S*Ù !2#!#3°N ]þã]]«= þ¦Yþ§ÙE° !#5##332°TÃTTÃ@áá ß!ÿÿ&ÿéæåN ÎÀÿÿ(ÿéHÿÿ'ÿéšFHóT³Mÿÿ(ÿéHÿÿdÂÙ,ÿÿ?´ˆ'óT¬nÿÿ,»'óûÿߎO’Ù 3#33 #¬]]kxþdŸnþˆÙþÅ;þžþ‰D:ö 73 #%#Þkþð0gþþS ÞÞþüþøØØ S„Ù !#3!3#&þ‹^]v^^Lþ´ÙþÅ;ý'Fè 3353#5##FTúTTúT ××ýôééS*Ù !"'&53!3#ÍþãN ]]].= Zþ§Yý'E° 3353#5#"'&5ETÃTTÃ@ ááýôß!ÿÿˆ'óª¬$ÿÿ*ÿé»&ógßDÿÿh'j¬$ÿÿ*ÿé›&jjÐDÿÿ ¶Ùˆÿÿ"ÿéM¨ÿÿOZˆ'ó±¬mÿÿ(ÿé»'óœÿßHÿÿ&ÿéæåNÿÿ(ÿéH)Àÿÿ&ÿéæ™'jáÎNÿÿ(ÿé›&jvÐH)Àÿÿ?´h'jVnÿÿ,›'jþÿÐŽÿÿ0ÿémh'j¨oÿÿ"ÿéË›&jPÐ0ÿémå95327654'&#"#67632#"'&'332767654'&#XI4!H'4XzE<fXo",z59SZ4JÂX!GU'#ÝL75Tw I%2G$,P`,¢ /#2%ÿÿO‰G'qÄŠpÿÿFñz&qr½ÿÿO‰h'jÆpÿÿFñ›&jtÐÿÿ&ÿéæh'jã2ÿÿ$ÿéþ›&jnÐRÿÿ&ÿéæå2ÿÿ$ÿéþRÿÿ&ÿéæh'jã2ÿÿ$ÿéþ›&jnÐRÿÿ0ÿé¥h'jþ…ÿÿÿéÝ›&j1Ð¥ÿÿkG'qžŠ{ÿÿÿ&Þz&qT½\ÿÿkh'j {ÿÿÿ&Þ›&jVÐ\ÿÿk—'ø¦³{ÿÿÿ&ÞÊ&ø\æ\ÿÿO9h'jœÿÿF›&jXПÿÿOh'jƒÿÿFl›'jÊÿУOÿ×ÙÌ%#"'&'&5327653CE<<¹= ^!+MŒ†0/D)aþºWž E#(0X)*7?ÿþØA%275#"476;54'&'#"'#"#47676;23#+"'"'"'&'&T!,—³F]4/l´,*>³ z_ 0¿B,66h5Q   YÚN ‰›1"‹1,BT‰ýþ ('p P4IKN¤x9 L)Cÿö~Î)"'&=47672;533##/"2767670…@(5“\c`h2; +'%.IH  R3H~3.dÀÀKÿr<ËWk<. =?qÜ!"#367632#54'&'&'&_‚+ ^b b&eC> ^ +æDBþâÜÖ& D9*k4 _× %4‰(3ÿt,4-)KLÿ¶7Õ2'&'"#&'&'%6ø, &&þñ€ 7þ†t,Õg.þ¸°£-"ª¸83ÿÖPØAO2&'"'&/47672676=4'&'&#"'5476762767&'&#"LG.))+(/I/I-A "R +B0"g  7&_^0†>'Ø`>X?]LJ(%: "(&&e 1*bAV,z* 8 2=BiF ý  " OŠØ!#4'&'"#547676323ŠÀ+(;D! _*l!Œ=aS ;ÌÒ2/QY /4þ@/qÔ")476767&'7672/&'"qý¾i- /<; =ˆBz@0o# X=u&/%/Ûµ("=G7?C7-B•ÈHEÒy5CKcj-ÊÙ#"'&'&53327653Êj9 @eh?@_--g|'Ç|þ¿¡E "'(@Ibžþb†0/[,^Ÿ1ÿô*ØA%#"'"'&'&'&5327654'&+5327674'&#"#4767632*eBYIC];<('<<450èç2)(u F`22Ow<5  Ëv;&4), HMF\((('95MO!!  +( ÖÙ33276=3#"'&'&'' ù!+M†0/D)aþcž E#(0X)*7BÿòGØ*%56767676=4'&'&'"547632èþnƒ 660)&)AN2_@Ks­G#&7)0—iU%87ZUC%/ 9"C@HSDK“*%tN9<# (J}Ù$%#"#54767632#4'&'‹_^9%@ei>M_,Fߥ2)a*+ E#(0X)*7þb…1þp*ÿøÇàP32674'&'&'&#'4'!#533276='&'&#'"'"'547676;2232IX0 ³dL)#,=5pSEþYZZZ4! \FgP I  0'#8 T"'{s” 2"8"1%CVGJ; ýd76º7*& 4YD#:h 560..|V#lJÉÙ%34'&'"#4767632}KO]--gl+ ^9%@ei>MúP§†0/D)aþcž E#(0X)*7Oÿô‚Ì3#"'&'&532765#_2'>i¹= ^!+k4 _Z× %4‰(3edt,4-)Küý†^-ÿógØ7"#"'&5727654/&'&'&'47632&Hx" rt+= /j')ï8 Y § c1TÒX%e@W¤C [ …@'--64J ¯$Ž3)G:2!9l6#`#& ‡J}Ù#54'&'"#4767632}_--gl+ ^9%@ei>M&x†0/D)aþcž E#(0X)*7<ÿô9Ø;Q2#"'&'32767654'&/"'6767&'&'4767627654'&'&#"8ç2 1$/p #xE=]#!&"%% !$" h#j"46`a ## -!!$!ظL(  D %;;4S?7a8 !A="" 5,G$*) !þØ<. 0# L_Ó33##L_´´_ÓøPþu*äÕ#*54767675332#5&'&'&'&76767674'&'*CAF<)^"ADCBBDA$^KB 2C_Ðz9,‰2 †")j|FC77 FF~GE// !%DÁ)Ñ d1þÑg#7ž6 $VØ-"'&'!!#5#534767632'3254'&'"sA'& }þ‚]WWE5P¦5 t.ÖA)0€0-.?.ˆNyyND/@'„(#ª6Å>$ŸR+70ÿôÝÙ""'&'4767232654'&#"‡£aQ`^™a),4o@þÄEGhkŠs:FdJH wc°fdp$SnkVh.gJK–Š´I%EE'ÿ÷¡Õ A#3276=4'&%375#'"&'&547676;32#"'&'&'&533'"'&´..F+)þm"f & )`_.¦9 O3R….:7%  ] (%G-"±þ’4"A7E#8‘H’¿&%@ /Ù†)#VeC( #) p5é›Ó 53'65=^.5mfPA$"NL™Î73X)hL‚‚I.Ú"'67676;27+t,  "),0$(N$/  0-&+GãÐ#'3ãGqvG‰S,"4'&'"#56767632#"53276ÿ!$D/ $&?J?Z, %¬+'&5I 0DZ& Aÿö("'332765332767453#5#"'âžX6$%XH "!8XO!Gt= ®dþ¹E $$Q-þ¯i %k  ýùI9[[Jÿ-ï%#54'&'&#"!!#3632ïX 7G' Jþ¶XOÑ,[rþòùP <ÿõæÑ!#5#"'&'&'&'7!3276=3áO:k\. YQþ¯ "6+)WJU4*8É\ßM #$da*ÿ/B,747632533##"'&'&'&27674'&#"*M7S>"" Rc¸)U l9 äH#>(a 7õŽL76ýp:A l ##¢Y/7€2t&.i6^ÿ‡eÑ %/#33#>K”V±±JÃwÑóMþ¹?ÿ0ä #4'&'&#"!%3632äX 5B'Hþ_O-0ÿòFÓ)476;533#+'"'"'&'&'&%#"2767650B8UŒYbbi0C& V^z…I<# xI=ÓÔDé„>  8†Õ¾Z753&0RBÿ3èÌ3632#4'&#"BX>]—XX D(Í™þÿG€!"þ·Ip 4 $<þ<ÿ0÷#3÷ºW}S×ý|Bÿ.ÖÉ!##3327653#5"'&'&'&50™UUò $8))XO8mW0·ýw›ÁþÂL $"eýùJT1%6W+ÿò æ+@"'&5476?67637&'&'473#'2767674'&'&#" B 0.AU3;)’f G9QT#x s ~AQ:(' (=64( @T!sE7FeV@ ^*$µGÿ-îÑ'"'&'&'332767653îX=_s*XnG&XÓEN)L ýô~7 %;BèÌ33632#4'&#"BX>]—XX D(ÌþÿG€!"þ·Ip 4 $<þä(ÿòØà2I#5#"'&'&547676767674'&'&'47322765474'&'&+"‘La*M" >>23  #DS*$)H8þðC*Z"%/  '&&l= e6Cþì?!">EL $ 02;*1  þ‹€1x8 \.,  67'ÿ/#4'"#3676323¹Q[%VR))DK#$dÑ,[S þÒùS3 )'2ýí+ûÛ'1!&'476767'767&'&'&'&#û œ–þ='&E@1>fh$1 6(#«¦¦ä8\u\\1@2zUýkX %NfZKIÿöÕÕ0476;2'"#5"#"'&53276754'&'&'&ôd@ T( 1, T8#CT/V Gz$%€J D 1.þb8$B"†þ Tp Ë!ÿÒÿ.™27653#"'7 ,X60*…3(!ýÝ€# KIÿöÒÖ-!#5"/&/47676;"2727673ÒP (&(0 -HAf! . %(WS"  .!©A> *='  þ•9Z35ÿ/‰þ/4'&#"'672;67#"/"'&'&'&'47676?6=) 3.+;VO3'("f\ ƒF<   #m"% B4#8:I@0<@;*0&&? ;š/!8Eÿÿê#4'&'&#"#3632êX 3E( XO,) VG)=&EB W cÑ '$4à )D:*U56  ^[ Aÿ+("'332765332767453##"'âžX6$%XH "!8XO!Gt= ®dþ¹E $$Q-þ¯i %k  ý#9[[&ÿ/Ï7V6763237373#"'&'476767654/&'&574747"6?6767654'4'&'&'&-T.+!X !u7#p \“HG (%*'$ À\ N !.&‰N(.m)wg,!#?>-'(&#L HS$#:Z !49; 7Pÿþ÷)654'&'"#36323'5276Ÿ.(H'XO"7 "CþêMX, *!+%rQM a@ÿôä!5#"'&'&'&5332767653–=hF6  X 8H&XLX* )-%BþàM66 "CýùGÿ-DÌ"'&'&'3327676533–=_s*XnG&XXÒEN)LDþ¼~7 %;Úü¬KIÿó@5#4'&'&#"#5#"'&'&'&5332767653632@X 7H' T=hG6  X 8F'U<))*+;:*(ŠK7J?þ?w3QJ - OM UDo@^g.///c_010+Lù3#¡~ÓùþE>ù+ÿ2"Ó52#4'&/#"##"'&'&53327676736qM5  X 5E' U=gG6 "X :I& T<.)(*þ¿ L55 "CþX+ ,hBþàJ97 FãþæXÿ/7/%"'!!#5#5336763274/"#"27276UP25þËVddQ#">…>8-Hf\$? !8)U "A¥:UU:;At;Pc;5 í‘0/Q`1`#2ÿô!47632"'&7327654'&'"2š(1jDEP7FmCCZ,*CA+,,*BA,*Ç9GE{šC FD…e0112f_2120*ÿ/oÖ&/747672732##5'"/&'&533"'&327654#'35"Y}r=Ž*d2=-W8 -'(N ;87%_ ãHbDnß—§@ ÐÐ !;Jn#$Fþ’i&0¯–E >Fÿø!Ó7275335"'&'&53ìŒVP£%'-(4VC’þãDR/%9`ýÈUZ¾5353Zddd¢eeþ^dd ¦& %"'727&AU*Z.&!'0Ë"L ÿGÿÄ3#53#GGGG¸FÂGÿOÿÄ 3#73#3#73#53#GGGG@FFÈFFFFÿœ•¼3>Wd üà€ÆÇ3#GGÇGF€Ç3#FGGÇGÿÿnÖ ”GÛ3#GGÛG:FX%#57676767'367676753#ü0 W <&”fä/ W :&”fE > %-ANÒþ» =$––+>IÒ:6X%&'&'&'&'#533!5• "j‹‘^1 () JþL'6 'L  4= þÒLL±X%#73'&'&'&'&'&'4#B¯uÏQ > RWF"2X¬¬Ë§. L*R "þ…&X#!5!ÌWþ±ù ýô LL?:X#&'&'&/&'"'#5!3:W  &9 ùS2#! þWzþ†t7 L 2Bþwþ‰>•X33>WXý¨'(X##5!ÕWW ýô LL?;X#&'&'&/&'"'##!2;W  &9 £W@? Qzþ†t7 ýôX!)=:XD"5632#"'&'&'&'336767674767475&'&'&/&'&: -*&HL$"  #MHIM!$ W  2 +#    3  R+1AœG,!++!4@zþŒ8 "18:‘X3:WWXþé#&ÿ8ÚX#&'&'&/&'"'#53ÚW  &9 ²ºS2#! zý¾<7 L 2B9X,3#53676767676?5&'&'&'&'#53㪤N    "j¤ª_7 ()  "5¬L   .Ž6 'L  4= œE/E%!í%#47676767675!53!”W.þ[W¥.Ð*aEx1+$%)V+á•™<9 $$?<X )32&'&'&'#;þÙUT'3W) 9G‚X*?5þÕ+3' þ@0:X##532!534'&/&#Ö:X:NçM5U-þÖÓ#$8 ýô L!A-;þ‰L+&%>ÿ8•X3>WÈ üà3FX)53&'&'&/&'4Fþí¼  4 IMUL(7L+.…=9XB!"'&'&'4'!2'6767674767475&'&'&/&'"'#;IM!(@B $"  #MH+#    &9 £  2 +!:9z"1AœG,!+L "18 þØ8$ÿÉX73767676?37ÍxYs?  W %AþÖCþ .#Xþ¢J) LO9ÿ8 X)32#&'&'&/&'"'#3/&'&'&'9×@? #! W  &9 yB"(G$+X!2Bý¾<7 4 L$7 ?X93#53276767675&'&'&'"+3/&'&'4'532ôµ¯87 , ,;5 XB"(G%+µLB / $ #aL<Ž9* 4 L$: Ò5?œ&= !* ÿ8åX676767670753#3.  W !"&,WÄcT *“š70"þ/ê63X67676767670753!5!3<.   W !"«þ&Fþ²dU *“š70" þóL >ÿ8&X%#53676?!5!#,>7h þoè 0þÏW!L*!2 Lþ§G( IuýŽr%ïX#&'&'&/&'"'#53ïW  &9 ÈÏT2#! zþ†t7 L 2B;ÑX<7;7676767453#&'&'&'&545336767676=3#"#— =$/R"&6!W[@GRG?C-#Wc' W (2Oà52  4&(Rþ®'\G #?99RþÔ  ÏÏ$1"2#{X-+532767676=#5!#&'&'&'&'&/  %AT2)<›0! W  &;  þÔ?+L,)LH2@þ†t8  87ø/?O_oŸ¯¿%2#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&%2"'&547632"'&54763"327654'&'2#"'&547632#"'&54763"327654'&@"! "! $! $" Ý" ! " ! $! $" „#  #  " #! Í$! $! $! %! q " " " "" #! %Ä" "" "" #! %" !" !! # $ " " " "" #! %4c£Ò72#"'&5476k" ! Ò " "2ÿ¡ÿÿ2#"'&5476i" !  " "3d¢Ä/?O_72#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&j$ ! $ ! $! %! " ! " ! $! $" Ó " " " "" #! %ñ" "" "" #! %,ÿœp/?O_2#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&d" ! " ! $! $" " " " " # $"  " " " "" #! %ñ " " " " "! %jŠq/?O_%2#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&R"! "! $! $" ½" ! " ! $! $" p " " " "" #! % " " " "" #! %jÿ’Šq/?O_%2#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&R"! "! $! $" ½" ! " ! $! $"  " " " "" #! %p " " " "" #! %jÿ“Šp/?O_%2#"'&547632#"'&54763"327654'&2#"'&547632#"'&54763"327654'&R"! "! $! $" ½" ! " ! $! $" p " " " "" #! %n " " " "" #! %Ta5Â/?O_72#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&þ"" "" # $! $ ! $ ! $ $! Ð # " # " " %ò " " " "" "! %Wÿ9p/?O_2#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&"# "# $ $" $ ! $ ! " %! ‚ " " " "" $! %ò " " " " "! % $È/?O_oŸ¯¿Ã2"'&547632"'&54763"327654'&2#"'&547632#"'&54763"327654'&2#"'&547632#"'&54763"327654'&'2#"'&547632#"'&54763"327654'&7!5y#  #  " #! ¼" ! " ! $! $" K"! "! $! $" "! "! $! $" øýöÈ" !" !! # $" "" "" #! %ý« " " " "" #! %ð" "" "" #! %ª\\õ$ /32#"'&547632#"'&54763"327654'&7!5 $! $! $! $! øýöd " " " "" #! %¨\\ˆ±àm7'77°0Œ2æM~Y-ä$Ò/?O_cgw‡—›Ÿ¯¿ÏÓ×2"'&547632"'&54763"327654'&2#"'&5476%2#"'&54762#"'&5476#3!52#"'&5476%2#"'&54762#"'&5476#3!5"327654'&%"327654'&"327654'&#!!Ç#  #  " #! " " þÁ" ! " ! çeeÏýö¯" " þÁ" ! " ! çeeÏýö¯# $! þ§$! $" $! $" Îe3ýö ±" !" !! # $þÏ" " "." "þ4îÆ\\Œ" " "." "þ4îÆ\\Œ! #" $" #! %." #! %þ4îþ(\#ÿwŸz!##67676=474'&/&'33ŸÜ!,S9.U «N;O‡A8-*K.Z2%)DL7OÊ9t‚2##6?676'4'&'&'33‚½  S!U ŒÆ#)%#@&6/"%@# ÿ¸«)5!5!5!ýžþÜ‚ZùXÿ¸ÿa""'&547'!5!73#""'&5'73Ý( tþm¦þûM ¯ d'f #ç! Z–-þ=Z# $} ÿ¸ÿa%"'&547'!537373#""'&5'73Ý( tþmÔb(˜þûM ¯ d'f #ç! Zšš–-þ=Z# $} kÿqÙ­#537!5!754'4ñyyèþ’('(—²;=S5M;Rh>6Ù<(6$+?&5%Õf?1G>Qh=0G=Í3!&<'4&9(±ÿV\s2'6767&'&5476; 0 : $Gs×s1…^*{5-4Dÿ¸O"!#'#'!53547O$JzþÐøÃÖppssZ½Ã\rÁÿ¸ÿ_ª '!5!73#ª¯_þ´þðJô.¦Dš¡Z–,þ>Z_ÿ¸ÿ_ª '!5!73ª¯_þ´þðJôš¡Z–,þ>ÿ¸À%'!5!5Àjþie£O`Z·ÁÿpÿSõ/?AQo2#"'&54762#"'&547632#"'&5476'2#"'&5476727654'&#"%35'###"'&'&54763Þ" ! U" ! Ñ"! U" ! þŸî/& +"/†£j¸[ƒ 'K E6 B.Dd> " "²" "" "Œ" "ýO5 %E+9'$K$·Á?ObD”,EX!V<"$-v@-aÿ(%Û#654#"%632×Z\@Dt€aþþE\I[Ø•WHO]qZU´;Rnÿ¸p˜)5!7pýHfþUJ³ZûCýÍkÿv…« )##5!5#…þ‘=S½ØOŸ^ŠÝXþ¯ùùkþ§“?ksµ'þ¿<žeýÈ$7ÿ¸ÿÿ±¨0A2#'+"'!5!&'476763264'&#";76'54'&#"676/S G$@F ªþÉ'"=8- )5w%'""Ué*(M+oe-5r&UUZ+aY7 :#Æ6'2_  ’"&"*N* 0N §ÿ2±¨%7H2#'+"''7&'&'&'&5476763264'&#";76'54'&#"676/S G$@F  (dHš47% "=8- )5w%'""Ué*(M+oe-5r& ?†2´,(".Y7 :#Æ6'2_  ’"&"*N* 0N ÿ¸¤%#"'&'!5%27732767¤kFP4$þ€&8,ÜA¼*&*:KK>R D1Z)m+þÀB#Bÿ¸@)5!'#"'&'&54?'0132ýœ >%C8/ Å-w< FZ‘Jc*3þó¥ $7 ÿ¸@##"'!327654'&'H?Å) 8C%>  þ)FG ‡@3*cN& ‘Z31 $ þ“‚+!5!"'&'&'&547;635'#"'&'iþ)Œ IÓ]  +D< ¢i ¬8"7¸<Iþ“ZT| +_A[ ´Â>O] !7W ' ÿ¸&«)"'&'&'#53!5#&þÍ "ÎàŽFý AdGþ¹ïïkÙ`#53!5!754'4{{¼þ’('(—²;=Rý ZxSZSÿ¸…«!#"'!5!'#5!3…Í/þ\° ÈÁ  Ã;;Z÷ZY÷cÿökë%32767&'"#"'&54767kþ¯n*1? #2((46U15[GˆÀJ* B9& OIhg^þlŒ''7'77''7' &%Y(,$"5'=öd+jA!5ý þϽ77''7'77m &$Y(+#"5(>þjƒ+jA!5þ÷Oé 3#3#,####þÔs–ò–ý®à /'ÂK7Kõ½Íý{þü¸ //šK7KÍqÍ©ø!2#"'&5476'2#"'&5476À$! ˜"" þò¤ " "\# "ýà '7''7'7Œ8!8 8K K7þR®^_`‚]_ýgþü¸ 77'7'!9 8 8K K7ÿª^_`‚]_—ÿ• 3#'3#'r##–##ÜK–––âþöš //|KiK}@Kú[Ê 535#53#3©HH²IIþ¥L"< <"ýµÿDÒ 535#53#3% HH²IIþ.¼"< <"½ÿOv2#"'&5476%>"! þÏB " "C{2#"'&5476/537ù    ‹/ƒ++þ°•    U y!;9ý=ÿÍ2"'&54767#'7%y  s.ƒŒ++þØ-     w";8µvÙ2#"'&5476>"! þÏÙ" "ý(ÿfq#53%qbbþš]>vÙ2#"'&5476>"! þÏÙ" "ý(ÿOv2#"'&5476%>"! þÏB " "Cx!2#"'&547672#"'&5476@$! "! þÍV " "ª" "ýþ±w!2#"'&547672#"'&5476%?"# "" þÎà " "ª # "7Ú/12#"'&547632#"'&5476'2#"'&5476Þ" ! Ñ"! U"! þÍt" "" "Œ" "ýþÉÚ/147632#"'&747632#"'&2#"'&5476%§ $" "Ä $"","! þÎn! &  ! &  N " "ÉØ %ªþæ¾¾N,`ýÿHÚ%'º þâ¨RHfS§7Ô!#7777''7''7''7''7'²$"$$#" ï ; ; ;> ? ? @ @ ( D C C C B @ B A ¥ #.9GQ\jt‹”–533##'#7472"'&5472"'&274&#""'4632'#"'&547632'43#""'4632'#"'&547632'43#"4'"276'4'"27654'&#"36ÕV'SR'U•    r  *› r  *± … þòÌPO%QQQ   z  cz  cd  |,ýÿý0±'7#"'&'&5432327671///:%57  .E%ƒ--.d#6 F#ÿpÿÖ‚'7*333O333)ÿþ‹ÍF23275#53#'5#"'&'#"'&'&54323254'&#"'676367654#"'6ÉD7+&/01‡ûG-,#>&+R[>0._"<#23,!v/&%Í('.¦((þY.Ÿ  9!d 8* Z  = ")ÿþ5ÍJ23275#5!#'#'5#"'&'#"'&'&54323254'&#"'676367654#"'6ÉD7+&/01‡¥E--,#>&+R[>0._"<#23,!v/&%Í('.¦((þY.yþY.Ÿ  9!d 8* Z  = "ÿ²ˆÍ:7"'&5476;5#5!##"327632'#&'&5432327654'&ž0%7cõˆd%  <)'Qm"v 8)) .$$¸)/A((g6 ;' al* ", ÿ²ˆN7"'&5476;5#53&'47632&#"3##"327632'#&'&5432327654'&ž0%7cõõ2--( !* &nd%  <)'Qm"v 8)) .$$¸)/A(A78 1$E& 12(g6 ;' al* ",  ËÍ14'&+5!##"'&'&5432327654'&#"'67636?4#ÊËžA)G=&+Q]=/.B <#12/-H2(()4*&G:$e  8)!4 •ÍF4'&'&+5!!632'654#"#"'&'&5432327654'&#"'67636C6 Ì•þšD*3?;$ 8?9:, >&,R]=0.B =#226.H3 ((,1)-1$': F98):$e  7*!4ÿþ…Í>!65432327#"'&54767&'&''5'75&#"'6325!5!…þåT!5 mT"%)F/7`-ÖóG]? EDL þÃ…¥­'-    /1'& * 0Ì.‰h v5*! ‹(ÿ¸Í"'654/&=#5!##/32=#®0ðF*©D+  3K"Þ6ó7J&  }$ý((Ù$ '×ü € ÿ¸ ,3##/32=#'654/&=#5!&+'32\MD+  3K"Þ6ó7 0ðF*6T.8%23+GÍ(Ù$ '×ü € &  }$ý(†M0P)ÿþ5p_#"'&'&54323276723275#5!#'#'5#"'&'#"'&'&54323254'&#"'676367654#"'6*:%57  .E%ýÂD7+&/01‡¥E--,#>&+R[>0._"<#23,!v/&%M#6 F#›('.¦((þY.yþY.Ÿ  9!d 8* Z  = ")ÿþ5 T23275#5!&+'323#'#'5#"'&'#"'&'&54323254'&#"'676367654#"'6ÉD7+&/01‡1Q/8%22,B2ME--,#>&+R[>0._"<#23,!v/&%Í('.¦(†M0IZ(þY.yþY.Ÿ  9!d 8* Z  = ")ÿþ5âj23275#5!&'&#'&547632&'&/"54323#'#'5#"'&'#"'&'&54323254'&#"'676367654#"'6ÉD7+&/01‡-2#$ Ac! !((LE--,#>&+R[>0._"<#23,!v/&%Í('.¦(5 *fH 542Š(þY.yþY.Ÿ  9!d 8* Z  = "ÿþ[Í-:!67632'67654'&#"'5#"'&5476325!5!5&#"32[þî1/$* # ! !>-0D<(:R-þä[þÁ4@* ) P¥°+ ;)&5+  & '%8¼.q/%: ?“(ýH"- ÿþtÍ">#'5#"#&'&'7632676=#5!5&#"325#"'&'7676325!32t=-iXT_S žtj2Dba9>.=U- CG.þÄ! =*)q¥þY.:YMD &  Š(ò#5?E65'5&,!yŠ7!:$ÿþ®Í#'##"/&54;5#5!®F-•63y®¥þY.yå(8 œ(ÿþÞÍ2#'5#"'&547&'&547#5!5!"&#"3276ÞF-AY/0=2, 2ÞsÿA"C:&?FJ ¥þY.ƒ8":%% (ìÄ 6 58Í4'74'&#"'&5476;5!5!##"32#"'&54323276ü-..;5Da$1œþškË&1&G87K(Šu e~D&&$´- >2A((g>$"O “ {(ÿþ Í#'5#"'&547#5!#3275!5! F-AKD1%Xf-9CUþg ¥þY.z22%,((%;8Ò(GÍ<I##"547&'&547632&#"3273#"32767&'&547675!5!"654'G“5_UX %0 :)#.:8 6 KC()aT 401?þ|G·)&*-¥Y;TA:^&%/  >(7' J %'6T(œ 17ÿþ)Í$#'5##"'&'76323254'&'7!5!5!)D-¶T14AF 9,(9%)>þH)¥þY.öK,1 8+.%&bþû¼‡}G u "(2$25.$–((¾?àÍ&4##"'&'&5476767654'&#!5!4#"3276à–%H*5?H: df  þüàsn]0+0?]¥+.L'9/, J( 2(þÇY 6#'-A Í0%4'&#"'&5476;5!5!##"32#"'&54323276–5Dc$1žþ— sÌ%(.I88J )u f~> p- >1A((g>#!M “ {%ßÍ$2##"&547632#"'&5476;5!5!4'&#"3276ßr¾W= :E#B dGJ%K…þÂßk% Q K¥†Z<6 )J-K DA^%"_(þ£+G%*ÿþþÍ#'##"'&=#5!5#32þE-}0.0%)þþãŠ- C¥þY.yÉ, $À(ñÉÑ ÿþ½Í#'5#"#&'&'7676;5!5!½F-³@}-PH¨þ¶½¥þY.õ?R}X2($7 ](+ÿþ$Í&2#'5#"'&'67&'&5476323275#534#"3276$F->auF E92(+DO$^%#H P\`ÓþÊKI? ¥þY.ƒ2<E2!:3  AÈ(eE<'ÿΫÍ*7476;5!5!##"327&547'#"'&*Q!bþæ«cyT 6/5, DI TLSö?U((|/-! , ps26+ÿþÍ0>#'5#"'&547&'7676323&#"3275#534'&#"3276E-,R¥þY.™0 / 5 )$ "„¹(“E ( ÿþÕÍ#'5##"/&54;5#5!5#ÕF-Ä/ (pÕsÄ¥þY.œ// ·(ß··ÿþÉÍ$#'5#"'&5654/#5!5#3276ÉF-.F[8&…! ÉsŸ+(*+'_+¥þY.…(3$00 (ç¿%/ !  ?Í#'&54323276=#5!?pJ‹"‡8 ¡?¥“K¢ C)‰(ÿÿ?Í7'7'4323276=#5!#'&ˆ333& ¡?pJ‹"‡82333Œ)‰((“K¢ Cÿþ+Í/#'5&#"'67&'&#"#"'&5476326325!5!+F-% 9)+: ^+ ¸7C<+; þH+¥þY.ã/0!*9N  reF ?.z(0Í .97"'&547632675!5!#'&'%4/#"3276'&#"327¼J,H$,]&QþN ) ?,M ) <"[B èTl,B0='2@86r((s1!Q'  DQ–5 'c<+6i+ 3ÿþÀÍ%#'5#"'&5476325!5!5&'&#"32ÀF-.B D0$E'*`.þ³Às& -8!<D¥þY.{& 2%,7@Š(ù- !=ÿóQÍ44#"3276%!#'#/&'&543276767&'&547#3e-:+.þÍQE-¯10/Gƒ$#7/%[A"e?f 4ª(þY.y"C:86ƒ(5 %03ÿþ”Í"#'5#"'&=#5!5#54/3276”F-A 1.$)”sÀº ¢(> ¥þY.†*"!®(Ê¢œ5 ˆ¢ÿþÍ%7276=#5!#'5#"''&5432%5#32… £F-6H,0"‰9  »4CÜ) ‰((þY.• +"¢ B)»ž*ÿ×®Í8##"632#"4327654#"&'&547&'&5476;5!5!®Yß!/J-$ bG+1tqMA  :œþÙ®¥h()#& "$ -- 2!% 6.:(& $-A(þîÿsÿTÿÙ'7¬333Z333-0pÍ'#"#"'&'&54323254'&'&5476;p½-T-"$:O2  ( ]-F-+«™%E,$1"'<  P)0;'$ÿûÿþ±Í#'#53±E-D¶¥þY.y(ÿúÿþ¢b47632&'&#"3#'#53& ?!%†w0]**INF-EC 2 zB &(þY.y(ÿ?ÿþ±~#'#53&'&#"#&5476323±E-DE 3$(Q!!$:Y: O¥þY.y(A,4 75@P,5þ}ÿO#"'7327654'&#"'632ar…pm7#  .6/,(a;lY  "$!ÿ)ÿE•47632#'&#"326;'&'&×-,/²0‘#)' $ 5 "P/ '”x"   ÿÿ~ÿó&#"'&54763"327 (<--C!0V ) 0r(/ %  ÿý0p#"'&'&5432327670:%57  .E%M#6 F#þµÍÿº  #&+'32F&T.8%23+G͆M0PþÌÍÿÂæ#&'&''&547632&'&'&#"5432>*2.$ Ac!!()Í7 *fH 543ÿÉÿþäp#"'&'&543232767#'#53ä:%57  .E%E-D¶M#6 F#ÃþY.y(ÿ`ÿþ± #'#53&+'323±E-DBQ/8%22,B2M¥þY.y(†M0IZÿpÿþ±â(#'#53&'&#"'&547632&'&'&#"54323±E-D>2$ Ac!!((L¥þY.y(5 *fH 542ŠÿhÿO™ÿÿ #&'&+'3™$-=;+#QKc±4,*&d(DW(ky'7#"'&'&5432327672#"'&'#"'#"'&'&5432327654'&#"'676367654#"'632332?64#"327670--—-.%89  4'p8" +>/ CT2@&+R\>1/E">#112!y+"&%ND8 &I)8-H+r4+$ )0%%'W!5 1%Z4$&3 L :!c7*"5  = "'.)1\1yQ2% . ÿ”Íÿõs#7 ;&>d—¦”b¯k%#"'&547632'"327654'&¯1+2W$8(-]#ŽD 7A!õ>-(=&=, <.2< /K ­ÿ²ÁÍ*#"'254/7&'&54763274'&#"67¬+.²`D(;7&iV I4  )™`1 "= 7&(9iß#67ÿ½ÄÍ$2'#"'&=47632327654'&#"'6*M,v{ˆ (  7/ G<GÍ@)5`:¶"Ì201%!!…ÿÇÏÍ+%'&'&547632767654+'3254'&+'32ÏZ N!S:$5,H‹¥'-‰ž=, B²H-] f @ +B'E,(1#(+*/&»#"'&54?'774/3276¬O&D !5()%5ê ö½T#:7U9‘£8++  "2© ±³þÄ,4+ qÿÆäà '#"'&'5673254'&547632äX#3^.$EK- $ÖH *);I*BSD 6cÿÅûÍ6'1"'&'&547&'&5476;#";#"3254'&5432û!S;‚A 1!2"ŸŽ"'¥ 9s0"$,uD '18(G'.Q & N&øÅ!+%#"'&543232767#"'&547632#4#"32øG(8qND3=lH!?%*R$.R"FCêr4…v##vd|E# +3 H#D! 5fÕÆ7327#"'&547’P"W<""E&$T82ú ?\81*3"þü ™ÿÈúÍ)#"5254/&5476324/#"3276ú#* Ì8D+)O$(!N¯+q‚8.1À5.6$4"(¤(L7 [((DW(ky'7#"'&'&5432327672#"'&'#"'#"'&'&5432327654'&#"'676367654#"'632332?64#"327670--—-.%89  4'p8" +>/ CT2@&+R\>1/E">#112!y+"&%ND8 &I)8-H+r4+$ )0%%'W!5 1%Z4$&3 L :!c7*"5  = "'.)1\1yQ2% . 2 4?&'&'6767#"'&'&Z#! #"F&@8) @; Ö' &  4f!†5]'hþ(327654'&#"032760'&#"0'&'3&E"3&E"2*4*44vnf("hz¤/,/,$4$4€ ‚€6•%dþ-="'&547632'"27654'&"'&547632'"327654'&ŒQ 2)Q $!42 53-Q 2)Q 2)2$3J424)–'''  !þ„4242–' &'  !ÿì”X,#'#&'&'327654'#"'&'67632!'l(PxLa`H=Cy$$G.&. '-F# 0þ (X<ý䥘 –‚ÌþáLK=Q?<= :& F0J7DL®<ÿì X5!''#'#&'&'327654'#'&'&547632!'!53#Ð<')vMb`G>Ay&&G.&. -+J#1þ (€(d(PJ–<ý䨜 –‚ÍþæNIÉZj(G}Sþ>((þ ’d+(pã)('7DG$.,SD9_{[2 ¦GXf0[ 9<<þ˜hG)|c< ,L!3 -!C#ÿìG!!'#4/&'32'&547#"'32767'&'&'#"'&57676326767®þ>(((|>ÉZj(G}S $5F('$:8@'10  .GC<2?X<4FÉ(àZ…1'\Ž¢8+X<ð.D TPiLS vwÉ qML½>Dþ÷_%SFhDFð<9 $7.* vX%+!3'#'#'&/67675&'&1&P(d<<(n# *' /9'Pþ蟎Y* 93ë"=m+%ÿÿ6[C656'&'&#"327654'ɸ&'32767#"'&/327654'61Q47B' 710' !KTZb8K 27W?4 L+"Y( +*7'(%  Œ# iq»þ‘e H=O…W*DzJBL+ * $''<"   ( # e 7.7(Y7&(9A„:)> &2M?=$ÕhŒáqDƒ ÿìžX&02'&/67&/4'&'&/%5!'!!^ú>;<5;F *! Gd^„ ^þ¶(Š(þü½‘=Sr.7G> .4þHNu6È(<<þX.673'#&/7654'�&'32Œ) ,8 1¾†”kP(dM•Œ;9/A '$( ®S n6rS<þ*f; P"9:' 2#' 5þX)53#'&#67'67/#'&547632rd(P5 K2 ¶Š+BSQ0-i2IãN^øe1"^,3 G'FŠ /(? / <  ÿìÿX 6765'&'&'&'"'#'!!neX[=~7 5]n/Žfl%(ê)þoàþkFHA6=I €bG3é<<ÿìÿ°'X/6761&'&'#'!!&'&1'327654nIR'<%ÅKœ %()þG¾, P,>hlF(nÖ./-w5Äš@!OE53 <<49:!P+fDyJ< 7$ÿìÿØŠX?#376767#"'&376765#"/5#'!!03767&'&5670'&@Z)$ -H&+N:Y ^#(="a"Œ(v(þÞ-32@,* +ZÜ2_\1m4W†þö\"P>OQð<<+d^|aUP<9CP`/ÿìbX!3'#'!!5&'&1P(d<þR(Jþ¢š–T<3©<þ Fš<(È>}G‚;þÅUI xXc'&'767265'&#3254'&7#"'&'&'#"'&532?63203#"'&54767616734   +%6 $+7%::8 }  * #94+6S .. Ÿ9(" x N26(#/ 2/'‚<£9 B( =úiFL**SAIM<+[”,,n>) $31D+'(D5O<K8+<   -)<ÿìÿúX$!6767#"'&376765'5#'ô(þü\# (R6=eF] o2;"N, (Q F¾(X<ð("UR0o='e‡þc,QQÖ<ýä 2|?n&/' % WÿìëX!'!307677&567'n})þ*((þ™Í:. $‹• <<EX!1?654'&#"#'&54763253#''7&'&#"70x 0  ˜A‡e(P=þòÜ6'$a. & ð  á‹ <ýä<TÒð*” ÿìžX0&%&1'7&'&54767#'!!032'&/67&'šWþá¾o&% (Š(ý²7 ¾g[8<5;F *! Gd¸þH^° n <<En?:1r.7G> .4ÿìêX0!'!#4'&/%^ú?:þ¶(Ö(P]…¤^½‘=Sš<<ýäJkIÈÿìbX4'!"'&'&'327654''&'&5476776767(N(ƒN_qL,Nˆ()R6.;X2%.3) <<þVp%¿o˜þãLK?R0-z + %*" * M& h+&'š "- ÿìêX !!04'&'&/7&'&54767#'!^þò7 ¾FŠ*Q‹0<ýäAzGn <<ÿìêX 032761&'&5&767#'!#'&''&76325!Gi”-&(Ö(P< ;J/ ß"þñc0, g<<ýä<2, LB<ýä<àþ È!&#'#'3'&'&#"#4/&5476323ÈP<((P XQs6 ^”‰<`£ybMd°`I(ýä<à<@$!"  ?!80D4Qÿj !'7676'&/6?73&'&”"B .09'< 2< !F' %.B & ÿL &'367&/'&'56?73Ÿ%;<I!!*7 N (+ #ÿj­7#sRRKK44ÿÎÿÕ 7?2tRR sRR§K44§K44ÿìhX!#632#"'&5&76761#T(ª2P M# %½vŒX)7 4- ý€T(ª2P M# %½vŒX<+17#N6 '@ÿˆÈ'#3'#4'&#"'&52<((P!]"+/)(Cä]Ó80 5 ,CLyM7 3HUþ†˜J"9gX-?&54767632#"'&547"32767'&'&'2765'&'&#"I4? M4( 3<)0H5,©e0$0K& ++b7 J'W + E#$M#K9?"!G&O/ I:2 69ÿþ_X*&'567&'&77#&'&'&54767ᆠ#9$ T%F( )q=+17Žú?:þ¶(Ö(P]…¤^…N6 '@V‘=Sš<<ýäJkIÈÿóñX0!'!#4'&/%0'&'eú?:þ¶(Ö(P]…¤^æ?>+17½‘=Sš<<ýäJkIÈþ¢N6 '@h[63'0'&'&#(‚M (5n&,Tµ@52‰'ÿìë#4672#367674'&'327!'!54';Œ(d%–816$  ! Z7)þò;79²>â<þ£35.N%Q '  E<ènB]h¤73767670#(ƒM (5n&,d·>52‰']h¤)732767065'&'&#"327654'P(’N ( "h 1 %    <»IC1ˆ'!.-  'bh¤*727654'#&'&54763237676?"'&'P( !" & 5.?5/(UBB$Ë. #/ 6?!PHHdN3PX<Xýä<‘Y07677&567'&')þ†$ ÚC>&9^T.Bb( `,2LŸ(9ÄýY+*!® 7H0>3ÿÿæþ&Á*"27476326765!5!##&'#"'&732767&'&#"#H+8FQ! þ@*@B&_1$c.E4"9@;4 C ÈM(( {99vf'R€g)%; .2 #,##5#"'&'654'#53!535!322@-CZ^6'' V*rrþòTbPÝþ#\*A&':][+9T]±þ™}53TÿôZ !%5#"32!5!####"'&5476;(†//+$LþØZ2@€zZ=9?!a+ //+°99þ#Ýþ}f=9LU ¢.##5#"'#"'&'654'#533654'33273¢2@7`4(]R'>*>gA(N*.2D.;9rÝþ#D*<!;`O-9Cu[= .p‰frK- 1wÿó'1!!2#&'#"'&547632654'&#!5#5!&'&#"32þN,IL"FIWO/P"(s9@6 þ° ÀFPSVÝtCb7- !=0 )G F.30 ­9þL( 85ÿóö##"'&5#4763!5!5!!3254öd)7]9,8HþböXþú):…Ýþõ˜2^I[E8¯9þß).-E¨ÿô@'0;#!"3!2#"'&'&547&54763!5!5!4+3276%;5#"@2þ -@) ,nh<2  7*þ2@h^-1@þª0/-: Ý•  +@E$  :/#0D \9þ]@€& (€!Ü##5##67#&543235!5!Ü2@Ò@8` Òþ–ÜÝþ#×G :\8Í9.9!3276#/&'&547632327654'&'&#"#"/7&'#5!#Øþ¦%‰e&!F8‚ Bv +++0+F  "I*3: :z'3>. )CÝ‹5ëG% <& 0! +  +@99MA"õ!&#!"3!#371#"5"'&547&'&5#5!5!õ þ¹) =è¨@GãK$?>ò`þì&Ýš0' 9k9¢3"D > 9ša,5ÿôþ!#&# 327676;#"'&'676;5!5!þ-+þðg;4,%" 86<:LKI!ZJ· þXþÝÏU^/""<.044ZZ–9ÿô&#2#"'&547635#5!327654'&#"è>GMDBllBDMG>ôþLA74<88H/5M6)Ý{9?HL0220LH?9{9þŠ+&%&%C'0%ÿòü 4%&'&#"325!##"547632654'&#"##"54312765S4\@qFþåü22D7±¸ceD 0‚LG;9µ99Œ'UF% XX= ' $%#&-.M)/ÿó*%#"'&5#476335!5!#!6324'&#"3276ÝP&”< 8@öþr2þÊ.aT,?7ML8R? {B[K8™99Òh%=,#" /(ÿý.*"'&'676327&'!5!#&/&#"327GŒjE-70)6&"þà.Ö Z2(35S;F  N99zTS4t#N+3Z990<" G)f$1 @'|d3 ÿúÔ/5!##"'&'373767654'&#"##"54312765Ô/ ON!4vD Qq/O0‚LG;Û;;e> 7KP4K#L ? 5-.L). %5!32'!5!'#5!##5#"'&'654”þìTbPêþÑ_ 2@-CZ^6'¯i(,TáŒ2299þ#\*A&':][ÿóè#!3276;#"'&'#5476;35!5!èþÌ„*24 >0:£- 8%$ôþnèÝêÆ10F0$±$*G G±9 7327!'#5!##5#"'&'64jTbP$þÑ$i 2@-CZ^6'âT?IFAÐ99þ#z*A&':šÿþ ,##5027654'&'371"'&547675#5! àb)?W,7,&L1-=961c6#A%fê Ýg<)ALQ#;#@?) ;72$;5"/LA%@g973273##5#"'&'64'#53jTbP$r2@-CZ^6'' V.âT?I9þ#z*A&':š+9ReDÿõê"0#!"67632#"'&'&5476;5!5!4#"3276êþêT=N!S'K%,†]&| ÖþlêDV< DBݯF:>? 0 Dl 5@r v9þP0 & ! ""##5#"'67&'&'#5!5!5#"32"2@9=‚nS6&(,"rþÁhÀt^- 'K 9Ýþ#@„V&@ Z9јl,È/; ÿ÷ô ?&#"3276327654'#"'&547632654'!5!##"'&'&76H.D>)@*þÛ(`6#C*We" Q!)^7þ~ô2.U.:zR6  „#,#!") ;J /N 99f>!L?Y(Rÿû3##5##&5476?&'#53 r2@à '75 H€  9þ#Óz#:?EH(ŸB9E’"Ž!&'&'654'#5!##5#%535w j$'46 Ž2@¥þï-%d1åQ+8_cI99þ#ïîSZPF &êµÿõ !##"'&5476;5!5!5#"3276 2='2SUQ6äþh rÎC;76@Ýþ©L*IEVG “9þ}~888+8ÿþÆ:C"'&54767&'#5!##'15327654'&'&'&'327!676îY8+1K#Ɔ#J1?7D671&C"956 3%;*'4þÐD#"82';.=;12j99j11;N/)9*!$34 0  50!0%9ßPN)N<ÿþÿúÆJS72#"'&5476"'&54767&'#5!##'15327654'&'&'&'327!676ÕY8+1K#Ɔ#J1?7D671&C"956 3%;*'4þÐD#"82'< >;.=;12j99j11;N/)9*!$34 0  50!0%9ßPN)N<ò'#!"3!#371#"'&'&'&5476;5!5!ò þ° & Fèi"@2ŠD)T$8"þþnòÝš ( 9W9C(<1>a9ÿú*!32#"'&5476##5##&5476?&'#5 þðà~ö2@à '75 HÝRÐ Ú9þ#Óz#:?EH(ŸB9ÿû!3##5##&5476?&'#5 þðàr2@à '75 HÝR 9þ#Óz#:?EH(ŸB9ÿôõ7325!5!##"'&'&5476;#"a9/<~þ}õ2¬K*1*':#484ÒF4+199þ½¦=:6I!9TÂr7#5Ânrrrœ##53|@<œÝþå99*»#54'&#"3###53547632*@% )<<@225!&>&(-' ,9þ#Ý9.<%3 &ÿ„®»###5354'&#"#5476323®2@<<% )@5!&>&2Ýþ#Ý9,-' =%2 %.þaÿaÿ–ÿ¤ #"'5327j`;:``:;`—;þbÿ ÿ”ÿ® #"'537#"'537l_?=W,hž_?=W,hžR88e88þ~$ÿÖÑ &#"'&547*žs& G&ga$k pþx ÿÐ &#1"5432&'&#"#'&54?0gmP$Fa]9Mi Q_d @%8(*6 FIþd<ÿ¼ #&+"'3;2D4š_0–J<@†F<þ7 ÿ¼þ5"'&54733712#5254'&#"3öd:5 Ž\@   R(#4I)o$ #ÿ4ÿH2ÿè &##"543532SW"H@W¸M -$ÿú.##5#"'&'654'#53!535!322#"'&54762@-CZ^6'' V*rrþòTbPþïÝþ#\*A&':][+9T]±þ™}53T4 ÿþÿôZ !1%5#"32!5!####"'&5476;2#"'&5476(†//+$LþØZ2@€zZ=9?!þ÷a+ //+°99þ#Ýþ}f=9LU û ÿúÜ)##5##67#&543235!5!2#"'&5476Ü2@Ò@8` Òþ–Üç Ýþ#×G :\8Í9þ& Ô67&5432767654'&#"#"543236765!5!##'#"'#0(>;)M2*7]m)>% þ„Ô 1 OIHH2!LD@Z%  2 0 /9 %,.99P8 0JI1L: $Tÿõê"0@#!"67632#"'&'&5476;5!5!4#"32762#"'&5476êþêT=N!S'K%,†]&| ÖþlêDV< DBþ¥ݯF:>? 0 Dl 5@r v9þP0 & !  ÿò8" 47632#"'&%4'&#"3276ZNrv¨¨v€RHøJ?SbC7J?SbC7 €QG¢vv¢YOpbC:L@SbC:L@Ú$)!#"'&=#"'&5476324'&#"3276ÚBB 4I]8(L2?]8(/…?"K" ?"K")Sl'>,=W0 >,=þù@#{E 4E 4ÿúú%%%'#"'&543267654'&#"7632¬u3[C'‚LvOA>LWofyhJ]Yx )R9D$5)+5 F:/ _-P8C+6,N2$8PL'3HBM DK ~4!#A9@$0N2)CM,9)4C)2NY'95ý> /5'ÿø 727653#5#"'&'654'3ÓA/@@&Y}I "B3µýê $E`;HMDVFG:ÿü½B2#'1"3!!"'&547&'&54767&547632'1"2#"&#"37R5OÄ-3þÞO$93 ¡!' & 6r8@ &f(H,&;¨ (% 298%G 0`$>-Y;F5&"$&#0é !&547632#52767654'&#"r O/=h9% &¢yŸ›rr < )N "!!^-E.?!”K99A>fF$;! ÿü !;#"'&5#4763 þ„@HÆ..æ\LPY¾9¸FP;hVËYXÿüÙ(!3#"'&5#47633&547632&#"ijþŽ!:Q«.ÞSAH"KîWf(3 I=VA 4Š6+"9bM°THIeh"92þ>ÿeÏ#654'&#"#&547632·( " 2 &:B >" 0 & 0& ÿôä")%#"/4767&'#5!##&#"32763'5!ä?09`GgC N â,3'%t,O0$Ý^T.Bb( `,2LŸ(9À\&0<(?%C7H0>3þ‹+*!®ÿøÔÀ3JT]m#54#"&#"!##"'&'&'&'#5367632632"'&547632#"'&=%!36764'#3276%4'&#"3276Ô@9uC+2>+—7  I!*D=@ @+3(3 Yi6$ üÃI. ?)/S+`BB &@þ¼ û# +ñ6n7 þ-0 +0 O(c:J #9SG )7W"57[%:>3E39 TS"ÿö0»@#5'74'&#"'47632?37&5432#"'7327654'&s‹_çA·#$ 4'1=P2  6_p8C $4-VJ)/# 0(5Bݸ†@TBS 'R,:m'½›1 ==759M G)*%$$/'ÿù'Å+2&#"3!##"'73274'&#'7&56766I -4S#®Rm(2p\H -1f' éKUÅE)! 8R] FEI)8J@@'G»!53#5##"'&=&+73232=3ê]]X"(DE,(1^9 38Z9‚þEí)")'"3u F8…31¨V''Å$!#3%2#"'&'732767'&'&#"56']]þŸ€.¼F4 H'H2.!'» T"-µ0+ $D I &Ç.%03#5#"'&547&'&5767632&#"#;#"76«]](Tr<&G! (,CW$"&m>ji>p9?,± þEZ!6#17#%& G -6C43!(ÿôÅ<2#"'&54762765'&/&'&'&57672&#"#"'&'7ß# $  ÓG #X)3š0.'7SV f f,8UI/L"2n   #þÎ& . ZL2=h%.5''#µ»'%#"'&'#732767'&+732#"'36767µ':2g2 /˜0  3¨H5&4 a+4/`M7G&  F> C"V! (ÿþ'Á8G;#"327#"'4767#"'&54567"'&5476;#"27654'&#"† < qr4 „7' > DKs¾%H+(s=2%  3 J# I 6izU+J,$_FMb7%63!E, /I% (ÿüTÇ67"'&5476327#&'&547676'&#"3276'¯E($#;`W‹@¡ 8 B¨C(4˜þEÕ 't  K ~: (ÿô³Â&72767#"'&54767&'&#"763ö97 0*a1”h+*7%@" %WW86M<L$2P*$$S C0;1(ÿôËÂ!574767&567672&#"#"'&2765'&'&'(=.b!'5&":H Z[ ]-<¶!Û0  8"( ( #C'"S  K8 ?e(m<%"  *(ÿôÎÅ,%2765'&/&'&'&57672&#"#"'&'7ÿI #Y(3š//'7SV f f,8UI0K#1<' . ZL2=h%.5''ÿó»Â+%2'&'767654#"76332767676TeF:AÌ{jZ+6%A' '$UU0 :§K/ŸC!#*U @269  ?'ÿð/Á2!#3#"'5367'&/"#76322767&'&53/]]–V!B ( ">)'Ÿ:3!Y`:5`4»p BR+ E*(=ùL=8LþøJ"'ÿþÑ»53##"327'&'&54763t]]†F k#x ?/9aZþE;HIe#N2$'Ï7&#7676753#5#"'&547637654'&#"#&547632ZX/%(-6]]%8@l:&! 30P! ,&Q*; %D&'L_" ùþEp;&7  <,,$7#!(ÿù¨Å);#"767#"'&547"'&547632&#"‹' wr,)417Lki9'A  O*43J3$oE B(" 8GI<(9<)(DG$6732767'3#7"#'&'&547&'&'&547654';#"Œ?/C7]]fM1b# Q6kL7(ji?ª'% ûþEc5>7#*  @  + E'» #%&'&#"7676#"'&54763!53##MA$IE!)f(A!) ]]  Ø/>7  > <%J#^þE'»»#%3#5&'&=/&+7323767276^]] AE- K( +   ¹þEo1!(’ F&˜%(ÿ—Å73%2#"'#'&'&'73276767'&''7&567632&Û  ª)2a)2ƒsY/#H)2 $OÜ —C[L6DQD !K%/T in 7 &,.T9D> &XûÅ 7276=33#'&547632&'"æ8 \a`./G3—F *")/<Ÿ2‰GG$3"$­k) ?fs(.õ×-23##"#&'&5456354'&'&'&5476G0#ZY+*F1 " D*Y5×1#,1I1&M3(!,AA8'%/DA…=$(l6Ä7"'&54354'&#"56323#…@R 0jZY1l5 Q07 I `WH'ÿ¯¼9#"'&1"323673#'#"'&5476;27654'&#"767U:$%1^:^] "54WDK V( ARH1 \PNF(=6?C þEU 38R  )V'!'7§Ï3&#76767#"'&547637654'&#"#&547632ZX/%(-6%8@l:&! 30P! ,&Q*; %D&'L_" R;&7  <,,$7#!'ð½$7"'&54767&#"3276753#5#5ðZ<3E4D4[ T.‚]]¬ K?Sc@/C N't I ÿ²þEÄE(RÀ)&##&'&547632&#6765476;#õ.= T_6'=&4, W5 A)©]a” ?rV>O‡4@YœE:”&þE'Ê»%#"'&547676&#"3276753#mHH'S#-()-l'*]]r3d$.^&B4Z öþE'Ê7!#3#&'&'&+'32767'&'27+&'&547632]]‡)- kD1'€A" D(  !F T"i4»{*._G6"7 # 6 0KA&'â» %'3276753#5&'&57'&+73~¿, 3( ]]%B#D2%&mΘ. 5ÃþE€ /$*” F'»(53#5##0;#"/#732765&'&+532º]]s{¿& ;Ÿ" & {¢A" -ŽþEë ^ F)…F"*F4 %&ÿÙÛÌ>%4'&#"3767#"'&'767&54&'#"'&=76KX/,A7C0BhrBDkC#?% %5V" A)*8,Ñ/BB*) !L!9:_&X%FB  5LD (ÿôϼ(%#"'&'7327'&'&'&'76763232#"΂!'UI.@+73rKd/ *\I'sP+4ˆt1@#/>%7"E,,F£»3#3£]]»E.—"#476323'&$R!^X,<V0 PALH )þE»Š6D'$#KÿM£Ÿ3#4'&'#&545632£^'' IwOFD›U:* +$-nXUWþPþáÿƒÿž27654#"#'?632#"#&'7þ×@ 3/!"'F S!(R7%(ä"/9 921.þOþÎÿëÿ 476324'&'#32365'&'&þO[!)jO-@)7F&>38 M(KÐM O++-5E$(4  7 þ½þóÿó476;#"327#"'&þ½5 '‡b/ b)4&7RJ12C&CL%C$()þ»ÿÀ™#'3@Pà|»Þþu»ÿ¿¨'7#'7µaVMýC ‚í•;ÿf£™#'3#3–Pà|Á]]»Þýg»ÿK£¨ '7#'7#3!aVMýC]] ‚í•;ýu»ÿöC¢ N2#"'&5476'&'&'332367#"'&'7327654'&#"#"/1532?632%"'6323#"'&'7327'&'&+7327'&/&Ç  é 4›7u&\'UcúB*=H/ $% * !#,L  % B#?0&ýµ.4 P-¤8g$,^I/ Q 9FR "SR1¢  9 ]OPMþ~}?*H ,0L+"-)X0Cw3 +8X’ DlZ-_ C+/W>&H< '!šš 74763#"'&27654'&#'B3GY6(54NO67½0% ÜX9,E3CM7776 <-$+ 7(ÿï¦Ç12767#"'&='&'&547676"37676=4'&ÂW*$ ,#"("('(I, "Ç1$þùS 7z &=>+*F, M&ÿùŒÅ#2327#"'&5&'632654'&#"'6¸g>.¡,"0:+X$oG;-S6"26EÅ8)>‚##KD"$HDLC1B'ÿöÈ1%#"'736765'&#"76765'&#"'6323M.:ZY-B;Oe  1T WP,k+S‚M':?/7 /G)( C:"!ÿù¬Å("'&567&'&/77'&'&#32áR-g5.,:(#€A†#:$@78#1MK"^!r?o*5,H*Ž:-'ÿÿ¹»'!#'&=#"#&'&57'&+73232753;¹Q!0#K&B( ' ,\!^3$p F&ƒ# çþ¤ 'ÿj‘Å72&'327'##"#'2765&/&'&56767&'&5476ÚWH#/…\%/ˆq L:9L.'I}ÅB )DR $ (B]? $.6. ^ 'ÿÿ»Å&47323676'"'7676323#&'&'7677'&'36t0b·$AU&r&7% A ö 4&:!š/ A•%) E#.á3^ ;'.j* </ (ÿù‚À"'&54?327âa6#8ä>é225>7=(8K,³B¶(/DR'ÿù£¸%#5347632&#"327#"'&£ÆÆþ„PBX&!B. =''(fC7¼D$eA6 I 6&0#H!NL@ÿœOR#"'&5476324'&#"3276R+4 ,'%  #©1,4 '# ! ÿØÿöÑ#+:7#"'&54767&'&5476324'&#"64/3276Ñ="I"(! *6 (MM&.*1 * L&& &1 4wR!:%/:3,6,D&>$FM1>: .'. ?ô-4)*8$=0ÿýÊG727653#5#"'&5476767654/"#5&'&#""'&547632632áQ;/..&T%"d:)b+3$" - & A /+06 .¤-F*(1'2`ýîQ2 ;*:R2 )0GB& $ )1959(S 57 ÿý5K!#327653#5#"'&5476767654/"#5&'&#""'&5476326324+-þ¬Q;/..&T%"d:)b+3$" - & A /+06 .¤-F*þ1'2`ýîQ2 ;*:R2 )0GB& $ )1959(S 57 ÿýÿü;K[#'7654'&#"76327632'&/#"'&=7&5476324'&#"3276'4'&#"3276ö+K8K%R=RX51(<3 *UOGPjOZ¨  " } !  " _;usE0*m@/84I."#M^ 8!$:bdB8@Iþê= <.A ,"B>> ÿýÿø(B"'&567&547632#'67654'&#"73276=4'&''7ÌY03TLXmLZ+K8L% T;RS>>B1 4$E!B€"",22@(45TbB:@K†NFtw%Hw?,56E"A2%@"2 C € %5C*,ÿýÿ¥ö<L%#'3254'&'654'&#"632#"'&547&54763227654'&#"ö2 47F O$ +::KL46 &4A(: (@( PRCY_FH þÎ+ %- '†8'v ?+%OK1177D(#7#*J&6#+&0QgC8?>_#+p+- *4 ÿíí!#3#"'&547676767í?þ?C3  *J3 5zþ²—  #" !:ÿÿÿûªE%#"'&5473327654'&#"'76327654'&'&#"&547632ªM.;»- P:"¨ g3#$#$&K $ /1";"L–V+¶5BzpNEDéDB *%9/  !8!8!'*"& $ÿþè<L%"#5#"'&=7'&547632'674'&'&#"7632632#5&27654'&#"(-" GQBXhIN+I3A N98,,5. ¹' *# é! ´5K %-'gB7FIo ^>+33A0)¾°4•4A +4ÿþÿûÑ8H!##"'&5477632#"'&547&547632232767534'&#"3276Ñ.86K6 V!$G$1!(G(USBX- '( .À,1 .> ‚B743`,:(A+9#,[kB5L 1 '?þq5*;; ÿþÿûÏ,<!#4'&#"67632#"'&547&547632534/#"3276Ï-I6HR4&,G$1!(H% PA@^;5>-Á-- (4t$1$A1=-:(A+=Kþq:)6 3ÿøÍB!#5#"'&'#"'&54?&54763253276=332?&'&#"367Í-"' 9%U_;QU]/þä0#" =Ga7%+$a$ "-!+) mt9#IBþ! QP$%%$" +@*:(#%BQ(ÿþÿÿ -='674'&#"67632#"'&5&'&5476324'&#"3276  0)2?kL>A8?C%8 '@',A[PUqMO¿', '- +$:/GG>N44DP- <6 (D%3 '<[`E;MKþû. ', 'ÿÿÿööK747632#5&#"#"'&547'&'&547632'674'&#"63'"32767&º8:%.$, H># *PCYoœ 1 I>SY8*#0 '&%'ž= åÃ" (<<%+*-fC9–l0 "\>5A1@* #.19%ÿýÿûè?CS4'#"'&=7"7632'#"'&547&547632"32764'&#"3276¼!R 6!)O$ !$C'uv#%G(U^=S',4 ®+/ ,7Å&*D A(@!) j% ,7")2.19#,\q9& (0 -þÖ6)95ÿýÿÿÏ&6253#54'&#"672#"'&547&54764'&#"3276ésE..I0>Z9)d=A&6 'L"tUD–'- &/ A?þí]I)4%4I27 (C%>' -:e]4*þk- )- (ÿø×#"'&547632327654'&#"×DCfkE9@DenE:þY?2H]8)?4K^5& jUT^OflOS\LfmC6V?QgD9W>ÿþÞ87"'&547&'&547632'7654'&#"67676732753#5ÃE!F M@TwK=- 99[H71 `':!--%;$D dB8SD_H)&T==;3A# .D* A€þñC%Ù8253#5#"'&54747&'&54763276754'&#"6323#èoU-/5DT73E X>:#*=7+ D7GT71$%""% YRýîL %0,9 =h:(þƒ:"." ×%/%2.?5 ""ÿýs'7S25367632#"'#5#"'&547&'&5476"327654'&3276754'&#"63#ãoU.# 2*-0;N T73 F V>!  þQ:#*=7-D7FT72$%(!YR( 2 5"*þ›LC0,9?f:*0& ,%þ³:".&×%/%2-@5 "ÿø&%B253#5#"'&547"'&5476?&54763276754'&#"6;#4kY.05DT73\($ $f:X>:#*=7+ D7GU34$%!% YRýîL %0,98 ' +<Vh:(þƒ:"." ×%/%0.A5 ""ÿüù+;"632#"'&=7&547632#'654'&27654'&#"ìS8- &4A(9!)@( QQDXhIUDI8LN^3j+ (- %ê?3@(#7#*G'6#+&0QfC9?I‡FWqvVE†9þ?+2 *1 ÿÿ4B#'67654'&#"7632672#5&#"#5&'&'&#"#5"'&'&54763247I9?fÜ )(83  3  0#jC\ŠL@ s /(%ZBJ¹!  ) Ÿ£ ¥§ £œ;=&`Ro'-+ÿûö@"67632672#54'&#"#5&/&#"#5&547632'654'&îf6$! '%83  3   1Y[?ZjON.?>êO6I/$ ) Ÿ£ ¥§£†;d‚C/GFi,0 2P==ÿýÿðê8H!#&#"/"3632#"'&5?&5476;47632534'&#"3276ê-Qe+ *A‚B $)8B'8!)F' dO4!,MG-À'. '. sw"&!%:3) &8#*F&7")RXK)?Vþa0 +1 -ÿýÿýÕ ,9253#5#"'&54767&547654'&#"'32732?'ãoU.. FON0!WOBG7C7_‡$&>!N=-‘s#YRýîS +4#.!$!NdC7þ¢¸%/%† /3% ~1 03ŒLÿþ²"!#%7&'&54763253&#"32?²/þ–nJ@TN4//6nK437 #SÉeX`d81, !Tþ9ƒ0275 :!—ÿôÀ@"6767;2753#5#"#%7&'&'&=&5&'&547632'654'&ÓS.0>+,+%0Gþžx! *N:JjE>, F2ê9&3  !-#7'pê@4+&5_  :[9+F@XF4V4%A7#3@+-þ&Aÿ¹®&'&#"'67632G =PN: !LVeB`7* "B- ÿÝ€3#'7€.]£Ì>"kþßþ5†ÿ#*#"'&'#"'&547632532767&'&#"32†')<*;@ ,!3+FÑ(:3þ£%912Ki-  1ÿ,þ=Ïÿ%476353'"3276532?#"'#"'&Ô0!+*%& 4(A-;& -(#@"þ£3<"!4':<.þLÿÿ8ÿâ!3674/"?2#"'&54767"þv)J! 7MC"*%&(%#''?-#2#).ÿúÿ÷R*%#"'&547632&#"7324'&#3276R0#-l=/P4MF&'@E+/>`CD1==?1 ƒ?,!gNf’G./ &K6>@87D6'(Ú 4ÿÇôHX2##'327654'67654'&'"7654'&#"632#"'&=7&547627654'&#"îlF= !# 54X#! 93I5BL46 &4A(9!)@( QQD2+ (- %G=X**%1P„# * T4%77D(#7#*G'6#+&0QfC9þ+2 *1 ÿûµ#"'&5476324'&#"3276µ>>XU><<>UV??"56HE3421II55sPPQPrpNMMNp[AA?@^_CDDCÿìe/.47632#"'&'&'&'&'&%4'&#"3276H*7P1"<)7<1(5]"?< G  4 ? 2";"e0<)6T2#,&%4 ÿô/4!#4'&#"#&'&#"3274'7#"'&547632632.,-- ,;!0%% F%TC'6?-.CT' ·(!þD¼ "E(-v%(51 rw7 /7=-ÿ÷ú3"2#"'&5476?&'&'76767674'&'3276ú-m)8//EW/: "? 4M‚[C Ie'84!C ^S/>>L,-C+9B< U] A,hþkEG #87A 8ÿù -/;G%&/#"'&54767&'&'7'&547632'4'&#"64'3276 11! ="+N'-WS #Bd:%.H(0 &`+ Š14 >u3Cu-J¢"3.N&<",20J  U!%&H*:$,=, "# þ<.H.$ÀA44E8 @ÿÿÞ89#52767654'&#"#"'&'7327654'&'&547632Þ¸Jx9+6(/8 68 $:/ '#)+ 7 !B$,c6$w­u. 1NOoE0#$ 5) %C#K20ÿøå51@476325276767654'&#"7632#"'&4/"32760F?QfC6†  27654'&#"72#"'&5476ê7 /: 4D/9+2E/#9+F0= 2Bø:!"E.#:*2E0#ÿþTÚ />O_327654'&#"327654'&#""'&5476322#"'&54647632#"'&4'&#"3276T68 *<þ÷6</ApD/#-.;=\0.ý²<,..-;<..\¯9*4D/.-;;..ý/= 2: BD1+3 þID5? 8­8*4=-/\=:..//-=;-..-;=\G/":!#;-..-þŽ< 4@ 1 ÿ`Áâ G"327654'&!32764763233#5##"'&543!654/&#"#"'&Û<# '" ÂýŸkMT®hþÍP5CmD5‡55 <‡WanoˆNm;*12 >Q{B*& ,þËG+aQ.YF^20Tý‰æn6#2=d1-:S> 5OQþôsâ d327654#"!3276"'&54;#3254/&#"#5##"'&543!654/&#"#"'&54763233632˜  &6   ýŸkMT¬f¿Æ2<ÂÍ Ãø+7ž<‡WanoˆNm;*193#G F;FmD5…7!D"3 & >$þG+]þÉ?777“1 ˜æn6#2=d1-:S> 5C"@#K-&YF^20TþR<'Âÿ°þï[ÜZdq~4'&#"3276676767&547632#4'&#"67632654'&##"'&547632#"'#"'&&#"676327654327&Ž"1/ 2þ#( ?Cƒ¹üb60–Sw¨ml8RF!*(3T,_Ki??AƒT2$>[9"LX?:{}T&!9b+&+*LAÿþ…â)2#"'&5476!2#"'&5476###!#Å  D  p=þ<uþ  #   # þö¨þXä< ÿþâ0<"5476;27654'&#"2#"'&547632+"3!"327654s940'K",6)55@ I=Td<.C=Ns66 ý`& /# T9*"'\$6=1Y+%E5GK417k# /! 0ÿþœâ-^jt676;####54'&#"632"'&547632!"5476;27654'&#"2#"'&547632+"3'27654#"3254#"6 2ò‘7%Y7;&!(.?9 5%15P\-kûÝs9:.#K",6)55@ I=U_=1Jþ²'#+7 .ÿ=ËÝ.%#7#"632#"'&54763!#4'&#"3276ŒC“ÏY;.,_]'2+3f<-UGb¿´à'3!2B ÇÓA3BAC",E/(T@SrH>=þï'#+7 . þôÝiy%4'&#"#54'&#"632#"'&547632632#!"3276=3327654/4763#"'&'#"'&54763!276%"327654'&â3)6J(7<-9C)J&>$+@("Q=R33o`;.T5Lþ¨_*<%*L9079&,A(+L5B^8 8s7!g5DRR.ý´8/1*ðN:.B)3—‘N4() >#,E%9.5m?/bbUBV„@(0 :"4+7)=(/%! 58Q0"=]D(9a)I/†0 :- 7 þïôâaq2#"'&547;#"#"'&547632#&#"32767"'&547632327654'&#"632#"5476"327654'&}úV'<(8O  12 (BB!./N|;;< \C!15-+?*) I §;LZE0(N 2 '˜{gJ0 *1"âˆ>Wc8&7:B'6,D ,UC' K4L G*-?345+1h «1E4NA">'ÇNBþÝ",& $  þïôâw727654'&#"27654'&#"2#"'&547;#"#"547632676767"'&547632327654'&#"632#"5476–;)3"r;!1ªúV'<(8O  12 (BB!./NŸ5!@ #.15-+?*) I §;LZE0(N 2 '˜{g;) *& $ þó<..¢ˆ>Wc8&7:B'6,D ,„1/4 &L G*-?345+1h «1E4NA">'ÇNB þïÈâ-7™©%676;####4'&#"632"'&5476323254#"2#"'&547;#"#"'&547632#&#"32767"'&547632327654'&#"632#"5476"327654'&b 2ò‘7%Y7;&!(.?9 5%15P\-þö' 3;2þ*úV'<(8O  12 (BB!./N|;;< \C!15-+?*) I §;LZE0(N 2 '˜{gJ0 *1"ª87þseþà D"-1 D <*+T@GA ¬( /8¦ˆ>Wc8&7:B'6,D ,UC' K4L G*-?345+1h «1E4NA">'ÇNBþÝ",& $ ÿþyâ735"32="'&5476;5!#32#"'5327654+´¢Ù<,+ww_>2&®Ÿn@&>'0 $#C`VP)¬‹‹Â&1&sBì?2E7"Á6‹='.E)=+[[W&ÿþ³â#!#63233!536765&'&#"###¢‘",G/!7°6þ5…:/,7¤6â6…5&.[*­þ7@. "\)þRÿþsâ!%"'&5476;5!#3#75#"32#3ß_>2'®ŸççP)CÙ$ <,+w¢¢?2E; Á6‹7[W&ªB+ 1&w‹ þôÝ€327654'&#"4'&#"3276"'&547632632!"32?632#"'&'47#"'&54763!27654'&#"#54'&#"632T- 2(.þ’,701P^ Q=R33o`;.h#)!þ¨_*?#)%P•PYI'9=!ÆL;U;1g5DRR.3)6J(7<-9C)J&>$ˆ7 $ -# ^3- 3(nS )m?/bbUBVœ70 >!3`49!*?" 7!"1:/?a)I/=N:.B)3—‘N4() >#,E%þï¦ÝP%327654'&#"%632#"'&54?2327654'&#"##"632#"'&54763!#2? '2!¢(8b+‘z¯ÁŽ•N &C‰‚“h|+#.&=ÍZ;.2Z]'8'2e<.LLh¿µ7 -'#*,!X/=¤XJw~¾Æam£›qk@L‰5)1Œ¢A3BAD!,K0!S@TiHG=ÿþÓâ3!!6‰ýAâþS7ÿþ"äIXdp26763!###"#"'&547&#"#"'&547&#"632#"'&547632676"3254'&327654''327654¨tA<@:œ‰J' *0R+P'T.(ka‡]LAR þ,"0_+.'!.`aø`)*!â)#6þR®R‰b8'L0<ŒRR‰b8K1+'zÿäþôgâ9=I"'&5476;5!#32+"1#4'476;27654'&'"+35##"325ß_>2'®Ÿ+`1q%.òB4:0ëš/E+P)_¢¢¢Ù$ ?'-w?2E; Á6‹O1A™<& 1Z a$/h [W&#‹Â+ :#sÿèþôâ+!#632#"#'7676;27654'&#"###³'!R(W=$R .*I f (Q('¼®þRÿþÑç3?N#"'&547&#"632#"'&5476326763!###"327654254'&#"6d9 &L,^5>‰J' *0R+P'T.(ldˆYK2O ;Ÿ<`6\`)*!þM_+,"0šR‰b8K1+'zþö`0#;ÿþ'â3!3!6¨7ýëâþS­þÿþ…â3347632#!%4'&#"32766ÍY `D=D*þB50EC °4 âþS._cXf~/¿bID"&þåD ÿûƒâ327673!3!5#"56%7&457þ`?Uâþ„.5@þS­þ7'K ÿ1’â !#57## ˆÇ‹6â6þXÓBœþRÿýþô8â;#"#'7676;27654#"#4'&#"#47632676325ŸH7 U°n;*‘,7+# 67)D)1€-Q‰^p ÿý4â=M"632#"'&5476321327654#52#"'&5457'&'&"327654'&F?=3JU,C)3S1/HGm^KJ B `+°æG7Oa).9ˆ?5B (¬=TnQPHIX!(L S-;¼6òwF5A,87$71;¶1: /3! ÿþ@â/?!###"#4'&#"632#"'&5476326764'&#"3276<7C3 7wVVFJb€;­þ1Q$)Z:.¶2? 1=  ÿ1>â(m%327654+%"327654'&%"37674/&!"632#"'&54763237"'&54763232+#7!567654'&þÏ*bsýt: 1< 0.,? ),þ#N?--'Q+B%/e-OOydOQNë@K0 +*242%P<"M ÍÍ1Q$)Z:. ÿþüL\2327654'52#"54767'&'&#"#4'&#"632#"'&547632676327654'&#"\c&M@+ ‹`8*C3L… @ A 7P+4F?=3JU,C)3S1/HGmlC :þ"5B (?âQ#-*H‹Q<@·7\EW„L:¸F &K ;þÅ/J"=TnQP0. þ­: /3!1þôîâ_o"632#"'&54763234763267632#!"#'76763!27654#"#4/&#"!567654'&"327654'&'N?--'Q+B%/d-PQvdOQNä7)U$ 3€.-‘+7+ # þwSG8»: 1< 0¬8(1C)4S(U.>wVVFJb€;Q*H3Œ?R‰^p4%-*L hLgí-þ´L6 /þ´1Q$)Z:.¶2? 1=  ÿþŒâ !#### ‚Š7‹6â6þR®þRþÿþL4'&#"#&547632X#.P1!%CZ9L™1 7/7%1441! NW³$ 82(Ñìâ !!5#!35äþ÷ÛŸâþïÛ¤¤ ÿþ' %547632#4'&#"67632#"'&%"327654'& ZM|®5 7X,=w@50 F!)b A$-C, 9 : *'{Ân^‰,$*ýø ~2va€thS"V (O&•a5H,< ÿþa<L"327654'&&547632#"'&547632#"'&547"7"327654'&½-7> .|8?*4A4)^>P‘nlhh§iA1L!L+9UPOVÙ4 2B -µ+<., ý†8DN-8,2e5"uu“§pq=.B\& >'1E/le^eà1 9 2-#ÿþœå8FR"632#"'&547632632'67654'&#"#"'&547&"3254'&327654'c‚J-(1Q,P']/lb‡_GIFpJF`7GCBW'$d:'6L+`7æ? 0a-Ö). b_¬@'7A'2c! O1AVO,)YSs}H<\V9;R‰d8%K2;ŒR¼4; `21M*?)(sGQ ÿþ¬ /?!####47632#4'&#"67632#"'&%"327654'&*‚Š7‹6üâZM|®5 7X,=w@50 F!)b A$-C, 9 : *'â6þR®þR}Ân^‰,$*ýø ~2va€thS"V (O&•a5H,< ÿþ¬<LV"327654'&&547632#"'&547632#"'&547"7"327654'&%!####½-7> .|8?*4A4)^>P‘nlhh§iA1L!L+9UPOVÙ4 2B -O‚Š7‹6µ+<., ý†8DN-8,2e5"uu“§pq=.B\& >'1E/le^eà1 9 2-#Ç6þR®þR ÿþ` 0@fv!###"#4'&#"632#"'&5476326764'&#"327647632#4'&#"67632#"'&%"327654'&\7C3 72'®Ÿÿ<þÅP)¨B+ 1&w‹þÝ?2E; Á6‹Áø[W&þï4â5?%4'&/&#"567632#"'&/767676323276####þ, C)5b.{q‘¯zzE; ie˜ydoZ‹7Œ5/O7 KC$c8I]Vjl¬ @‹T  >t4/¡WTDM&6þR®þRäÿþ;â)-%3#'3#"'&5476;5!#!!'32=#"%#3Ú<<È<<þÍ_>2(®Ÿ¯þQN)É:,-wÙ$  ¢¢þþþþ?2E)!#Á6‹7[V&ª1&sB+ ø‹ÿþkÝ,!###"632#"'&547627654'&#" _T<ÏY;.,_]'2+3f<-UG)A %3!2Ý=þ^¢A3BAC",E/(T@SrH>þ[.&"*8 ÿûËØ25!####&'&#"#476OC3ðnNäP')N Ø* B9þ\¤þ\V4 þq¤-ÿý'Ç !/%#"547632'3254+"";254#2#"'&5476'I$‡F$\! ½g&&g ''g4]! ŠD)GbB dA 4½-)*,­*++*;6d)!B ÿþYÇ7"3#53&547632#"'&547632'654#"327654Ó$ñ‘6"Q#hNkQR..= Gb.=u*! *2-— :"."#9'0A)•=Bfo>7+ ˜e',Ó +O ÿþ5Ç<I47632632#4'#"'&54763267654#"#54'&#"&'&32767&';$+Y/:PQ$0;U_^4+€#*+>5! T6 CO E3=* €92= r0Gc322U,8*?J 61"&UGq #8) Î# 4 ÿþãŽLU"!4'&27654#"72#654'##"'&'#534767#5!27654'73&54762765!C, 3+K!E4;Y(2V RZG4C‹1 = g684 xX8!<þÂ>#þÿBA"7) €)88HÈW#)$+L \1c9+s%/:/G 8;#7J[#@P'.Eþ}6!*S ÿþPÍM47632327654'&'7#"'&5474#"#"'&547632'654#"327654'&…`)5À pp %G7 çu+z~ Q2CrIH6#1ˆ ;H.24Ye !o'£hwR(A!::#`&%þÿZ(6&#€V)$d1OOra5#V! (;Z=@Q" ÿþšÈw%27654'47632#"'&54763"327'&'&#"#"547654'"#"'&547632'654"3254'&5476323UZl8KyD2c (` F% 6- \ )2Ec'ޏ |V  Ø]>@+&9B+4 Œ«€ 96N’$ DE$&}2WA\œ+ ?M 3" ! ž'5$,=&°¦(3 f9 )*®PMs\1,*! /d×n$)C,+b ? xÿý#ø,72765327654'&'&'7#&'#"54767"›2 C!".,+4$º;#oEŠ?/D+ 4?9AJI ?Œà^"B/ŽA!@ Hÿþ&>"'&53327#"'&'#"'&547&#"327653327654'&'M D4,'k,="G,*^M&y 12 CX/ ()0 qI(5+H€14 c%$F=#.Q"G &1kH+CEÿþ#Ç>"#4'&#"&547632632#"'#"54763"32765332=4Š- 40E;C!&L<"XH'A i!1WŠJ*V2 CXC## +*3 @@<$.­c @@ŽP9 H1ftVqÿûÿþ/Ç;"'&54767654#"&5476323253327654'7#"'§_ (I(3H45 #^ (K(/XC: 4##C7$i!1L%,(<;- *,77%7%0 VI ! 98U&@@ÿûÿý1—K"&547674'&5473253327654'7"#"'#"'&54767674ƒ14$N(K((E(1XC85  #5Bi!(`P&&A '  *,* 2;+A$(7(41VB$8Eb @@?"-)&4 ;ÿûÿþkp#\+53254+5!2#"53254+"'&'#"'&54?654#"&54763232533254'7*»» Å›€/ @zF*NŠ˜šP (`U$(L&3N/5 #^ (K(VXC8FD&%$+!1H-Zp7gkýÆ& @B!+*%; ;$%,77%7%HVB9%1JD$&ÿêŸË3%4'&#"23676'4'&+5!#3##"'&54767#5323-2 BAe¬(4¤pF"+QE+'" ~š-/ 'R/ù ?<89(I0+:-)0K 9ÿþðÀ<D23254'&'#53#"'#"'&547632654/&#"&57676327&#"W-*s(ˆCO6<^)6yL/\H,'-+CFE 'AE"&ˆWF13DW½K.>Z4:‡UQ1EMi….F/"&+!JF' )%þ¥++*ÿþïÌ%#654'&#"#&547#5!ï#E#<3>>1<$E#ffDSJŒY58VrC::Cr2\2\f=[RÿqÌ M2#"'&54#73!5!#"'&'#"'#"'&54767"32765332765'573275"! TE#‰ýZ¦[2$'D 6'5V$?IM'SN22 EV,r7 BV   (þr¬=’8) 5\9(99=#.E":F(1f=i26ÿüÿþrþN\2#'&/&#"3276533254'7#"'#"'&54?654'&#"&54763262#"'476ÇV+ N #!2(/O(`KK4K0>(g4AWh%-S-( W7@).W/<7 $ þ= (()="!Q>0 ?!"?<X&77Q",/'=$)5 1 /1JJ  3ÿûÿþSÈE732533254+535#533##"'#"'&5454?654#"&547632`1XCVEM=WW>]VL"/i$.W7)+(L&3M 25 #^ (K(Œ1VVHW:r9$‡:,F+ @@'(:0$8!;)  ',74(9 ÿý?ÇK27653#"'3253327654'7#"'#"'&54?654#"&547632qN G=&%-%;&A!XVE4- #*8$n3V[!&F%*A><$'4, *q&4+,&7 8V> F4M#FFI'1#6#1  +,& ÿöCÓ w%2767&'&2#"'&54764'&#"#4'&'#"'&547632654/"#5&#"#&5476326763247632'6 -#Ci?¹ S$8$D4E HeT2-€#*!-64+6 CIG"3EC 'g! <>) 1'*T- &*3> (,9C7,Y[*:  9"&U-UF  +*)(K< .$;+#;(355B<Dr`476;#&#"32'654'&#"327653327654#5327654/&+532"'"'&'#"'&547&)#P 1%C : )< @+1 b"$)  H%FL C. 5MJ+PA.E+&2# ,3QL!(% +—5,;E:"+;1+9hy # 6J2A•D8ÿý±Ê("327654'&%3#"#&547#47632#"åP'M#d 7#þñôuC=:XÅM`¶))*Q")p# ]$O/K;L`j>=àTX¬' h ÿþÊ#<2#"'#"'&54767#5!4'ᒆ#"325332õ < w D?*;nEg -'§g5WDWD)@8T 9( =+4fX#;;+¥ +0_a-9! VV ÿo Ê!@%4/ᒆ'&'&#"325332737#"'#"'&547#5!Ç'^_6#WDWDß#ß3w D?*nnEg# )% ‚ +2 0P4C$VVÕrró3 9( =+4–_;;%KAÿþÇJ"#4'&#"3"3273#"'&547&'&547632632#"'&54767327654'&3D* V>"(qNWW\E]*1@,D. W)4jQ4xw=#66O]! I1L2 40)7FV9+A0G (!_+W"^^\5I _:<6@ 9">).H40ÿþóÊ,4'&#!5!#"'767327654'&+53276›9þþ6^ &DHEaë F"3¡U2->!!F G' ;; 22B;&$Ž92-N2:0  ÿo Ê'+A74767#5!#"'#"'&%#"'&547632#73727654'&'&#"253 ?v,]N / )v0W3!"/    D#h286AN;,5WDŒh^';;Ci,+E+==(&   þVrc3X69L9B'GVV ÿý Ê,73253327654'&#"%#"'#"'&547#5K) WDW' A5IO96 IO4% \0W3!"vv¡AVV/cA6IDØ;?x%'D->=(&@µN; ÿo Ê,07253327674'&'&#"%#"'#"'&547#5!3#‘WDW $4MV9'¿/ )v0W3!"llT?Qþí#DDVV*:(9O5C]HE+==(&@»H;;Ls"Ír ÿþùÊ-7476323254'&'#5!#"'&'&'&#"& 8,4. -M+-Cñ%U-B%2?, "> = 6)!L(t9>D;Y/I%l2I5?%):ÿþ±Ê!#"'&54767#5"3254'&ùk, 99ZZ9:+]ÌM'++;‚9"Ê'4O"f?@B@c+06;KC'2I..¥V, ÿÿ'Í,HV%'&'#&'&7476323&5432'27654'&#"4'!5&'&'767676%3254'&#"&(H@!(WQ' >SŠS[{$   ¨!# þÑ) /&/;(M;(#þA ?  ô97.U^qj>MY   4 ‰!%Ü- <™>= ý <>" 2\)‘K *.'#H+-D/98EL:8"Q_@ELGQŠ[XrZ2@ÿþ Ç3&5432#!5!254'&#"8 x‰m+~*6þþ™'CT 9Osr8Jœ+FŸB11Oÿþ ã)47"'&5432654'&#"'6323653#"'&5'"3254'&ÈE"x4=-)$F|‰E4M? ;&(+,) %X'X-V465= TœcJ2 I 2‹ $$ ÿþ!Ç:%274#""'&54767&'&5432#7&5#"367654'&'3.34*8"  Z7(ˆyH(UO:<‡)C®D/38831& 6&.€k  . 5%A&7˜?4"C @ÿýÇ FP72765"2#654''&'&547674'&#"#47630767'476"6767&§4> + EKDU#'-&H-::A"4)", D6(#-ƒ)  "''12:4T8!—. 4 5-#&6--,FO.6H2 +##@ÿþ¿+73!!"'&547'72#"'&'74'&#"3276Œ=þÜ_/gE u0 >9"Ç2K4$! ‘3FB&4m@rx7#/E `ÿþ Ç"#4323!!"54?654( H|C":j83%þÛ›;l;‡d,!;0E&& 9p;*;!%3@ÿþÇ/476;#"#"'&547632'4'&#"327654'&b+U-L44CA[‰8"!3F= 3 «I+'+,q0 8 A>(L68f5JA&'8 !B•("0!63PÿþÇ/%4#"32'2#"'327"'&547&54763!!"6B=O*K4A 3:@ @!(e<>##M=þ¹A@ð4o,+ %89-,C8)JI8<!<h¼ 2#"'&547627654/&#"ãU3$10FR4&=.;A%33%&2¼@-;F24?/=Q3%þÞ5 )?# #"3A%2Ò 0@72#"/4764'&#"3276#"'&'45476324'&#"3276i:(* +j((% +.+<4),ú.)H6b+ +$"7 9.3- (ÿ {lFVg#"/27"'5#"'&54763224/"#"'&5476726767327&#%27654'&5747{,%?&8 [xXavLl :*'$" A!'*0f þ6C7G "T-s! /Ž4 þÛ*"(ÕÖ;@k‹A+&$$ 8( N/* &¹Z<0†I0." 2/,<$$ÿ»c¢#&/"3767654'&'&/&'&'53237676767654/&'&/"32?"'&547632#"'&5476767633#"'&'&5476324'&#"3276  2  ?l- Xc)1C N !%R§.h.$B'?#Z!L 3.$-°Z"a*BGd!I '3"V(>%&9:%-4 G )    '5")\@A# e5  4"-O E'L1 2¯ƒE  %:H2D"†A ,J'0'% HF0!,ÿþj Wz‹›47632#"'&74'&#"3276476?676?676?2322#'"'&'&'&7276767676754'&'&+"#"'&5476724'&#"3276[&1'+    # þByà EQ#  .DxX  $A*)(  3až:JL<.b&G3V@>;(3;k^;'  ¢'+ 1   # ÷/ ) , ' $  þ˜T [-O$ &1!0 9  o1*>l!& C05.? F03  ,:5*h, ')  $  þ¸ [P"'&/6732#'"3276767674'7#"'$476767676374'&/"ƒ+ c3'(4Ô[0< -,X.3-!AT a1Q* L*,),8 )E6@ :&_6D1þÀB>H‚m<  # '¬*'C[Y?`=$'"Y -&T , #+. :³"32?4'&4'&#";27676765276767#"'&'&'#"'&5476?2327654'&'#"'&547632#"'&5476654='4'&'&'&'&'&""'6;2'™"­ 8 44E="  "'D #+ ( 5" . 1km;*W#". n„" !<3H5+J-8h7#½ (!S:,1 A3vx&S6#6E !)(  ! +  J3RC./Fa- %&! ArRož> 2 &> P !"*4 3*4G&7"1ø"\". U!"+  A< =T\T0PB#‘Y ‹%27654'&/0;6767657"/#"'&'&#"#'&'6767674'&'&#"#"'&5'4763267632+"/3276767654'&#"2óCu:/7H*76E1 5 ÊB#5V. ,*#  HX*:  '=#33D 8 2(?9—k ,-,' #7! NMoA6IPXŠE"*N3 /5E`, . -ƒ F&r3#2"3¤\,,5^/  B46 #&$S4A\6A"!C )IpTS(-.3:\Ž%4'&#"32767#"'&5476323767676767#"#"''?67654'&#"6767632%654='4'&'&'&'&'&""'6;2'&&2# (\,BBf†@) &#,+70 ', ( `*(Y@K A  2}a5  ' © (!S:,1 A3vx&S6#6E !)( e+ .%3d;MgQPS6M.12$  / )Jl_:@AC ))U5 ,/m"\". U!"+  A< =T\T0PB?¤\o47632&'#;676765&'&'476767632#"/72372767674'&'&'&#"672#"#'&'&'&'&?]Fk& (I’4< *(&S-I& "4G9wNE*68M(!/ %9 Q!4]2I) 0Gz fB6 ,šR>  `)7P3  'J  (*)%ZPp4 +#G&$  @iM'K, C- < #*?1BH6ÿÿ:"b”"327654'&76367674/"27"32?67673276767#"'"#"'&'454767#"'&54763654='4'&'&'&'&'&""'6;2'_  #  < |Dkµ["H),9'W(+ "#(B#$) ( 2/hkJ2dT804 $gk(g (!S:,1 A3vx&S6#6E !)( ý   +!   I%%9P  $!%  F`Y_ZG@O T5 %I þñ"\". U!"+  A< =T\T0PB# ý:T~3276?67676731#"'&'&'&/47676767'&5474'&#"1"'&547672#"%&'4'&'&'&'&'&""'6;2^Ì#1D &C / 'hFd8.390,. !Y(3 !  /"6)GI(B"r (!S:,1 A3vx&S6#6E +"Fq-  &F! (5UD+ 211>#  * %!*)V& U!"+  A< *W!_ g%%Œ"32?4'&2674'"322'476727"'&5476?634'&'"#'&'47632&+" 54/&'"#"'&'#47676767476n8+= * ]5 '€% W$ $=y;: bTU¢uƒU"8Y2 /! @$&0!(  ]2…%?bi>A# FD=|Ø, " C !0/ !!W' #9 !@-)KqG3KT‰[, 6  #% .'2+k"yP @80-85 1*  K" ‚274'&#672#"'&'&54732#"'&5476?63&'"#'&'47632&+"27654'&/476?6?672n0 5 é)E/1#  A;!!B{p•¢uƒU"8YP/! @$&0! ]2…%?bn.Ã';Õ? :D,+æ4",  "  %( ) 1+,+~NFKT‰[, K  #% %5 2+k"y1']3~ ÿ0Âa!¶Ù%27654'&'&#"67227676767267672672&#"72?#"'&5476763?&/&#"#"'&'&5&#"2#"'&5#"'&'&#'67674'&'#"'&547667677276?"'&'&5476ÕB#]4*!tW  = @#Í- O\.GSVOa?33+-dJ64 6I^;# M;" –-!Y:  [–'% =Á&% F !"< >*#(*)  8Eaj96 B <J9pdA& $$0!-% £h4;   7 %%P6*ý`D.  (*3 (' &ÿ0Àa²4'&/"4?6767676%2&#"72?#"'&5476763672&/&#"#"'&#"#"'&547632;27654'&#"47632667677276?"'&'&5476I!G,/ I .‘WI +)*( U*< 6I^;# M4cm# H<  >;" ýA>W:)1/…, "<   :*#(*)  8Eao78  B <* <:O GjB7Z\{p[eP.!E/6/&5" …WO $ýWD.  (*3 (' +:1a!276767673"#"'&=747676;&#"%654'4'&'&'&/&'&'&""'6;2\ Q:&0'# / ' s—hj‚ .^(/;0!s  $*:,1 A3vx&S6#5G $ :” $/3-$D@s8CcBk   !%) /.   A= !;H@(*Xi7"'&/476767"3276765327676=&'#"'&'&547&'&/#"'&'3276767&'&'÷lA [(2&#*!2AR,B;  $!#S1 5*#)$."' "x30K-, 7$6*%(6a8"$D| m5C*yH  1 *@ $ :!*9!$VA 81;B*DRR_P$43 FMŽHV>:M%#"'&54767#5!4'&'&'&#"#"'&547632'"2765;7276767#"'&%654='4'&'&'&'&'&""'6;2'@+0S9:0HF !$  H‘Õ3 | 5 8B#$) (88,ÿÿô2~Ž½ÏØ%#"'&57#"'&/&'"'#"&'676?'4747632%67632632#"'&5732765'54'&'&/"4'&'&#"6324'&#"3276%47632#'&'&'&'232767654'&'&'&74'&'&#"32767&'"Å0 ;"!!5BZE:'?3"  G[F?^:?C.[~6§8;&`/ $D;(*2!H  =  96 1+ $->$,*ýº*" 4#71-‡#2G61L7 3þ£E#.›" #!"?2\p0ß8,# b&!((J; , 61O60!ø) 70 &T #;.qÒ@ O&6l ;Z! F !"*)2!1"- - ˆ- 39#/OF2*;%%%¦E  $ %! î?!.)!Rf}"#"'&5476763267672322+"/3276767654'&'&'&#"2#"'&/&''676?674'&2327654'&/"á!3"+Q+ /59A,!%§ 4OA #:$'V%&(0B)Bs)$9EpeN:?T > !!*!š3q-, GT. D 071<0>‹$*{B;9._9A-  !2*@TN`; 2* jIþ’Y#0\, Av+%ÿüð':G47'&'#"'&54767632&'"327654'&'#"'&'&327&'&'–0 UF0GÛ=N’ar.80(r)Y]«W='>Q* L*,),8 )E6@ :&_6D1þÀB>H‚o4?g-;" ¦ / (*)  8Eam9G B< !;*  þD.  (*3 ('  :5g727673276767#"'&/#"'&547637#"%654='4'&'&'&'&'&""'6;2'Ük? ""$B#$) ) /e%!"'$W88P5]"-’$ :( (!S:,1 A3vx&S6#6E !)( –I .F 0^2Y $3JJ`¾@)y$,O0!d"\". U!"+  A< =T\T0PB‚WtŠ7676?6765'&#"#"/4767676;6767672"'7;6767674'&#"72#"'&'&'&'327676765&'&'x7   +# -0 1  * $A"J_]x2  L - 4QUŒ$I"@I$  ? M G8" / 5*^6#J ]/F Q~@-39L%8   -17'21 -Q* L*,),8 )E6@ :&_6D1þÀBCKz‹3  # '¬*'C[Y?`=$'"Y -&T , #+. ÿÿ:d–%4'&#"32767+'3767676767#"'&'&'&'57727654'&#"47632#"'&'&'456767632654='4'&'&'&'&'&""'6;2' #"#úM .,2:.- ( " GbD%%' 7?(RC@B'8 .'2/ B^mIA¼ (!S:,1 A3vx&S6#6E !)( a$ # !Â_ =W(Œ: X ,' 80 #"G1 +4 !?It??C;m"\". U!"+  A< =T\T0PBs^b#"'7127654'&'&/"#"'&547#"'47!4'0'&'&##"'&547632"327654#47632sœ!'%G"#N/"-#.!V1!..o)3hNPbP 2  " .?'-¬--/GDdb6"\4?k¾3#î, " K6EN6- 3"/ %\j-NObx;  %.499F3$%+&=kUh«9ý6€ª4'&#"37676"'&'47632#"'&5676?4'&#"327676?671"#"'&'&'4767632327654'34'4'&'&'&'&'&""'6;2è( " (K9I#%K  3(B]?/  _SSQ:&0' 3 ' s—Wpx 4("R#*o0G ÷ (!S:,1 A3vx&S6#6E +"Ú32( ' X7d ;))+%,  ,5, ?-( $B! D@sCHS8DjN'  ? <(+> )*[ U!"+  A< *W!D0: Ò4'&#"327637676767"#"'&54?674##"#"'&54763232765&/#"'&547632#"'&/67654'&'&#"327654'&5476?227654='4'&'&'&'&'&""'6;2'æ! * %?!- ( 5)() 0'($8'./7s9&D/G0&UN)+7 O8)G,61/0  a ?.'"# - 1%× (!S:,1 A3vx&S6#6E !)( ø" 0'#þŸ Ga)$$4  4"$yPn•N7)9 T(2 4 +,&Ž=;–vI816D./26+* (5  1R,&!_,<-P $N*&6Hº:;‰} &   $# [X!"s 7fV,.JA *)#> OG-*7!/R:5 )'*þ:O|32767676731"#"'&=676767676374'&#"1"'&547672#"%&547'4'&'&'&'&'&""'6;2\ä Q:== / ' s—hj‚ 21&z3 !  /"6)GI(=x (!S:,1 A3vx&S6#6E !):‚2$@! D@s8CcG5* %!* .2  U!"+  A< =T\ÿÿmXz%67&#732"2+&'&/&'&547676?632&'"32?4'&/47632&'&#"&'&54767632674'&'&#5 =0š“(%4@>P? %5151*B<3J, >P/Q•'' "(?HiÂ? R '% = .'(98'=50  ‡S3I)+  /44DI344 # #1 šE% H#L,# --/9-)6 H $?#Â:–4Dj7&W$ '/Bhhz4'&#'47676322#"'&/#"'&54767#&547!4#""'&54767632#";276767653276'67674/&#"32;#-­F"#_& ( !"I_)#; E"'5< — %*$$? _# 3gkSQL1)3M4,ÿ0f]u2/"#32767/47#'"'&'4'327654'&/473#"'&5476?676"'&'767324/&#"Ę4 ‘i$‚„!o3 HJXWA? H]„hFW    (eOvu I`, O"df[+'  f> )¢1 A ' P00GEg b 7/oSg=Iˆ  0/  Œ2'kk™ÎB -Ee L /({RJ2+/527676754'&##4/&'&#"767"/&'&547632676¡r> D¦)4-44!#./<4&'&/3O> š"(7$(,I7 ‰CIm…=0jOz.9+-M,   &/EM>? ,\ $3> #1Š: @ŠxX^{eýéþ—$-45&'&#'&5476332632#"'&1367&'"ýz   '>(  !&(é`  ;4 þò/23P]:47632'&'&'&'&'5327676?4'4'&'&#"3#, s  *F%    8% Ý>'qB¡+6&    ë'21*ÿ~š"!37#&'&'&54?67#'&7076#… 9T 7*#D&U)W&/éšç-#%J:xAL‘49 ÿÊ–6"'&'&'&5476767#57'&'&'4?732?3.X(S J!B¸\_¨^Ç+5$ ) E í 48$+*(K#* h t'219a+  ! üíÕþûÕ,4'&/&#'""/&54767632#"#'7276þÚ !|~3" 2 6)$WoI*`<"-2 ?&  4# "+ 0(Q""#/ ýÕÿÛ;"767654'&#"'&547&/#""/&5476723322þ¼$)   F- "#V2E0.2 6):/: W-%Mu*  !$<0 ".  # "+N'2üíþúÿž(#;27632;7!"'&54763/"ýE)T*!C!€"ý½9!=% : „7")%¾HýÒ9#)E  % (üãÿÿ™+3276327&'&#"#"'&547632&#"ý 6BNQ@';/' VW&37Š+N. ;++' 0%u8 %$  ¥Býò %1"/)  ÿþoZ4E2674'&'&#"'6767632'&#"&'&54767667&'&#672§0G&D1 7*+(3 4)*-! <|3TA)P+.A-W 6@ t7t <$505þèWn>'0*#!inAR47632#"'&'&547632'&#"327654/&'&##&'&74'&#"3276ÎD*4d61XSs~Y'a`ˆY:B3)qSR[CZj>, $ %0_ Þ/$00 [I)&4MiEA\)23A…^`"  RTj_8):*:W!1:D&0 4/*ÿþBYO27654'&'47632#"/&'72767654/&#"#"'&5476372#'"À9)D ]XXBDZF+ !, E!* .K-0$   *\'\ RRm†bb<  3 5¥/  P+<'3D&   @"ÿÿÿžÿóGô&h:ÿÿ0ÿóŠôg¿À@:ÿÿÿÿóGô'C×&ç:ÿÿ0ÿóGô'CÜg9À@:ÿÿÿÿóGô'v‘&ç:ÿÿ0ÿóGô'v–g9À@:ÿÿÿ£ÿóG„'÷r·&m:ÿÿ0ÿó…„'÷r·gºÀ@:ÿÿÿ¦ë&åÿÿ¦ågKÀ@ÿÿþ!¦è&CÛ'þëÿÿÿÙ¦ë&CÃf À@ÿÿþ?¦å&v³'ÿ ÿÿ¦å&v³fVÀ@ÿÿþÒ¦å&÷¡'ÿÿqÿÿÿ¦¦å&÷¡géÿqÀ@ÿÿÿŒÿöÜô&V>ÿÿ'ÿöwôg­À@>ÿÿÿ ÿöÜô'CÄ&Õ>ÿÿ'ÿöñô'CÉg&À@>ÿÿÿ ÿöÜô&v~&Õ>ÿÿ'ÿöñô'vƒg&À@>ÿÿþvfå'ÿ@ÿÿPfåg—À@ÿÿýsfå'Cÿ-'þ=ÿÿÿCfå'Cÿ-fŠÀ@ÿÿýsfå'vþç'þ=ÿÿÿCfå'vþçfŠÀ@ÿÿÿ¨ÿJòñ&r @ÿÿÿJ‹ôgÀÀ@@ÿÿÿÿJòî'CÕ &å @ÿÿÿJûî'CÔ g1 À@@ÿÿÿÿJòñ'v‰ &ß @ÿÿÿJøô'v‹g.À@@ÿÿÿ›ÿJò'÷j´&e @ÿÿÿJ'÷|´gÄ À@@ÿÿþgqå'ÿ1!ÿÿAqågˆÀ@!ÿÿýdqå'Cÿ'þ.!ÿÿÿ4qå'Cÿgÿ{À@!ÿÿýdqå'vþØ'þ.!ÿÿÿ4qå'vþØgÿ{À@!ÿÿý÷qå'÷þÆ'þÂÿq!ÿÿþËqå'÷þÆgÿqÀ@!ÿÿþîÿøô&¹Bÿÿ8ÿøÚôgÀ@Bÿÿþmÿøô&C''ÿ7Bÿÿ8ÿøSô&C,g‰À@Bÿÿþmÿøô&vá'ÿ7Bÿÿ8ÿøSô&væg‰À@Bÿÿþóÿø„'÷ÿ·&¾BÿÿÿÇÿøÕ„'÷ÿ·g À@Bÿÿþk£å'ÿ5#ÿÿEVågŒÀ@#ÿÿýh£å'Cÿ"'þ2#ÿÿÿ8£å'Cÿ"gÿÀ@#ÿÿýh£å'vþÜ'þ2#ÿÿÿ8£å'vþÜgÿÀ@#ÿÿýû£å'÷þÊ'þÆÿq#ÿÿþÏÝå'÷þÊgÿqÀ@#ÿÿÿžÿôô&hHÿÿ"ÿôŠôg¿À@Hÿÿÿÿôô'C×&çHÿÿ"ÿôô'CÜg9À@Hÿÿÿÿôô'v‘&çHÿÿ"ÿôô'v–g9À@HÿÿþÿøÞè'ÿg)ÿÿ2ÿøÞëg¬À@)ÿÿý¯ÿøÞâ'Cÿiÿþ'þyÿþ)ÿÿÿsÿøÞß'Cÿ]ÿûfºûÀ@)ÿÿýëÿøÞâ'vÿ_ÿþ'þµÿþ)ÿÿÿ¦ÿøÞå'vÿJfíÀ@)ÿÿÿÿòÞô&WNÿÿ(ÿòyôg®À@Nÿÿÿ ÿòÞô'CÆ&ÖNÿÿ(ÿòòô'CËg(À@Nÿÿÿ ÿòÞô'v€&ÖNÿÿ(ÿòòô'v…g(À@Nÿÿÿ’ÿòÞ„'÷a·&\Nÿÿ(ÿòt„'÷a·g©À@Nÿÿÿþ—åfUÀ@.ÿÿÿÿþ—å'CþëgÿHÀ@.ÿÿÿÿþ—å'vþ¥gÿHÀ@.ÿÿþ˜ÿþ—å'÷þ“gÿÜÿqÀ@.ÿÿÿüÿ÷Àô'ÆRÿÿ$ÿ÷èôgÀ@Rÿÿÿ{ÿ÷Àô'C5&ERÿÿ$ÿ÷Àô'C:g—À@Rÿÿÿ{ÿ÷Àô'vï&ERÿÿ$ÿ÷Àô'vôg—À@Rÿÿÿ÷À„'÷з'ËRÿÿ$ÿ÷ã„'÷зgÀ@RÿÿþžÿÿÀâ'ÿhÿþ2ÿÿ*ÿÿÀåg¿À@2ÿÿý¡ÿÿÀè'Cÿ['þk2ÿÿÿqÿÿÀè'Cÿ[f¸À@2ÿÿýøÿÿÀâ'vÿlÿþ'þÂÿþ2ÿÿÿªÿÿÀ¾'vÿNÿÚfñÚÀ@2ÿÿþCÿÿÀå'÷ÿ'ÿÿq2ÿÿÿÿÿÀî'÷ÿ!g`ÿzÀ@2ÿÿ0ÿóGë'C•:ÿÿ0ÿóGë&vO:ÿÿ'ÿöÜë'Cƒ>ÿÿ'ÿöÜë&v=>ÿÿÿJòë'C¢@ÿÿÿJòë&vb@ÿÿÿûÿøë&CæBÿÿÿûÿøë&v Bÿÿ"ÿôë'C•Hÿÿ"ÿôë&vOHÿÿ(ÿòÞë'C„Nÿÿ(ÿòÞë&v>Nÿÿ$ÿ÷Àë'CóRÿÿ$ÿ÷Àë'v­RÿÿÿžÿGô&r&h:ÿÿ0ÿŠô&rg¿À@:ÿÿÿÿGô&r'C×&ç:ÿÿ0ÿGô&r'CÜg9À@:ÿÿÿÿGô&r'v‘&ç:ÿÿ0ÿGô&r'v–g9À@:ÿÿÿ£ÿG„&r'÷r·&m:ÿÿ0ÿ…„&r'÷r·gºÀ@:ÿÿÿÿñYë'<î&åÿÿÿñYå'<îgKÀ@ÿÿþ!ÿñYè'<î&CÛ'þëÿÿÿÙÿñYë'<î&CÃf À@ÿÿþ?ÿñYå'<î&v³'ÿ ÿÿÿñYå'<î&v³fVÀ@ÿÿþÒÿñYå'<î&÷¡'ÿÿqÿÿÿ¦ÿñYå'<î&÷¡géÿqÀ@ÿÿÿ¨ÿòñ&Ñ&r @ÿÿÿ‹ô&ÑgÀÀ@@ÿÿÿÿòî&Ñ'CÕ &å @ÿÿÿûî&Ñ'CÔ g1 À@@ÿÿÿÿòñ&Ñ'v‰ &ß @ÿÿÿøô&Ñ'v‹g.À@@ÿÿÿ›ÿò&Ñ'÷j´&e @ÿÿÿ&Ñ'÷|´gÄ À@@ÿÿþgÿëAå'$è'ÿ1!ÿÿAÿëAå'$ègˆÀ@!ÿÿýdÿëAå'$è'Cÿ'þ.!ÿÿÿ4ÿëAå'$è'Cÿgÿ{À@!ÿÿýdÿëAå'$è'vþØ'þ.!ÿÿÿ4ÿëAå'$è'vþØgÿ{À@!ÿÿý÷ÿëAå'$è'÷þÆ'þÂÿq!ÿÿþËÿëAå'$è'÷þÆgÿqÀ@!ÿÿÿüÿ Àô'Ë'ÆRÿÿ$ÿ èô'ËgÀ@Rÿÿÿ{ÿ Àô'Ë'C5&ERÿÿ$ÿ Àô'Ë'C:g—À@Rÿÿÿ{ÿ Àô'Ë'vï&ERÿÿ$ÿ Àô'Ë'vôg—À@Rÿÿÿ À„'Ë'÷з'ËRÿÿ$ÿ ã„'Ë'÷зgÀ@Rÿÿþžÿî˜â'{ë'ÿhÿþ2ÿÿ*ÿî˜å'{ëg¿À@2ÿÿý¡ÿî˜è'{ë'Cÿ['þk2ÿÿÿqÿî˜è'{ë'Cÿ[f¸À@2ÿÿýøÿî˜â'{ë'vÿlÿþ'þÂÿþ2ÿÿÿªÿ'{ë'vÿNÿÚfñÚÀ@2ÿÿþCÿî˜å'{ë'÷ÿ'ÿÿq2ÿÿÿÿî˜î'{ë'÷ÿ!g`ÿzÀ@2ÿÿ0ÿóGÞ&ón:ÿÿ0ÿóG&qoà:ÿÿ0ÿGë&i'C•:ÿÿ0ÿG&i:ÿÿ0ÿGë&vO&:iÿÿ0ÿóG¿&÷rò:ÿÿ0ÿG¿&i&÷rò:ÿÿ¦¨'ó©Ìÿÿ¦g'qªªÿÿ¦å&Cùÿÿ¦å&v³ÿÿÿñYÌ'<îÿÿÿËX5Sÿuëÿÿ³²ÿ–ýÿÿÿ6Gÿ‡äÿÿÿclÔ÷ÿ^ÿÿd@o'÷¢jÿÿÿòë&Ñ'C¢@ÿÿÿò&Ñ@ÿÿÿòë&vb&@ÑÿÿÿJòà&÷m@ÿÿþ\hà'KÿY&÷m@ÿÿÿCfå'Cÿ-ÿÿÿCfå'vþçÿÿÿ4qå'Cÿ!ÿÿÿ4qå'vþØ!ÿÿAÿëAÌ'$è!ÿÿÿ6G×ä'Cðÿÿÿ6G×ä'vªÿÿÿ6GDt'÷§ÿÿÿÍÿøÞ&ó¿BÿÿÿÛÿø&q¿àBÿÿÿßÿøz'Cÿæ–&jÁóBÿÿÿÖÿøh'vÿ¾„&j¸îBÿÿÿÇÿø¿&÷ÂòBÿÿÿÕÿøt'÷ÿЧ&jÁóBÿÿÿÝ ¨'óÿÏÌ#ÿÿÿëýg'qÿϪ#ÿÿÿ8£å'Cÿ"#ÿÿÿ8£å'vþÜ#ÿÿGä'CðGMÀ@ÿÿGä'vªGMÀ@ÿÿ Gt'÷§GMÀ@ÿÿ(ÿòÞÞ&ó]Nÿÿ(ÿòÞ&q^àNÿÿ(ÿòÞz'C„–&j`óNÿÿ(ÿòÞk'vR‡&jLñNÿÿÿ³ÿ8ô&}Jÿÿ9ÿ8ŸôgÔÀ@Jÿÿ(ÿòÞ¿&÷aòNÿÿ(ÿòÞv'÷c©&j`óNÿÿÿþ—¨'ó°Ì.ÿÿÿþ—g'q±ª.ÿÿÿÿþ—å'Cþë.ÿÿÿÿþ—å'vþ¥.ÿÿNÿÿpåg•À@+ÿÿd(‡'C$£jÿÿd3z'v–jÿÿPçäCÿÿ$ÿ Àë'Ë'CóRÿÿ$ÿ À'ËRÿÿ$ÿ Àë'v­&RËÿÿ$ÿ÷À¿'÷ÐÿòRÿÿ$ÿ À¿'Ë'÷ÐÿòRÿÿÿyÿøÞâ'Cÿcÿþ)ÿÿÿ¸ÿøÞÜ'vÿ\ÿø)ÿÿÿwÿÿÀÙ'Cÿaÿõ2ÿÿÿžÿÿÀÁ'vÿBÿÝ2ÿÿ*ÿ'{ë2ÿÿ\P-ävÿÿÆGäGMÀ@.ð8#5î8HHÿûð18!51ýÊ8HHÿ÷ðé8!5éü8HHAݞŠ#547673ž]L 00Ýen&M@ñÙ 35675#@]Q-0Ùer&B@ÿ€žh 73#56745#A]T00het&F@ñÙ #&'&=0&R Ùh(-&d e0Ý+Å #547673#547673]L 00ž]L 00Ýen&Mhen&M1Ý.Å 35675#735675#1]Q-0 ]Q-0Åer&Bher&B/ÿ€,h 735675#735675#/]Q-0 ]Q-0her&Bher&B1Ý.Å #&'&=3#&'&=Ž0&R ý0&R Åh(-&d eh(-&d e&ÿOÅ ###5353ÂXÁÁXöRý«URÏÏ&ÿOÅ#3##5#53#5353ÂÂÂXÁÁÁÁXöRþÍRÐÐR3RÏÏ2Ü,Ö2#"'&5476¯B%5!'@&4!Ö6 )?%4!(@&FÜ,Ö0FææÖ}|suh 7#5!#5!#5Ûhµhµhhhhhhhh ÿêáâ#3CSc2#"'&5476"327654'&%3#2#"'&5476"327654'&%2#"'&5476"327654'&žL,;(2K-;(21+1,4BþuB‚L,;(2K-;(21+2,NL,;(2K-;(21+2,Ø<)3H.<(3J-<*2*4 Fý +<)3H.<(3J-<*2+4 <<)3H.<(3J-<*2+4 ÿêIâ/@P`dt„2#"'&5476"327654'&%2#"'&5476"327654/&2#"'&5476"327654'&%3#2#"'&5476"327654'&KL,;(2K-;(21+2,NL,;(2K-;(21+2, ûßL,;(2K-;(21+1,4BþuB‚L,;(2K-;(21+2,<)3H.<(3J-<*2+4 <<)3H.<(3J-<*2+4 ý<)3H.<(3J-<*2*4 Fý +<)3H.<(3J-<*2+4 1¶âÌ'7U8U$$Ì(vxŽ1¶µÌ '7%'7U8U$$ U8U$$Ì(vxŽw(vxŽ1¶ˆÌ '7''7%'7`U8U$$›U8U$$ÞU8U$$Ì(vxŽw(vxŽw(vxŽ1¶âÌ/†7%%U7ÌwŽxv1¶µÌ //Y7%%U7~7%%U7ÌwŽxv(wŽxv1¶ˆÌ /%/%/Y8$$U8(8$$U8þ¯8$$U8ÌwŽxv(wŽxv(wŽxv[jó¶757[˜jjãYzSSSSUjï¶57'5ïšll=YzSSSSbD í.<H47632#"'&72#"'&576#&'&547632"/4763'7'77'b  Õ   í  Õ ݼ¼»»¼¼»»  Ü Ó  Ü   ¼¼»»¼¼»»|æÙ #'#5#'#5Ð'STj'STÙþ®ßßRýhhqþ®ßßRýhhMýå (%#5#47632#547'7674'&JZ= U´~83? Z ZJ> hhh'F1 ÓS$+F;:/7!S ÿ BBGÿRÿìPÅ3#:þ<:Åý'ÿÿM)å'","Müå /3#'#5%#5476767674/&#"#47632#5ü'STþ¢Z#J=RU´~83? ZÙþ®ßßRýhh_72%!BBF :"@ÓS$+F;:Žhh|å .2#'#5%#5476767674'&#"#47632#5Ð'STäZ#J=%RU´~83? ZÙþ®ßßRýhh_72%!BBF:"@ÓS$+F;:Žhh0ÿO Ù32####0úgB7F 0M@R@9ÙQC\kD (þLJü¶JEÅ 2#"'&5476"327654°•o‚,&C[ZR Å߸©w6//­¯‰« ÿ8Þƒ735##5 >>>>I:jááQÅ #533##=мÌ.CC>€; þð5d™ªª FÅ"#632#"'&'3327654'&#"#7.¾&.W( D&3R* 8JI:.!4"Å4w@V*3/G<H#è?Å*"547672#&'"632'"327654'&ªš*/KV 8:R&CQ&?&.?-8 7Ïp;;H<o/= *O)ç18 /DGÅ #6767#5G&=#K/÷Å,³ºv1?4IÅ*:#"'&547&'&547632'"327654'&"327654'&ûNB%2Z*N4<"+S%#f<.91@3D2û"HJ$=(G"" @ 7 -‰, /) 2²/716FÅ-2"#"'&'32765#"'&5476"327654'&¬š*&IU!9:O)?R&?&/85< /ÅÐn=7F<i/=!)O).0 C/: ÿÿÿ*Eáëþÿÿ=ÿ8Þá{þÿÿÿ8Fátþÿÿÿ*Báuþÿÿÿ8Qáíþÿÿÿ)Fáîþÿÿÿ*?áïþÿÿÿ8Gáðþÿÿÿ*Iáñþÿÿÿ*Fáòþ[ÿé|Ù0HUa#&#"#"'&53327654/&'&547632%#327#"'&5#5353#!2#'327654/&+gXfRBPvZ4JÂX!GT 6NwT1D‘# þ2V 'Y GGSýu]-¡/?:SåÂf O"ÂzT1-F`,¢ /#/.3+]*eqDþ™&FC ŒD×þËÙv)7a94RJZ]ÿéÙ0NY#&#"#"'&53327654/&'&547632#!2#&574'&#'327654'&+ˆXfRBPvZ4JÂX!GT 6NwT1D‘# ü2]Pª) H> qPðáy& IázT1-F`,¢ /#/.3+]*eaþÆÙx!*b3 (%V` 0GAmRVB <X$%3336767676#&/!#!2ÅW^#)þ¯Wñ1  ˆW2þôWl< +œ¼þ:V'wþÕ LþÝ'ýõW!ÿéÅ/547#7367632&/"!!3#32767#"'&'&'#7OO?3F€b^ U9k, þòöÖ&ƒ6FMYkB ,S9;_KeCP?‹;;Ç& ]/GHf;!ÿêØ̓%#"'&54?#"#"'&547672#"'32767+"576?#"'&547654#"+"5476323276?632367632327676;2"6767654˜JHh L@<.yLoUD\ &!  Pd–+H±J VÒJ3.9  %;  R=:  A?™䀦~73G1UàIc9>W õQ±ÊR 0Œg U TkY¨lC4.&" 1 ×>YiyW"P  v(  /•þÕá=@6FyfE3tç] D+-ÿPΓ#&#&36767632#"'76=4'&'3767#"'&/476767676767454'&'&'"'&'7632?67654'&'&'&54767676767236ƒ[&" "%8&!# Z* W,7 *( $&,  O.  -B!$$( 3.9 C  %%%  )/Î € @(;o!$!!MY,7 "2)7 :2 , $o+J%((9-N0+ NG -3<3 /. :ÿï¸Í W76767%4732#"'&547672#"'23276?&'454767676763267654Á>~K{›6<K$+Q B~bR` &!  c Vp/%W5?†•I1›\+Q9/U<Ä iS31MTU  <3<"gC4-%" 4o-5NALY.) a„*b)E9@ÿuïÂ5…#"'&/&'&#"&/5&'&/67676?2767/7&547636767654'&'&'&547676?#4'&#"#"'&'&'&##ï' &2))  00;  Y+/"   þO ,++ <8-  =2 , F-. %\1 4';@'G & [/ / ' ý+'' B 6I<-(3;' C* VY&' ÿï ÍVbj2#"3277632327676;2"'&'+"547672;26?#"'&54767627&#"2"6765&;!EN'%T(3Ín!Q.bîd=dnGEL$ 7\-'Sj fR„ !\ EWP:V ’8(5]2þ“:H@>DL&çÁU/À;#3+B ;A6BŒ#ŒU=8N.,2& .:Rz=$/9L)ýF-$°þ¿%xC.0LÒÙ$.#52#"'&5476"327654'&'##3´îuJ- <#H. <(43,7,Ðiþ‡Xe}HHX;)3L-;)4J.9+3.4ý'Oý±Ùý¬TÿþÿïwÍ —œ267654'327676;2#"'&'&54?6765##"'&547672#"'3276?4767&#"3276?6=472#"'&'&5476763276321#6dQ6+jf! ")4* 9Q#4Q.""JGuZI_ #!  SXv[ Ž<{mrs?7B%#OG 'C,&G8@€}q…J/$!((S "K7"m F86'R£þ´ $*=O2 & q?neA2*""  . †!%€ ¾f,<9.#7- Wa  #  D4 $  @ O* 1% 7+   ÖJ  ‡;n8 G  9?$ªÙ##5!##33#Dšw6FyC^„ƒ[C¢þ‚~77þ‚Uþ«µþ–jþKUÿÿ*ÿÿÀµ2*ÀÒ(%27654'&'5!##"'&54767#5!pƒD./.\°Ž%%šn“[Q)%[®" L?LjIc^PL&PLM†',[NQfsf‹\JD8LP;‡+0„QDÿtè‡1&'&5476767'"/&#"654'&'&'"3"'&5476763233767367654'&/&#"#4767675&/6733276767654'&#"E  T.6*_= !M G GA    $ "5 ,; K &#-=J *#9R)#E73FS;(‘  !"[- H%.*#I# 0U/'= )&!7 - S3.$,W*6C-  2AA1,6%0 ÿÿO’Ù.ÿÿ¹‡"ÿò Ä™£32767676=472#"'&'&547676327632#"'&54767632#"32767654'#"'#"'&547672#"'327676767&#"267654'60327&#"½K(.' H  8(O2,K7@xo†I45m8VOW?! M *++.)3*.3%D5FHvZIb &!  ] Wt‰PRU?yjsr<6ï'-)%M€  $/dA.f*  MN8"9 STN/ (/. * '%?G6+%bfB3-""  2ƒ#)ÀXY?':9VL" #;5-(O®ÿóXÂ{œ7&'&'47327675&'&5&767632361677'#"'?654'7276767#"/&#"#"'&'&5476??6545&'&'&5476767&'&'"Œ  ) '# ] ^"&0%  hs!$ >!.&&, V&LM  88. )'¡#  " ; `]    &kœ9?/  60!v   H/ C>, Y'( -'( "'")V'"*  8~<›\-ÿøÇÄx‚47632#"32767654'"#"632#"'32767654'"#"#"567632#"'&5476767&54767632#"'&274'&#"ì3*& &&-$*r+0()85(?%8&>\584$T,+  7-+g -[>8„,37j]T\ a! 6113 R"ó/.&3" 0 &"F!;P-   "9YM7 )*;>./8 @?3ÀiWþà9JG/Ð9)xC¬… ! $ ÿÿ=ÿì[Å'uþê'æm{ÿÿÿì[Å'uþê&tæmÿÿ=ÿì_Å'îþê&{æmÿÿÿì_Å'îþê&tæmÿÿÿì_Å'îþê&uæmÿÿÿì_Å'îþê&íæmÿÿ=ÿìXÅ'ïþê&{æmÿÿÿìXÅ'ïþê&îæmÿÿ=ÿìbÅ'ñþê&{æmÿÿÿìbÅ'ñþê&uæmÿÿÿìbÅ'ñþê&îæmÿÿÿìbÅ&ð'ñþêæmÿÿ=ÿì½Å&{æmÿÿdÂÙ,ÿÿdØÙ',,ÿÿdîÙ',,',,ÿÿd›Ù'9,ÿÿ…Ù9ÿÿ]Ù',›9ÿÿsÙ',±',›9ÿÿ‰Ù',Ç',±',›9ÿÿdŸÙ';,ÿÿ‰Ù;ÿÿ]Ù',›;ÿÿsÙ',±',›;ÿÿPÙ/ÿÿ0ÿé¥å&ÿÿY›Ù'ÿÿKùÙ0ÿÿB–ÙLÿÿBtÙ'LÞLÿÿBRÙ'L¼'LÞLÿÿBÄÙ'YÞLÿÿ æ Yÿÿ ŠÙ'LôYÿÿ hÙ'LÒ'LôYÿÿ FÙ'L°'LÒ'LôYÿÿB·Ù'[ÞLÿÿÙ [ÿÿŠÙ'Lô[ÿÿhÙ'LÒ'Lô[ÿÿD˜ÙOÿÿÿéÝFÿÿÿéïÙGÿÿFúP ÿñ®ÿ !&'67®üå2y#d——d#y281—#ww#—1-;Ž !#'67&'P81—#ww#—12y#d——d#y21ÿñ¿ÿ 75!&'7'6712y#d——d#y2Ü81—#ww#—1-ÿê;x 367&'781—#ww#—1xüå2y#d——d#y2ÿñÿ#!&'&'7'6767!&'&'6767‹X.%pD %li$%E:üþX.%%pD %li%E:\> †A!`}* `?\>3 †A!`}$ `?ÿêŽ$%'6767&'&'6767&'&'7ò\>3 †A!`}$ `?\> †A!`}$ `?]¾X.%%pD %li%E:ýBX.%pD %li%E:ÿðZu3!'7!#7þ[¦¦nuýÏTpoTÿñ«!!!&'&'6767«ýQQèýHM)\^&E)M~5PP5b!rZ$zP$!b'7'6767'#'#H!rZ$zP$!b5PP5m)\^&E)MýHèQQý¸-ÿìºü'7!5!7'!5!'7Á)MýHèQQý¸M)\^&E!b5PP5b!rZ$zP,ÿí<z&'&'7373!rZ$zP$!b5PP5)\^&E)M¸ýQQèýHÿìÿþ!'7'7!&'&'6767!7'!ñ8L(nD*oR&(LýÈL(nD*oR&(x‘TTýoT}_"„A'e`-"__"„A'e`-"þÃVVVÿÿÙG$Ù@À$ÿéþå#3#4'&'&'&#"'632#"'&5476"327654'&Ó%P(;P.6™›;/1§qGiÿ=ÍÙ!#!#idvþˆvÙüd7üÉÿÿiÿ=ÍÙGV@À)ÿ=´Ù !! !!5 8oþ%Mþ¨óýugþ¨Ù`þžþ…_Jm(Å  !5 þ FF2ÿõo %##5#53533!5!ÏFÏÏFÏþäÄÏÏFÏÏF@†¬(r7&'567654'#'&54?67'&'&'&'&'&547632?&'&'&5471676767632'"/&/ö   -&  `#-)  $  $ & >0 `  + † '$0     ,  ! 3"    1&,ÿÜ‘ '7Ü$˜ñ^”Á‘üPñ.!Iþt{•7J&#"32?#"'&/#"'&'47676326767632&#32767'&z&%- 7 * %7.-,'.B I*0%/!&(/O# *þ, +/E0t& ,$"$&8! ;#*<' #)E ?  20B*|±•'<P6767632#"'&/'&'&54767632&'&'&#"32767676767'&'&#"eG! .%43"(VP0?I@":#).5 M$/ /& g<3 +&G)@ %=>%P.5 >!$B% . 3@ 3  ! $: *0;â¡!!¹)ý¾ ýZ¡%ý»7GÆ!# #GA××A^þ¢ÆBÝ7,ææ,þîÀþ‰wþ@(Üý!#54'&#"#54767632Ü7[WqqW[7]_ˆ Šfa¾mOLLOm¾´}`c_[{ (ÿïÜì3#"'&'&=332765¥7]AZ02Šfa7[WqqW[ì´}`D_[{ ´¾mOLLOmdÿ Æÿ47632&#"#"'732æ'4Q! D%%D ^!SO7GS  €ýÞh88Vdÿ ¶ÿ747632&#"#"'732'47632&#"#"'732Ö'4Q! D%%D ^ð'4Q! D%%D ^!SO7GS  €ýÞh88V„SO7GS  €ýÞh88Vdÿ Vÿ7S47632&#"#"'732'47632&#"#"'732'47632&#"#"'732v'4Q! D%%D ^È'4Q! D%%D ^È'4Q! D%%D ^!SO7GS  €ýÞh88V„SO7GS  €ýÞh88V„SO7GS  €ýÞh88Vdÿ Æÿ47632&#"#"'732æ'4Q! D%%D ^!SO7GS  €ýÞh88V£½Þ/747632#"'&%47632#"'&47632#"'&£$ ($ (˜$ ($ 'Ì$ ($ (A($ ($ ($ ("l($ ($ Ë3 #"/&#"'676727676ì%"%,K B)")&B%O ( 3  %!%  !K ü¶3#"/&#"#67632327Ç59'*b5T u,›U ?#ƒ E1ÿçæ $#"/&#"'676727676''ì%"%,K B)")&B%O ( {2þò33  %!%  !´þ_"è« ''7'7¶1’“2“’2“’1’«2’“2“’1“’1‘2Ø !5#5#5þ&hhhFF§hhphh5ÿÌG6/%#"'#7&#"'6327'&#"'63273327#"'327G‡4MG6RF%()|!%?F%()|.FG6Q G(‡#%CGß”3²ÍP„ ](P„,±Ìb”]*b ÿçæ7#537#5!73#3!'}¤9ÝL2;Ä9ýþÜL3oFfF…iFfFˆ-ÿõ %!55% þéþvŠ8CC3EÏO¡¤O-ÿõ %!55-5þéþŠþv8CCxEÏO¡¤O+ÿñÝ£ 533##5#53327654/&#"4767232"#"'&'4i6ßß6ÝÝþ÷XUw{VSXM`{V95aa‹Œddaa‹ŒddAÜ6ßß6{VSXUw{V9XM`Œddaa‹Œddaa‹+ÿñÝ£-!5!327654/&#"4767232"#"'&'4~þòýâXUw{VSXM`{V95aa‹Œddaa‹Œdd/6{VSXUw{V9XM`Œddaa‹Œddaa‹+ÿïÝ¡ #577''7!4767232"#"'&'47327654/&#"Á'œœ'œœ'œœ'œþÎaa‹Œddaa‹Œdd5XUw{VSXM`{V9ä'œ&œœ&œ'œŒddaa‹Œddaa‹{VSXUw{V9XMŒ¢%!5!3Œýƒ#7777ký•'ÿè Ï, 327654 &#"#"''7&54767632ŠþJVt\[ýÙ·Wq\?‚$[\ed‘ ‹fa%aYed‘ ˆh*þFJ\[uþ÷I\ Siqâ#[gŒ“kh[b%bf‰“khYÎè # ÀÀ>ÀÀ   ¡èþŒþŒttýT88þÈ7ò¶#"'&5476323#54'&8@ 86 ‰T‰&÷þ\2 '2 -7mC”88mfWX/ #&/&f–C!$D&/MM .U,Pe62#"'&5476"327654'&¶6.7/- (- (6/ 8/9(. )0 ˜ª@^<67632'&54767676%6?2#'&4767676É % !P M *HþÀ$Y V! .W#5 2R±*:w* Jµ>”R,2 0N®!=y.  MÀ;”Fa#¿*%67#'7676737#&/&' YVÞO~m>G Þ 7!noJ !"B$)Zâ~«™sŠ›:] <*+  «sH" 2b0*:c|l/%676765&'&'&#"&'&'&5476763ôyjc^]xzjdbmzˆvoea…#"4…kj ec„'¯YSkl]]WSj)kUZ4b[x |mjffz zmj ÏXà 672 #"'&545&567î  þê þÞ/  þjþe  ž Mþä &547632##'&54767¨þÆ  ?þ²  õ£þWþSXÏè 3#3#2¼¼2¼22»»2»èþ þ ôôþ þ ôè 3#3#^¼2¼¼2‰2»»2»ôôþ þ èþ þ ô·ÿ÷¦ñ!2#!#"'&5&547632Z)!þ®  Ü ü¡)! g  ¾ÿ÷/ñ%47632#"'#"'&54763Î   Ü+ X^+ " üš   ¼2¶è %335#'3##Õ2–Èú–dKR2dü®2,¶ 73##533KÈ2––d„ü®KdRüJ¼¶è 3#¼ú]X úèÄr]``Zf­2,è3#6767654'&'&2úúT \èü©OZ``]sŪÿûöù&&54?632#"/#"'&5'67½æ ÖÌ ° ¿Ù Êþ5Ì ± Åÿööí+%'&547632632"'"'&'&5767š­˜   ¦ Ö)¡ ! þ!… ±BE \67&'376"#?2307676327'6767654'&'#"'&'&'&54767674È 5?7:2H ,-‰A 1ly9A;27&.@&j9r#*+]O6NB:U$2°EB>\ ÆeE3L žA“ X+?4)N#:>`?1@"?$ ,L) T& K5 ZS0„Zu¥_67#&'376#?2767676327'6767654'&'"5#"'&'&'&54767674¼HJ9+f" Q 3:'‰š @Dx" IH;7/7&I  +tF|* 26zQ ?XJ= X(=RZTnù{S?,$9-!E: 'V3 :V9^2#2çM M`L/Kp“M>F¥¦I"7/&'&'&%67&'&'56‘3NA MþF?//*9-.E?~(d< Ak;p:'9e¡¯S*XRIL O%"BSó>"/'6762'67676?&'&'"#'7327"'&vK1*‰C7q6ph4H  0BB%M$)"7c,"1µ=' ;1MgN$$? "/B/)ö9'A ÍV:†$2'67632'67676767654'&#"7327#"'&á€]70žM=w Cƒw6U% (8•IT U0"1#CN!4):>+ D5YoW,(>%"7L:$1 :- A †1#0:73276763227#'&'&=45"'#"'7&'&Û SSg|!Æ28' *  ;2t €1-@ -A¦+›DMXJ-4…>+A=Í/" "+= A .2P&|1« æ;% A P0b¤.873236767632327#"'&57&''#"7&'&° GR¨ þÃC) / (3Ž ”8t 3 JÂ+çW_g]/@’šG7r@=þ¸( $ 1<% @B;[ ,1ù :+ A ˆ(eðm7&'7676?&'76767632#"'&'&54?376767674'&'&'&#"#"'&'&54767674˜<130Iþ®q ,-3y h>A2t |:{[2+`' HC` O ?  )'"7 ?(T† B6 6rQ9;)C'þé7S,,(Ac=@]?)V, JX?;,"'  ? 5 0w)8 !"K35U<šn o7&'&7676?'&'73767632#"'&'&5&776767654'&'&'&#"#"'&'&5476?6´F $-2-þP‚% 4" 6E† †?@F ‹Lk:2i.LMo Y$? 1,+!>  H#0y‚ H"<+<‡º:%:)8þÚ@X 3*d@¾†5@f85 P`GH0&;-  G =&  7‘+ <  $1;U<–wy‹ŽK7'7&'&%#"'7327677&/73236767654'&'&/#'676s-Z" *.4Ÿ \$#&þh%089C*3'A.j4  ?&$#= !;' 719p+7^/¤/Y.C—7#@p9=@ Z•˜KO %QŽT%8#G|O/ºÄ*C"šElY]ç° (k7&'7&/7'7&'&'&#"'732767632&'&'7276767674'&'&'&#"'676Y< ; w: = ·.d).04®Š(&'iþ±07>4B38-@Q(  >*#&A"@( <6 &u37d"5ö9!:%" /`= I8'?|??eL@ T²¦RG"'V\)7&J†U4ÆÍ1Q#£Lw–h¤M'7727&'7676767&#"32767#&'&'&54767632&'#"'7367&Ó_¨z9 >$6l‡F&P¬ŸA0^œQ<5K6.28I39_±¯[D0,W?NMCTBI;@*&[wcs‡RXF-¤A9v€;" >* =33>/3S;&(!!%& 0?0 ,6>>90 )- @  Jzÿñ¸Çe7&'7&'&'7727&'7676767&"32767&'&'&576767632&'#"'7327&)=< x8 < þÍkCq†? %?!F “M+_´ŸW/n©ZA:P<41:R8>gº ·_H94^CS BE]FNCM8'd‚j{Ž[dM3‚9 "!:""A<„}P,>. E96?/3b<*,&#%)3?2 /8C3/17. @ Tó;– &&'&/&'&547476767676-8f=Y TM/žEO! >" Fk  ²Mc C >¢.¢9@+?# O¼át 97&'7&'&/&'&5476767676æ< ; w: = 8h:*` OS¨/©ST% D$ Gmç9!:%")!¶J3k @C­.¯DD! -E% Q½u5¥b"0#&'73275367'676767&'76È/7R‹ •A6.A)_d8 1‚N1 'ýÑ@"-@0]@õ >! Š„2/# D/>0&8§z Îh lÔâx\XYÇ4E7&''"'73275&'&'67'676767&'&5768=< ‡4;Z— žK;3A) < +kfD 5‰Aœ5 +ý£A&0@/d9 "!ä@ Ö#" X "=#—Ž6B,I2=4)>°ž Þz tâ Þna^œy2F%327#"'&'&54767327#"'&½=~'#47Rªy¤k[ [ ~‰MWz>!F–C! +@!5#Ls@A ƒ]lj-:7&'7&'327#"'&'&5476767#"'&8=< x8 < ý’<Š)'8;b°˜„±t` "_ †Ef1l…B$CP9 "!:""þ‹M /A%7(Q“AA Œ>…='"'7327&'767&'&#"327#"'&'&'76767632&þ,/e• ] @FD$^:'’L!I73 -9K*-Cƒ‹M31WCRl33.1FG4Ž@Fh u9 *>* ]lA6G 21"!( !?# .9D S@ GrìáQ7&'7&''"'7327&'767&'&"367'&'&'&'76767632&^> ; v;= þÈ03qŸ ¸K,'A[žJ$]L'œS $!M?8=@P.1IŽ“K@bDWn;;03QVH¨9 !!:#"½@Ey vI+?.blV5L73.**+ #@#0 ; v;= þþA !W)+@9CV5R.(+GPwT) 9 !!:#"»ÕVK­#?&I$v %u-(&J$.'  @ÎÌ@ œ!#'†<A!_ 7*;@,2"mbÈ$`7&'7&'&'7676&'7327'767#'"'73276767#"'&'&5476324ò<< v: < ±lA  E'& yyÊð"! @SÖ Æk ] 9VVC%I'@#5C,&))/8ZM:9"! :!"þ^E + "3@á”K"@"¯$%)BA#`",?E/5(_p]UF'616763&532'"##"'&'727654'"327&'&'&'&'4'&54ñ‰ “A¬œA6j” *FO¤«=ê+Q¸/'4% 7AE˜A’F|Š8A7%&D <P*/»-!?1A '"QQo#?TÛr]7&'7&'"#'76763&5472&##/&'7327654'327'&'&'&'&5&54L=< x8 < ý¶”¡A±·@XWp8 +""F_&–hq(‚@)-J)2:2V1 ,> (Lfr#>732367/&'&''632&/"%&'7676767'676Š?WF— žGB."(e V5@„ƒ88Tþõ1_f/ A 3jwI (l7q,(# TA "S @)>( YAAœ>#z]v±)#±tj+ƒ‘)6S7&'7&'732367'&'&'&''632&'#%&'736767#'67676Ô<< v: < þÕ?"`L£ ªLGI)*j j-JŽ=?[þßGXƒ! A Of~D"*s8r) ?9"! :!"þ! WA %X"A->, `@]uhc>$…f~º2#µa$"Y~6f˜B&'7676?#632#"'&'76767675&'&'&#"'76G>‹ {KAbÓ¼I'&O£fN@L7-‹(-"#p¯ ªW>_;,<1?cÀ+P+Â@1eq%.?)zŠ8!F;8 c- > ==  . #6D5ŒS`‹ºW7&'&'7676?&'&'#632#"'&'732767675&'&'&#"'676ü<< þL “FAjÌ: <ÃD3/N µoTES72•,2$&yº#µ_! bA'-E6EG`Cs,P'b9"!u@5om7,"!)vŽ?%GB< e2B =A  0!$':*6‰#P¸eSc,76?632'67676767'&'&'&#"#¸}>1| (#S2$v[¡*›JS" 9 fBVõA  Q;=iL +A '?>3 ‡‚…Æ-76?632"'67676767'&'&'&#"#"‡ƒP?%.'[9-~!f¯-§L& a(@!" #6qMb'QA " XFItU0 A .I G; jg¶B7&'7&'76?632'67676767'&'&'&##3=< x8 < ýZWD›(!0)`=1… %n¾,µV'"e-C&(#4 {Sk}9 "!:""ÔA%#]JOz[4 A 0L%$!L@& UZþ 5$%&'&'&5476767;– ë^O!  *“/Œ8G%, Eeþ÷¦A@<4+82B'!<' ?!6>T+)#s.a6®07&'7&'%5$%&'&'&54767<< v: < ýgN¾ öe_%!",š"8”;O).*I‡þÎ9"! :!"…@@?52?8GI0A) ? $:CZWI|8¹O€%67327"'&'&'&54767&5457ÚFÐ þÿfZ#%– ; v;= þèPß þïpd'!)£B_AˆÚY@µ?-=Œ$Aþ9 !!:#"h1@<4.<1:*@AO-IL8 6x o**ˆ?.oHmhX82+3";>=AV_5T€B*)t'"V,,'$kMY»c%&'&#"67676776767632&'#"'&'&/6767632654'&/&##5'6?5#"'?6( 8$  ":2þA&)R$dtW Z'":$D-I# ? 5!?n ; KcUaA.d6´ CZg5ú # 6ù‘„:‰ ?L t?H]Q&6,C8 C">BM0*\?7hµµ 6~$C\ AUm¥,;'&'&'4767676763'6767654'&'&#"676 0f/3?5.-wZh$%—q;!'9=”a—:(,0sFGH|]3$&_Ùþ‹ C WLZ63{T@R+9EShPU4>.' =VC3S*d7<-/H<0*š{l^bDQ%&#"327676#"'77276767&'&'&'4767673&54&5476ŸxH/ ,H:;DRU^IC9AU H:f#M U8Y=Id /K[þ@&Aó@ € @ }<8u? •W_ A70 . )3= E.yd' ïtuV³Ïg*&v_NÉ€ $\i7&'&#"32767667&/#"'73276777&'#"'&54767673&54&5476;< ; µƒP 4 "0N?>: 'C:HHwvFG;@:  Z5 †$O ![`BOp0Piýé@)A<9!ý¼F$! ð 6h @ CˆF#9% @ ¥e_T71/-4C J4jo/L ø‡f¹ëi*'†_N€2bo"327654'&'2#"'&5476&#"327676#"'73276767&'#"'&54767673&54&5476J    ) %) %‰ƒP 4 "0N?:HHwvFG;@`Z5 †$O ![`BOp0Piýé@)AN    $)$+ýzF$! ¥ @ Cˆ¾@ ¥e_T71/-4C J4jo/L ø‡f¹ëi*'†r/¢;0'67276767654'7&'#"'&'&54767¢“ Œ;%6#d7?,c*!@Xd8F:"1†=K!!u6'?D’aàA=ŒQ34hR2/(’{å%K õŸ!u{¬}¼7D1G\y„” U ÑkH7&'&'"'&'&5476767#'273276767654'77&'B=< TCg9\3%5GQˆR )DFž|‚‡Æ’>/:$jF2j/#@ 8 < 29 "!3²¨!uȈË;B4Lb„ˆ£A=‘S>>qX73+œ ˆò0M '" U ÃSR"327654'&&'"'&'&5476767#'273276767654'77672#"h   C,h9\3%5GQˆR )DFž|‚‡Æ’>/:$jF2j/#@, 7)%%    Tu¯!uȈË;B4Lb„ˆ£A=‘S>>qX73+œ ˆò0M t/$) @Y­s 6>7&'&%'6767#"'&'73276767'&'&7&'&ª*J(L7M!þ&8:&(\T!&”0,J9+5+T%M*) 5+t0^z$X&.Ó1A.x"w&( f(&09, $,@iQ L*<57 (8K?v+nJ7; (;Î*LT7&'7&'7&'&%'6767#"/&'732767675&'&7&'&À<< v: < +O-P6N*#þ9>%)a\$) 0ˆ4O ;*6'b%U,, ! ;/}0e…$[-&½9"! :!"1F!4#{0'"!j)'390#&,”IrV R,C6< + =UC•+vQ7<& ;Î *7Ya"327654'&'2#"'&54767&'&%'6767#"/&'732767675&'&7&'&Ú    *$*$+O-P6N*#þ9>%)a\$) 0ˆ4O ;*6'b%U,, ! ;/}0e…$[-&µ   %)%)û1F!4#{0'"!j)'390#&,”IrV R,C6< + =UC•+vQ7<& L´¢Ò'767632&'&/&/"{/b:9<HV`Rœ*™HxC$<®,lE.hx`ƒ 1NŒI G+œÃ> 87&'7&''676767632&'&/&'&#"¹< ; w: = ýÅ0_ =14K[kX¤ *¡LI( !"C$9!:%"þó,gE m„g‹1ˆQ—P O*+œÃB"327654'&'2#"'&5476'676767632&'&/&'&#"Ò    ) %) %ýš0_ =14K[kX¤ *¡LI( !"C$þ    $)$+þ”,gE m„g‹1ˆQ—P O*{l¢hKX%&#"327676#"'73236767&'&'&'476?&'/73276%&5476 sI 1 ,H:'+Ouv@ O˜ V5r:@€"l4 U8Y=Iu1JZUrXA'!þ@&Aý6 2@?Æ >$ |-="P7B. )3= K (0ŒA †— ïtuV³Ïg*&v_NÓ„ cp7&'&#"327676#"'73236767&/767&'#"'&576?'45&'7367274%&5476E< ; ¿}Q 5 #0N> -4S{ †KOª 0J./ ):  K :—"‚.![`BN|1QfXK–Ÿ@+%ýê@)Aâ9!þ < #!cA @ ”G :&?% n]7N!0-4BO.Á @Fð ø‡f¹ëi*'†_NÄ„ hu"327654'&#"327676#"'73236767&'47637&'#"'&576?'45&'7367274%&5476\   ½}Q 5 #0N> -4S{ †KOª 0J8#&#  K :—"‚.![`BN|1QfXK–Ÿ@+%ýê@)AÑ    þ< #!cA @ ”G'+ &?% n]7N!0-4BO.Á @Fð ø‡f¹ëi*'†X;#©X%&#"37676772'67&'#&'&'&54767632'5&'&5773567'6ÌRUB3 ,A$/ Aº%Jà'#]ƒ  E\·"›X"\ Q?; 0É$ =AUl^^ &>* ˆ\-R ) :- Lh#/Q >&'<$%`‰“XS6767&'3276&'76?'6767675&'&'&#"'#"'&'&5476J<0T L&T# 3M @Yi$?A¦E !CA>:1 -}#& 5'81$8E!!5 H#TLT(Ÿþó\e?KL7 ƒ$† b3,‡qm>NvSF A4c20!S¸cB*)t'$T,*iV*‰?O‹J676727#"#7276765&'&'7#"'&'&'&547&'7767&'&'7hA5c v4!E‚ „B H )0<-9 L3CN >M=7^+  Cko18U SÓZ^Y\@ ¹@5W2#E9c (T-+)(\> ',e$+ *<'® ( :*eDMë?'7'7767&'7632'"/737676767&'&/&#"&'&!–W;Vm7-F6-!_.Z##!$;[j3&3."= ;VC3m=‡ ÉS7XÅÀ92/?( B$(K6 ! =( .$ +' 3,&&uþçU)Y~e='7'767&'7632#"/77676767&'&'&#"&'&õ«!²g;eP^J,R"@4&#F8>a,+&)Hz w=) =4*E$"$+;PjCw<¨ c8hçã,+E0L. 27C P> /=.5+)3. #*/#!;›þˤ’yô I%76765&'&''&74767676767&'7#"''67&'&'&'7654]-h-G$0FP=6 A(?2%?X’AC1QKAQ6}!h-?1 ;)!?Ò T,7y4o¼'cKÃ*‘Q&"\Ä™nOi$8U3l$'sJ%:H7?(%a TS¾-`°sQ%36767654'&'&'&''&5476767676767'7#"''67&'&'7654e4@+O6%;G´gF< B-@31HX &,@ N:X Q I\&#:‚!‚1U@ :."0Lö.b]IC;ÝW{WÖ!:²W*&\¼È…ašZn/ gi#7x-.~T*>O7P-(€[)eá5Š1$;%&#"32767654'&547327#"'&'#"'&54767632ËLA2 #&6!"  A/,J_ bZ,*R“)†CO+3J;Li>í  ( !Qaj¥x^?o*s 3j'Z*-9ACVF3©E&#"32767654'&'&567327#"'&'&'#"'&'74767632Ê[M: '.@2%   A 94\iuc72c¢(œC V2>TDQv I' +!%% U5UjgÕ©T@ eJq1€3y(f22>HJz4W‰.8676323#"'736767654'&'&''67&'&ÉA v:nhmF(O U(]R-}C?D,/+f‡:^9>_}>:pc;5´¾wZ =C&1bW ;A.,P# 5" `)P$ÜAA5;0  .+œ56767632'6767676'4'&''&5476Q>9 rt)" .YI—7‘:(Krh;C  œ´pUâcB4HSÕ„N& ? S©44aK% M¿.x {>;2c£AqfM732767632#"'&54767632&/3276767'&/&#"'#"5:7l€ þª[_G:/S% q8@-*\6267 >*$@!%VA*7"-=TYÈ'Ÿ>IA@;þ­  %M(* fJ% 84;& T"_  '$ C-(;*f6š MYÙN75776763276767#"'&/47654'&'&#"#'?5#"'?6 A&)R€jD:H#  @ !' 3 6"(g¢A’6—2CZg5À 0‘„:‰3|7#E#?Ì2 k [! E))‡T+9 5¥©©¢&V\ A£"wf/7327672'6767676545&'&'&#"'#"5:7l€ þÇh.+_4 xO•%;L:"&tÞ%5(Ÿ>IA@;þÊ< J)/$dU8) ?& 6B1- z4› ‚EV@76767632'6767654'&'&#"&5'6?5#"'?62A )E8i@9K2B  #‡#i¦8$  3 %UeA7?7¡9HZ*‡yJ#;s +*+8`,#Z8"=7+ 5/ "cbÆšL=M% HAMY‡:7767632'67676'4'&'&#"#'6?5#"'?6A&)RXiHBT8I'”-|¹C/ + &>5;ayA%m6´ CZg5ð‘„:‰%G*0?k/+&d?(><1")#R; !'v«®($C\ A8O¥i f%&#"327667676?'67632#"'&'&/4767673654/&'&"#"#&'&'&5476þ\>&#"F=þ“”I/  V!?X­¤¼+]/,WCh,X NQ(#I])Cb6E4M>D26= )$ ?aÅ=  )i0J4;)5ÂI|¤" A 28ª(b18r[3 !7C?EHX:  ay8"0'1%%YFjk±Ž /€%7&'&%67'&/6767654'&#"7''67'&'732767632#"'63236767#"'&'&'&'&#"'67&'&5&ç$G#:$þW;   f4cB3 J[/G+“%J'¶Àm9Lz:+{º‹ns-#a(DWy465 /$* ,>+H.# %' 4g#ˆX÷6.""HF¢6   !0'>9.#0Ÿ&5Á†A ?€w0:"0T4> 2   .71<** 18pP6”+wªT&'76736763'676267/&'2&'&'&'&5676767&#"'676>3d n:!@!X<¸ Ç\Q)-9U-"8# \”•Q ApE mCÆÀQ€+'˜"X¡ .{+ˆAL—“F@^B  (?(6W2k"&9 (@5 #,*GC i0¨XLKŽš43676767#"'&/&'"'7673367632B ((5Q1O1 D3P !:O³3¸[;h;Q—?, h…''"_*]& +ž`G"2C½(žfÕ©þó7  !IÿûÛ´7&'7&'L<< v: < {9"! :!"ÿÿÿûÛ´ÝÏ,–67"#'%3''676765457w>þ;ú6C1._ &$d%)b" !Aè*CAAJ"#!•PIP3M.DŸ¢?H$6767#52%''6767654'7OþxÆÙ°N,5m,*r(i%'A51VAAV$(/²^T\ 3T,P²"5¨M¼Ñ'67676767#ÉR¬§FOo 5i8 A˜>N;M3 A™ '9 þ}vb×G'67676767#Ç]¼ºQZx 5q>AêHW ;V8I¥&œBþ?©*53!'67676767!#µA4>C›<ž>$<þ A`¯¯° ŠKQ9 =6)H» Äz#U’53!'67676767!#°Ad CJ¦s¶J+Gý¯AÂÐÐÃ9‘QY@(>=2!W×'ç(Œ£N  #5!#!!5!½ÝêPý>1_AAþ…AASÊ„ !5!!!!5!ºþúZþí‰üÏgËAAþ@AA„N49"#'%23&'7723#"#/73276767654'&''67676ÍþìD  AãÞ  =*56  V?;„'‚6>ABrºA…o="6 ? -d„˜IEg 3f;HMhf˜6"5%'7%23"##"'73276767654'&''67676Ðtæ—A þû H!LB 'fII™ (™DEzAÖÜAºeF&>? "6u§·UUu3vLQˆwŒ14654'723/73276767'"#'676†D‡‹EA$   #6%.2å ",{+/o*UiAAX (¶þMm, ) =wi—qSnƒ,.rФo4ƒ'7'77%'%vºµ\:_ÇÃSþð‘:“þàuK…;„k9V%'67676767%3'67676767‹ 1s(s, .,? >,R?%)dÉ!?ÀO>+YW ©>1HY3X8 E¡ <@É^7+e^;V5(-\ÉMê‡97&'7&''67676767%'67676767[<< v: < þK$4v (u-2/? p,WA*/gÍ#UÑ\>,c_ N9"! :!"EC7L]3Z4Kª H@Õd@1ia&<\?*.gÝiJz"!'67676765!#'6767676Mþî(n 1v(@&ó" .q1&o*0oH~ +ˆH >‡ {DA¾\#QU$5Q0RÄK*â™ 77&'7&'!'676767!!'6767676T< ; w: = ÚþÔ.x 1‚,!@Xþö"2z#&v-6Z9!:%"‘P‰ *•R F• ‰IAÊa*#W\ 4W4^Ù»£ûñ5!!5!Â9ýÀÿ°Aý²AÌ¢ŠØ–7&'7&'5!!5!J> ; v;= ý…dý”+]9 !!:#"NAýˆAö™3\^#53533673#'676767##K²²AùA•™5/v,,p--õASAÉÉA‰¨!A¸pcm(0e@ ]¯ì}‘37&'7&'#5353!673#'676767!#3<< v: < þ2ÃÃA@¥©81{&,t02þòAX9"! :!"­AÜÜH•{aAÊwgt#1gC&'i¼þÿŠQž.%%'676767677&'&7&'&ÆV/$_j9d<36dÅÊ]).F)G@$+&E>84 Q>C2Pº8 µNA.SHeA ;2> /52!!a"U"m2¾i%1;7&'7&''676767677&'&7&'&Ê<< v: < þZÊT@/fp$9h<:?mÒÖb+1L)E)$'M%>87$09"! :!"ýP=F-"(VÂ#B½QM4[L „@ ?3:M59 (e!Z'R^^$'67676767'%23&'&'&É`¼0#·Qb’þض&zP?5Cªž?4he| 6yIhÚA@ÓbR+5I4U«M4œH9`,X69t{°;(F A0$NQЉE2&'6767676%7&'&ó?:'#,KH%›A'L? ý§-C".;,%Ù[S=hq26kA'(jâ"/?)0ea)%n$ÝÜ$.7&'7&''6767676%7&'&O> ; v;=  ?>,%/N¤V%¢E/"SD ýv,G!"4;3£9 !!:#"èfXBmv=6pC./tò(/A/.sm(!s=™)'67676767%'6767&'&'767k. +a&/2?',`F#%Z´G!¥?W6H."SW)0P;M‡Ãw{2S3 I² ‚ @åm5*gn+7f2FN2?7`·VÿùÝÙ D7&'7&''676767676%'6767&'&'767O< ; w: = þ2.j*d& 15>‘",cG*.]¹@"¹TP5soa*4X?Wþp 9!:%"|4.IZ2W1L· U<?îpC5lr&7oGDMS@=eÏ qVf¬#!5!'&''6767!!'67676Äþ­W[Ô Êag²—M \þ¡ &,u*&o)ôA$)"@ N`_)8\=!iî'JkŒ‡ ,]pgN#ìù$,47&'7&''6767676%7&%7&'&^= ; v;= >D,.:O¡S"¡E,!XMþ€< A þ‡0e1:(Á8 !!:#"GébiIce28`;')o÷,]J#)t’ ,fwQZ3xD!5!!'67676545!Ëþþ”c 1g óöAA_K8Uu +vB8Y!AA9ï‡(,7&'7&'!5!!'67676545!`<< v: < þþo_þtg 2m# þ÷N9"! :!"øAAeR>Zz $*}E=^;AAyd‚#37&'&'&ºAAy;?f.c03/þ5þß)$'f.a  rD4¢%7&'7&'#37&'&'&z=< x8 < ¤AAƒ@Al .h609 "!:""Žþ ^þÀ,')j /h$v7jj #527654'7%23"#'67676ÌräèsAB þº 'l 0e& ÿA?V0cÕ.'AuMdy ,p?!"Ecµ‹î75!5!c(ýE2µAAøAAl6-ÿ67!5!&''6767"'&/7-?Sþ%i@Fy 1}F.!b½>!×m/&G•«ßUŠAA¯V9‰+87 ar%8|f-/-->02`ˆ¿ %7&'&'676767!5!&'&'#uD !;2HR ;sîÙej›þhã‚+Y@Cw*lFB…AAp"&&(e2]+$1þƒ¸•§P'6767676h?"!$F¡H#¦C0@)P ÄXF6hn/7l?,.aÌNÄ~µ7&%'6767635¹]:jþC@&e/f#!&þÖçÒ A Lk-k=A.­µp /7&'7&'7&'&%'6767674'< ; w: = Ê6Âj;C13þT@#(i/n'$79!:%"L&þõîTW  ŸLNq-tEF›.­©1 (:"327654'&'2#"'&54767&'&%'6767674c    )%)%þè6Âj;C13þT@#(i/n'$    $) %*”&þõîTW  ŸLNq-tEF›‡?327#"'&'&=36767É'#?qfÕå]wMX"A…S]ÀÈ]_Ö–>9 @=*VÑùN ; v;= ýØ4u7."$w*u'þ·}'09 !!:#"þ­&;.  )È![3þE 1LðÄ@ 9"327654'&'2#"'&5476'6767632$'&'&#"¼    *$*$ýÖ4u7."$w*u'þ·}'0(   %)%)þ"&;.  )È![3þE 1I‰^b $7&'&%'676767!5!53!!#S;3"#X-[($þs? !V,XÒþÔ,A1þÏAçt02T/W92†y47O 0O.-ûA­­Aþ(l¥ +77&'7&'7&'&'&%'676!5!53!!#ÿ> ; v;= };4("`,c+'9þŽ> '"Y,a# âþ¸HALþ´Al9 !!:#"þÉx91^.]=6‚ „@:Q1V86 A¾¾Aýì(ly -8D"327654'&'2#"'&54767&'&'&%'676!5!53!!#     *$*$;4("`,c+'9þŽ> '"Y,a# âþ¸HALþ´Ax   %)%)þWx91^.]=6‚ „@:Q1V86 A¾¾Aýì‹ÂI$6767!5!&'&'7Ý|92<ý‹–(K;9|5L0t;.t&d£RA9tAA“EAU4S,~4(U5GÛP26'7'632&'&'&#"7&'&7&'&áy@92mµ ®U.61GNn@E|rD6•DE~xA@®A P;K2A 7;4A;;9‡›‡$7'67676767&'7''ºq(*3?4,)[ùÍ0E0m5Uþúþ˜å¯ZaÍÑh] 7:L,œš'sG)A®^áˆ&'767&''676á@š•@ADn-b::'C)€)`ô(A( '7'7%'6767X®£`;d|1$#"T/c* þ»Ä;è0?-ÌÖi5g85V-bWYþ_dRU‹'7'7%'6767BÍÂq;v½2-&+]/p1 þzä:C9?6ñû{5}5P2P@I¦A»A- U*N*#ýÀ;.'a)c05C,7«¨\BK1E+ WÛ&²‡O63676767'²A·[a˜ +‘L('kÅA6ý“+/2„0€26,3¾Æ3ú !#!#5òþ AuAIpþAB4ýÐ>·3(ˆ#!'67676767øAq 7B¥}¹H+5 GĤKZA.=B2!H²‹HRñ#!'67676767ÌAÇ =I´*rÇPA"=°ç(´.ScJ)=G2)/SÀ)]W‘ #3#5!533#!!#!53½½þJHAÀÀ3þÍAþ@´þëA««AþëAþùAo§zÜ%3!!55!'67¾A{üõmhŽ =èþáAA³AAvH8F@ÐGJõ67!5!'6767!5ÙýÉG3.+%P¯h©Dv0þ4rAAÁZ;.aW1;N0TyA¹g”7'676767677&'&Õ×^B-\U F.D_Û´,7&'7&'53!'67676767!#L<< v: < þ‡A€ "IO³}½O4 L!ý{A{9"! :!"]ääÌ9¢Z`C,=@4!'\ß&5ü=¶]â 1H7&5723/&'7327676767'#'6768ru:Aþ 2!( + Á *s(/b"H A¥ å?`%$ = eG‘_Hcy*-e1g›5Lû!#'676767!#'6767676<å#d1i ?ÖÏ  (c*'h' , %.IP')±þ'!=$––+@I4±&X#!5!ÆWý·ó ýô LL?4X#&'&'&/&'"'!5!34W  &9 þ ûS2#! ý Wzþ†t7 L 2Bþwþ‰9þX,)5!676767676?5&'&'&'&'!5!Ýþ\žN    "jþb¤_7 ()  "5¬L   .Ž6 'L  4= œE/E%í%#4767676767475!53!÷W %q. ýaWŸ8N:(VVr72@ 9Há•™E3."-?6X )!2&'&'&'!5ý ÓUT'3W) 9Gþ„X*?5þÕ+3' þ@%éX#&'&'&/&'"'!5!éW  &9 þ>ÉT2#! zþ†t7 L 2B#uX-+532767676=#5!#&'&'&'&'&/  %AT2)<ý›0! W  &;  þÔ?+L,)LH2@þ†t8 2ÅÚ!5353þÏF FFÏÏ;ÑÇ<@7;7676767453#&'&'&'&545336767676=3#"#3#— =$/R"&6!W[@GRG?C-#Wc' W (2OˆGGà52  4&(Rþ®'\G #?99RþÔ  ÏÏ$1"2çG;ÑÇ<@7;7676767453#&'&'&'&545336767676=3#"#3#— =$/R"&6!W[@GRG?C-#Wc' W (2O±GGà52  4&(Rþ®'\G #?99RþÔ  ÏÏ$1"2çG;ÑÇ<@D7;7676767453#&'&'&'&545336767676=3#"#73#3#— =$/R"&6!W[@GRG?C-#Wc' W (2OÃGGÅGGà52  4&(Rþ®'\G #?99RþÔ  ÏÏ$1"2GG;ÑÇ<@D7;7676767453#&'&'&'&545336767676=3#"#73#3#— =$/R"&6!W[@GRG?C-#Wc' W (2OÃGGþŒGGà52  4&(Rþ®'\G #?99RþÔ  ÏÏ$1"2GG:ÿ}FX%)#57676767'367676753#3#ü0 W <&”fä/ W :&”fþ¼¼E > %-ANÒþ» =$––+>IÒ %-ANÒþ» =$––+>IÒƒuuGG:FX%)#57676767'367676753#%3#ü0 W <&”fä/ W :&”fþøGGE > %-ANÒþ» =$––+>IÒÃG:6X%&'&'&'&'#533!53#• "j‹‘^1 () Jþ GGL'6 'L  4= þÒLL G±X%#73'&'&'&'&'&'4#3#B¯uÏQ > RWF"2X¿GG¬¬Ë§. L*R "þ…UG&X #!5!3#ÌWþ±ùþÇGG ýô LL·G?:X"#&'&'&/&'"'#5!33#:W  &9 ùS2#! þW€GGzþ†t7 L 2Bþwþ‰UGÇX333#pWµGGXý¨UG(X ##5!3#ÕWWþæGG ýô LL·G=:XDH"5632#"'&'&'&'336767674767475&'&'&/&'&3#: -*&HL$"  #MHIM!$ W  2 +#    3 2GG R+1AœG,!++!4@zþŒ8 "18·G ×X3'3#€WWtGGXþé#wG&ÿ8ÚX#&'&'&/&'"'#533#ÚW  &9 ²ºS2#! ûGGzý¾<7 L 2B,G9X,03#53676767676?5&'&'&'&'#533#㪤N    "j¤ª_7 ()  "5¬GGL   .Ž6 'L  4= œE/EUG%!í3##47676767675!53!âGG²W.þ[W¥.›G„*aEx1+$%)V+á•™<9 $$0:X##532!534'&/&#3#Ö:X:NçM5U-þÖÓ#$8GG ýô L!A-;þ‰L+&%·G3FX)53&'&'&/&'43#Fþí¼  4 IMUìGGL(7L+.…%G=9XBF!"'&'&'4'!2'6767674767475&'&'&/&'"'#3#;IM!(@B $"  #MH+#    &9 £  2 GG+!:9z"1AœG,!+L "18 þØ8 G9ÿ8 X)-32#&'&'&/&'"'#3/&'&'&'%3#9×@? #! W  &9 yB"(G$+ÿGGX!2Bý¾<7 4 L$7 G?X9=3#53276767675&'&'&'"+3/&'&'4'5323#ôµ¯87 , ,;5 XB"(G%+µLB / $ #a GGL<Ž9* 4 L$: Ò5?œ&= !*›G3X 67676767670753!5!33#<.   W !"«þ&Fþ²dGGU *“š70" þóL þ½G>ÿ8&X%#53676?!5!#3#,>7h þoè 0þÏWÐGG!L*!2 Lþ§G( IuýŽrUG%ïX#&'&'&/&'"'#533#ïW  &9 ÈÏT2#! þöGGzþ†t7 L 2B,G;ÑX<@7;7676767453#&'&'&'&545336767676=3#"#73#— =$/R"&6!W[@GRG?C-#Wc' W (2OÃGGà52  4&(Rþ®'\G #?99RþÔ  ÏÏ$1"2G#{X-1+532767676=#5!#&'&'&'&'&/3#  %AT2)<›0! W  &; GG þÔ?+L,)LH2@þ†t8 ·G>•Û333#>WOGGXý¨ÛG:6Û%&'&'&'&'#533!53#• "j‹‘^1 () JþnÈÈL'6 'L  4= þÒLLG9Û,03#53676767676?5&'&'&'&'#533#㪤N    "j¤ª_7 ()  "5¬VÈÈL   .Ž6 'L  4= œE/EÛG?Û9=3#53276767675&'&'&'"+3/&'&'4'5323#ôµ¯87 , ,;5 XB"(G%+µLB / $ #aˆÈÈL<Ž9* 4 L$: Ò5?œ&= !*ÛGHFí5367676753#HWå/ W :&”fD©•þ» =$––+>IÒ#ÿòòÁ!%)%5476767654'&'&#347632#3   7C„5 39/% 888þ˜hgé 3* N ˆ($+ ))" #;A{hgþ™E(‹ý_<õ軩²³»©²³üãþ5`uuþ5Zªüãý:`°!M|c4,, y›4¿0MIM&…(H2WM.Wÿø,+,f,", ,,#,+,.,%,&nnH-H2H2,M÷"››OÒ0ÒY›ZcZ ,ÒSdô›O,PAKÒL &›[ &Ò]›0cÒU›°›› c@ÿøÕ,,ÿêM,*,6ô,,(,,FÞBÞÿîô:ÞDAF,F,$,6,MEô",Aô ÒôôôN+dNHKMy,4,,C, d,+Máÿór%,bH(M.áÿóM^—H2__M\,A0WM'_=m(,be=e=ec_››››››è Ò0›Z›Z›Z›ZGÿÿ ÒÒL & & & & &H_ ÒUÒUÒUÒUš š[cC,*,*,*,*,*,*y"ô,(,(,(,(ÿûAÿù,$,F,$,$,$,$,$H2c,A,A,A,Aô+6ô›,*›,*›,+Ò0ôÒ0ôÒ0ôÒ0ôÒY{Ò,›Z,(›Z,(›Z,(›Z,(›Z,( ,, ,, ,, ,,ÒS,ÿàÒ',ÿöÿëÞÿðÿýÿñBÞ`^¼dvBôÞÿà›Oô:ô:,FÞ?,PÞ?,P$D,PôD,ÞÒL,FÒL,FÒL,F,FÒL,F &,$ &,$ &,$è+°(Ò]MEÒ]MAÒ]M0›0ô"›0ô"›/ô"›0ô"cc4cÒU,AÒU,AÒU,AÒU,AÒU,AÒU,A°Ò› ô› côcôcô,›O,6›,ÿ÷Ò0Ò0ôÒ›N,6›Z &›0c,  ,ô:Òÿô,F &,6›0ô"ccY¸Y  P P¼D†L°L F›,*ÿù &,$ÒU,AÒU,AÒU,AÒU,AÒU,A,(›,*›,*è y" ,,›OôÿÔ &,$ &,$Þÿß5YÆY  ,,ÒL,F›,*è y" c›þú,þ¼›ÿn,ÿ0›ÿ,þÁ›ÿs,ÿ4þ<þ1þ°þ¤ ÿ.,þ¹ ÿ¢,ÿ,Òþ®MþlÒÿ"MþàÒÿ,þºÒÿŠ,ÿ.›0ô"cÒS,F›,*›Z,( &,$ &,$ &,$ &,$› ô,*,,D,6ô,,,(,(ô"ô",,,F,F,FÞÿøÞB^ÞDAFAFAF,ÿî,F,$MEMEMEMEMETTôÿÊ,Aô Òôôô$ô:,MMM\MMMsMOM9MMÿÝþÉÿþÇþ¸þÏþÂÿ&þÑÿþþÆþþÂÆÿ6ÆÿþÚþìÇ'ÇLnž®ëKÚY˜ÿÔ©ÿ¹æÿÂÿðÆÿžöÿúÿ߬tJFR¬ ŠPt#«Aî-ìE¬J¬ @Ž8vAî2ÑP~Nt(t'¬ÍÓ$é4Ð*ìÿï¬`0'#38(T020%þ'Î&-8B0>NøÖ&"•569h"*(å.<–*ä$ÿß()"(ä$›Z›OþcZÒ0›0dô8SöSþ›OÒLŠÒS››O›OcO,"›Oÿ?›0ØOØO›O¡!LOÏO &ÏO›OÒ0cЍ@›åOˆO<OROQhO›OÒ0S¾ ,*,$ F®FZ,(E,ô"7F7FþF-FjF.F,$-F@Fôð<ô=ôBFF´FÈFÞ9²F(FôöF,(,(8®Fôô"ÞBÞÿîHFRF8ô:,Fô,F›O(F›[,6cZ®FcZ®FcZ®Fÿ?E›0ô"›Oô:›Oô:›Oô:›Oô:ÒS,F$SüFÒS,FÒ0ôÒ0ôcð<› ô › ô ›ôS`F‚SüE‚SüE‚SüE &,(°',(dÿ?E,›Oô:ÒS,F‚SüE›,*›,*è y"›O,( &,( &,(ÿ?E,›0ô"›0ô"ØO7FØO7F &,$ &,$ &,$Ò0ôŠôŠôŠôˆOFhO²FÒOÁOSòRÒOïåTÒJ?C»?¡]UB"ÇJL—3™O™/ô-o1 [(ÒJˆBÒJï*îJÒOìJ›-»Jo<¡L*~$ 0Ì'Þ5…EM+XAA,J<#EI&<L*À^,?8DF0!B-<B,+*GB$(('(+ IÞÿÒ IÈ5,E†#AAý&#P@bGwI,E! `LU+LC2²*!FZo FOIIFÈȼ¼FIFFè&ÈÔ>FnF€:O:ÒV&n?Ô>_'o?`=È:&&9X%o?m0Ô>z3_=K$?98? N3^>#%;¯#X8É4É2É3É,ôjôjôjrTrW>>…ˆ>Ä#Ä9>ÿ¸…ÿ¸…ÿ¸ýkýkªmId”±sÿ¸Îÿ¸Îÿ¸äÿ¸ªÿpXa”ÿ¸ªkkÎÿ¸ΧÎÿ¸>ÿ¸>ÿ¸~Iÿ¸ýkªÿ¸ªc§ÿÿp„)0)ˆˆË•§§0)0)0)‰n¨ØüG%÷¼àßø·+«+ŸŸ‘‘º+ÏÃ??%ºMŽú®þî¶-¬ÿû¬ÿú¬ÿ?þ}ÿ)ÿÿþµþ̬ÿɬÿ`¬ÿpÿh‚(ÿ”H”H­HH…H/HqHcHNHfH™‚(,,€ÿì ÿìÿìÿìÿì&ÿìl¤àllÐŒÿìôêÒÿìêÿìÿìvÿìNÿì¨þÿìêÿìÿìÿìÖÿìêÖÿìêÄÿì0ŠÿìàÿìLÿìàÿíÖÿìàÿìØÿìÖÿìÖÿìÿì ´ÿì´ÿì´þ @IÃ#ÿÎTÿìTÿìäÿìäÿìx´ÿˆÿìÿìÖÿìd¤êdhd̤0†à¤àÿöÖÿóÖÿìx¸¤¤è’²žTTòèTè&j²"Pì>, >äøú2"žÖÖÿþ""T¬¾¾ÿ„þaþbþ~þxþdþ8ÿ4jÿþìäúhà0ÿúàÿþÔìÿøÿü<0þòT„!þÁ!ÿHÿ'Á'ô(ï((¾(uõ'd'k'9&(f'l(^(Z'w(ï(((ÿ'f'&'X'©(Y$c''B(¬&§(ç(Fÿ¯X'.'ž('P'8'X' &(èFèEèÿN!þP!þO!þ½!þ!þuèÿfèÿK‡ß' (Ñ&Õ'òÏ'Ã'þ'Ç(è'ƒÿœ.ÿØ0„xÿývÿý)ÿý\ÿíÿÿ<ÿþ:ÿþDÿþ5Dÿþ4ÿÿ?ÿý5ÿý5 ÿþ<¼ÿýÿølŒ0ÿû5ÿý5ÿý!ÿþ €þ&¾ÿÝþßÿ,þLŒÿú3ü¨¸XÿôXXÿùXX0ÿ8ã/ßS}ú ’”ÿ±¤D ÉèèP - - - °è¤P Ø :˜ÿä1ÿé_¹¹² iÿþe [ ¹ey ( $¨ }þTþ´T Š Í  ª Mv[  qlˆèVlOXr¸>:DMÿûUÿûqÿû5F\‹ÿü˜ÿûc Kb= H #=H ` ` = øm l l ‰@&O=@7O2 -@2@7`-@-PÔ<>” $'>F%\ èÍ#\å?äF#v v &F+\\\{Í!F%”\ Í”v F%\ ÍF\v,'>F*Ív5v/Í>Í(ý°|¤üíýüíüãõ Œ!ˆ*TÿŸT0TÿT0TÿT0Tÿ¤T0¬ÿ¬¬þ!¬ÿÙ¬þ?¬¬þÓ¬ÿ¦þÿŒþ'þÿ þ'þÿ þ'ŠþvŠPŠýsŠÿCŠýsŠÿCÿ©ÿÿÿœ«þg«A«ýd«ÿ4«ýd«ÿ4«ýø«þËþï8þm8þm8þôÿÇìþkìEìýhìÿ8ìýhìÿ8ìýüìþÏ&ÿŸ&"&ÿ&"&ÿ&"îþî2îý¯îÿsîýëîÿ¦ÿŽ(ÿ (ÿ (ÿ“(¬¬ÿ¬ÿ¬þ˜äÿýä$äÿ{ä$äÿ{ä$ää$ÐþžÐ*Ðý¡ÐÿqÐýøÐÿªÐþDÐÿT0T0þ'þ'ÿüÿü&"&"((ä$ä$TÿŸT0TÿT0TÿT0Tÿ¤T0rÿrrþ!rÿÙrþ?rrþÓrÿ¦ÿ©ÿÿÿœYþgYAYýdYÿ4YýdYÿ4YýøYþËäÿýä$äÿ{ä$äÿ{ä$ää$±þž±*±ý¡±ÿq±ýø±ÿª±þD±ÿT0T0T0T0T0T0T0¬¬¬¬rÿÌÉMÿ6ÿcMŠÿCŠÿC«ÿ4«ÿ4YAFÿ6Fÿ6Mÿ6ÿÎÿÛÿßÿÖÿÇ8ÿÕìÿÞìÿëìÿ8ìÿ8FFM ((((6ÿ´69((¬¬¬ÿ¬ÿ~NM‰Mä$ä$ä$ä$ä$îÿyîÿ¸ÐÿwÐÿž«*M\MÆM.,ÿûèÿ÷ÞAÝ@Þ@Ý@M0M1M/M1,&,&^2^Fèsè P 1Õ1¨11Õ1¨1M[MUnb,|,M§ÿRXMBMB|0__ ________=___a____¥[Æ]e<,É!g):j ðLRÿþ„è?Ð*Ð*›O›Œ"o2-cÿ»cZ8e=ee=eeee=ee=eeee=d,dBd±d›±Çݱd›±Ç,PÒ0ÒYAKÞB¼BšBÒBô Ò ° Ž ÒBôÒ°ÞDô,AFÛ [-Û1[-’Û['Û-[,›,$›Z,+Ç Ç É-É,7i7i$)H(H2ô@ÉÉ[[((,dd¼d,d_£%HKHH_H2|5$ H-H-+++’7'é+7èfèPè˜èècèÏèMèXèè·è¾è¼è2è¼è2èªèÅè±è„èÎè¥èóèÍè†èPèˆèUèwèYè–èzèóèáèuèYèœèƒèŒèrèè÷è€èbè_è?èRè1è(èè~è`è¸è‡èjèèaè¹è¢è:è‡èaèMèUè{è_è_èrèUèUè@èèèLè+è+è{è_è_èXèmèNè`è‰èeè)è’è`èŠèVèzè è£èMè£è‚èMè8èkè”èLèÿèÿèÏè¢è¨èvè©èzèŒèSè„èMèˆèmè¤è‰èkèMèièKè»è¢è™è}èŠèmèRè1è_è?è‰ènèsèVèqèRèžèlèNèZè9èyèrèvècèlè2è¸èNè.è.è‡èmèmèèaèaèjèLèLèIè(è(è‹èÛè‡è®èZè™èdè¨ètèèè¾è·èèQè²è¾è·è‹è]èoèÐè¹è_è¶è›è‹è]èoèÐWèÿ÷è¸è¸,+,", ,,#,+,.,%,&ÞÿîMt,f,ô ô  , "È:1:K%z:P&h? 9R%i?%©#H2;;;;€:€:€:O:ÒV&n?_`= &&9X%m0z3_=?98?N3^>#%;¯#Ô>O:&98?€H#VVVV‚²Ü°~œÜV€ªÄÜöR‚öˆ¾0¼ò¤ 6 Z ’ ¶ Þ  € € ¶ 0 – à  8 ¶ æF|œÐnÀ4²TxÀäV‚°Òî4Nh †ì`Ô¾ 2t¦À>ŠîZ¾üŒÔ D|°ø&ž¸&~Žº4êt¼à È ì!Â"f"š"º"Ô#®#È$,$b$Î%R%l%È& &$&‚&®'"'X'º(X))Š)Î**Z*Ê++¦+ð,´,ò-.-r-¸-à..4.d.Ä/./ª0$0¦1N1Ò22†2Ü3233ð4*4z55Î6’7^8P9:0;*;ä&>L>z>ª?B?Ê@<@®A(AÈBBBtBôCLC¤DDfD¼E(EˆEÌFFêGÈH(HüInIâIúJJ*J@JºK4K’L(LˆLþM:M¼MÔMêN$N¤NüO¦OêPrPŽP¤QHRR,RBRàS¨SÀSØT$T‚TšT°TÖTüUU*UtUÐUöVV(V@VXV¤VúWLW|W¨WÎXXHXˆXÂXÚXòY&YVY’YìZ<Z¨Zì[N[š[ô\`\Ú]J]b]x^^~^ø_¾`H`”a2ab"bvc&cÂcÚcðdèeÄfzgg6gLg„gîhhZhrhˆhÞi6iNidjjªk kpkèlfl~l–l®lÄmmDm~m¸mòn6nxn°nÆnÖoDo¢pp.pºq2qBqXqnq„rr¦rôs`ttNt”tàu\uôv v vRv²ww\wtwŒw¤w¼wÔwìxxx4xLxbxzxx¨x¾xÖxìyyy2yJybyzy’yªy¾yÖyìz z(z@zXzpz†zžz¶zÎzä{{ {6{N{f{~{–{®{Æ{Ü{ô| |$|<|T|l|„|š|´|Î|æ|ü}}0}H}^}x}’}ª}À}Ú}ô~ ~"~<~V~n~„~ž~¸|€,€r€Ú€ò "8Pf~”¬ÂÚð‚‚,‚D‚Z‚n‚Ü‚ðƒvƒŠ„„ „¶„Ê„à„ð…¾…Î…â†P†Ò‡‡>‡N‡†‡šˆˆÀ‰6‰°Š Š4ŠrŠÒ‹‹l‹¢‹¸ŒdŒÐ<ˆœäôŽŽŽ0ހެŽÀDfˆ˜¨ÚòX˜à‘‘‘*‘<‘N‘`‘r‘„‘–‘¨‘º‘Ì‘ò’’’B’X’„’–’¨’Ä’Þ““*“F“\“r“ª““ړò” ”"”:”X”š•$•F•ˆ•¶•ê––š–²–æ——R—~—¶˜&˜J˜ž˜Ú˜þ™4™¸šštšð›› ›6›L›b›x›–œ,œÂŠžž‚žàŸNŸˆŸ¶ 8 ’ Æ¡n¡Ð¢$¢˜£(£’£â¤@¤Ì¥8¥Ž¦2¦H¦^¦t¦Š¦¢¦º§§b§Œ¨¨¨ ¨8¨H¨¸©©\©œ©Øª$ªPª`ª¼ªÌªê«4«b«°¬X¬†¬Ú­ ­J­~­®­¾­ä®6®F®V®|¯¯¯>¯x¯¦¯Ü°.°Œ°Ü±N±Ö²2²B²Ö³\³z³À³Ð´´ž´ÊµµJµ|µ²µÜµì¶¶|¶Œ¶°¶À·‚·’·¼·ö¸$¸Z¸¬¹ ¹\¹ÎºDº º¶ºÌ»L»x»æ»ö¼¼¼,¼¶½0½–½Ò¾ ¾"¾N¾š¾ð¿¿¿2¿T¿r¿¿®¿ÌÀÀ`ÁÁ”ÁÆÁöÂ(ÂXŠºÂìÃÃLÃv̻̯ÃþÄ"Ä2ÄBÄRÄbÄrĖĦÄÊÄÚÄþÅÅÅLÅvŬÅÜÆÆBÆvƤƸÆÈÆÜÆìÆüÇÇ,Ç^ǎǾÇèÈÈNÈfÈ|ȔȪȺÈÊÈâÈúÉ ÉÉ6ÉPÉhɀɘɮÊVÊâÊúËË(Ë>ËVËlË|ˌˤ˺ËÒËèÌÌÌ.ÌDÌ\Ìr̸̠̊ÌÐÍ.Í–Î*΄ÎäϾÏäÐHÑÑ~ÑêÒÒ†Ó.ÓŒÓÚÔÊÕ&ÕœÖÖ¼× ×¶Øؘ٠ÙöÚ^ÚºÛÛÆÜ"ÝÝ8ÝâÞjÞÜßœßÈßâà0àJà´á,áŠââdâÈãPã|ãæäŽå å\å|åææ¨æøçJè&ètèøéˆéÀêLêÞë4ëÎìHíFíÈî&î|ïïpð ð(ðÊñTñÀòbò¸òÜóó.ópóœóÐóæôô4ôJôjô‚ô°ôÈôàôüõõ.õHõ`õpõˆöö`ö¼öâ÷N÷f÷Š÷àø²øÌù(ù´úú\ú®úÈûûàü:üÀýjýÂþ&þzþÖÿŠ&^– ª¶ÂÎØ ä þ ˜ ¾,Šò†ü<pêL”È2X˜Ü4XòJ¦†È BªþR€´æT’Îú,^Ò0ŠÎð4väPè ~ ¤ È!D"ê#>#Z$$î%&d&ô'¼(p(Ô)R*\+D,h--È. .¢/8/’0`0Ð12 2h33Š44t4Ä5Z5Ö6Š6Ì77h7ò8p8ô9@9°9ü:T:à;Š;þ<ž= =|>>4>¨>Ì?"?x?Ê@*@p@¶@ÞABAžAÚBTB‚CÚCôDXDØEHEÈF0F”G,G¨GôHpIÈJ.J¬KdKðLMPN&NÄO†PP²QBRRÞSòTvUUŒVVÌW<WÒXXèZZ°[z[ò\p\è]x^^X^Ò_6_Ì`d`¬aVbbvbæc€d"d’e*eÂeøf"fzfðgdgÎgîh"h‚ii’j<jfj¼kdl lžm>nFn¼oœp phpÊqJr r”ssˆtttöu^u–v8vpvðwtwwîx^xÊydy|y”y¬yÄyÜyôz z®zÆ{`{Â|&|¬}>}¢~N~žJº€"€˜*¦‚,‚²ƒƒtƒÈ„H„˜…(…˜†R†®‡ ‡tˆ<‰0‰¤Š(Š‚ŠÚŠò‹‹l‹Â‹êŒ,Œ^Œ´Œæ<höކœX¶‘2‘¦’D’î“>“ô”Z”š••\•Ü––—̘$˜\˜à™r™úšŠ›>›æœ (†úž‚Ÿ8Ÿ² ~¡¡à¢T¢Î£t£þ¤„¥"¥x¦¦’§0§ ¨¨º©© ©îª˜«0«¢¬ ¬|­&­†­ú®¶¯4¯L¯–¯Þ°@° °æ±±$±J±|²æ³N³æ´R´êµlµÞ¶„·$·n·Ð¸4¸â¹ªº€»†¼F½½|¾@¿¿âÀÁNÂÂÖÃÂÄ`ÄÆÅhÆ ÆúǼÈhÉ"ÉØʦËVËÄÌ~̘ÌÚÌøÍxÍèÎRÎÔÏÌÐ0ÐÂÑVÑìÒŽÓbÔ ÔÆÔèÕ6՜ִׄØ–ÚÚ‚Û(Ü`ÜæÝpÞ¶ßèá,âðãŠãôä`徿šæºçôèºé8êê>ê¢êòë ëÈìžíVîîºïêðìòòFò–ó ó6óÔô®õ–öR÷Hø”øÀùxùìú¨û0û¶üü”ý,ýêþºÿ²†ÀFø¢F¢f¶” ” J  f h âLœ\Þpö^\ÜäL¬”8"¦Œ|8d. ô!æ"ú$ò$ò&€()Z+,t. /€1ò3ì5 6D7°9&;Œ<ô=Ê?@0AÊC(DBERGHIôL<MzN„OšQR`SÔU(VxWÊX¦Y2YèZX[[ˆ\8\¦],^^î_Ð_æ`` `D`b`†`¤`È`Þ`úaa8aVava”a¶aÌaèbb*bFbjb‚bžb¾bàcc"c8cTcrc–c´cØcödd2dNdnd’d²dÖdöee0eLejeŒeªeÌeêff&fBfbf†f¦fÊfêgg$g@g^g‚g gÄgÜgøhh:hZh|h’h®hÌhðii2iPitiŽi²iÖiújj.jLjpjŽj²jÒjökk*kJklkŒk®kÎkòl l l8lNlfl|l’l¨lÀlÖlîmmm4mPmrm–mÀmänn2n\nznžnÄnìoo:o`oŠo¦oÈoìpp:pdpˆp²pÒpöqqJqrqžqÆqòrr6r\rˆr®rÚss.sNsrsšsÄsìtt>tjt€t–t´tÊtætüuu0uHu^utuŒužu°uÀuÒuêvvv:vPvnv†vžv¶vÎvævþww.wDwZwxw–w¬wÊwâwúxx*xHxfx„xšx°xÎxìyyy4yRyjy‚yšy²yÎyæyþzz.zFzfz~zžz¶zÎzæzþ{{&{<{V{p{Š{¸{æ||B|’|à},}z}¦}â~~6~d†&\¨Ê‚‚L‚l‚Žƒjƒ¸„6„R„j……¢…â†.†P†‚†ì‡l‡ ˆJˆÒˆäˆö‰‰‰,‰>‰P‰b‰t‰†Š–‹–ŒŒ¤Ž*ÖÖ’`“”$•Ø—à˜.˜>˜¸š6šFšVœÚŸ<ŸÈŸò¡X¡x¡˜¡¸¡Ø¡ø¢¢8¢X¢x¢˜¢¸¢Ø¢ð£££8£P£`£x£˜£À£Ø£è¤¤ ¤0¤@¤P¤`¤p¤ˆ¤¨¤À¤Ð¤è¥¥0¥H¥X¥p¥¥ ¥°¥À¥Ð¦¦:¦n¦¤§ §ž§Æ¨¨Z¨¤¨î©`©vªªDª°ªÚªð«<«À«æ«ü¬4¬N¬„­Ò­þ®â¯Ú¯þ° °F°–°è±@±æ²Ø³0³À´.´†µµ8µjµø¶8¶h¶š·4·À¸d¸ˆ¹¹R¹ª¹Üº@»»Ž¼&¼–¼ú½4½n½Æ¾¾J¾x¾®¾æ¿^¿èÁÂ"˜ÃìÄLÅŶÇÈZÉFÊ–Ë‚̾Í>ÍüΘÏtÏìЬÑjÒnÒîÓ°Ô‚Õ®Ö~ךØ8Ù$ÙðÛÛÐÜàÝnÝþÞÖßFßìàfá â6âÆä å8åöæöè@éŽê(ë ëþìÎíäïïzð8ñòópôÎõÜö¼øù ùòú¾û„ülýfþþìÿ L6&Àˆ@vöü¤ò  j æ 2 ~ Ø . \ Œ > è ‚T¦@†ü¸ÞF¦LÔ¤$ævN²VæÌDþnÜ–îˆÌP¼âPÔ  l!!Ð"6"ä#¨#ö$ˆ%(%‚&&Ô'R((è):)Â**|*ò+D+–+À+ê,,J,¤,ü-f-¨-Ú.&.v.Ä//T/º0R0î1b1x1Ž1¤1º1Ê1Ü2"282H2X2h2x2ˆ2˜2¨2¸2È2þ3*3:3²4 4^4î5t5ì6¶6Ü7.7b7´808V8Ä9V9´::b:ò;;Ô<”=^>*>°?>?Ä@.@–@ÈA@AdA”BrB˜CC˜CüDZD®EŠFFÒGBG HHÆI`I„IîJ†K<KŠLÚM@."žZ\ nD|Â4Ö  ŒH¬Xö-P~‡"Ž ±»Ö Fß$&,K Z \  n D|  4Ö   Œ H¬ Xö$x$ †ˆ$H$TZCopyleft 2002, 2003 Free Software Foundation.FreeSansMediumPfaEdit 1.0 : Free Sans : 8-9-2003Free SansVersion $Revision: 1.27 $ FreeSansThe use of this font is granted subject to GNU General Public License.http://www.gnu.org/copyleft/gpl.htmlThe quick brown fox jumps over the lazy dog.Copyleft 2002, 2003 Free Software Foundation.FreeSansMediumPfaEdit 1.0 : Free Sans : 8-9-2003Free SansVersion $Revision: 1.2 $ FreeSansThe use of this font is granted subject to GNU General Public License.http://www.gnu.org/copyleft/gpl.htmlThe quick brown fox jumps over the lazy dog.navadnoDovoljena je uporaba v skladu z licenco GNU General Public License.http://www.gnu.org/copyleft/gpl.html`erif bo za vajo spet kuhal doma e ~gance.ÿi2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`¬£„…½–膎‹©¤aŠÚƒ“òó—ˆÃÞñžªõôö¢­ÉÇ®bcdËeÈÊÏÌÍÎéfÓÐѯgð‘ÖÔÕhëí‰jikmln oqprsutvwêxzy{}|¸¡~€ìîºbcdefgýþhijkÿlmnopqrstuvwxyzøù{|}~€‚ƒ„…†‡ˆ‰Šú׋ŒŽ‘’“”•–—˜™âãš›œžŸ ¡¢£¤¥¦§¨°±©ª«¬­®¯°±²ûüäå³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈ»ÉÊËÌæçÍÎÏÐÑÒÓÔÕÖרÙÚÛܦÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyØáz{ÛÜÝàÙß|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊË›ÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK²³¶·ÄL´µÅM‚‡N«ÆOPQRSTU¾¿VWX¼YZ[\]^_`abcdefghijklmnopqrstuvwxyzŒ{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿˜ÀÁ¨ÂÃĚřïÆÇ¥È’ÉÊËÌÍœÎÏÐÑÒÓÔÕÖ×”•ØÙÚÛܹÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®ÀÁ¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáspaceexclamquotedbl numbersigndollarpercent ampersand quotesingle parenleft parenrightasteriskpluscommahyphenperiodslashzeroonetwothreefourfivesixseveneightninecolon semicolonlessequalgreaterquestionatABCDEFGHIJKLMNOPQRSTUVWXYZ bracketleft backslash bracketright asciicircum underscoregraveabcdefghijklmnopqrstuvwxyz braceleftbar braceright asciitilde softhyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Buni018Cuni018Euni018Funi0190uni0191uni0193uni0199uni019Duni019Euni019Funi01A5uni01A7uni01A8uni01A9uni01ABuni01ADuni01AEuni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccent Tcommaaccent tcommaaccentuni021Euni021Funi0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0250uni0251uni0252uni0253uni0254uni0256uni0257uni0258uni0259uni025Buni025Cuni0260uni0261uni0265uni0266uni0267uni0268uni0269uni026Auni026Duni026Funi0270uni0271uni0272uni0273uni0275uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0282uni0283uni0284uni0285uni0287uni0288uni0289uni028Cuni028Duni028Euni0290uni029Cuni029Euni02A0uni02CAuni02CB gravecomb acutecombuni0302 tildecombuni0304uni0306uni0307uni0308uni030Auni030Buni030Cuni030Funi0311uni0312uni0313uni0314uni0326uni0327uni0328uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193uni048Cuni048Duni048Euni048F afii10050 afii10098uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4uni04C7uni04C8uni04CBuni04CCuni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8 afii10846uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F8uni04F9uni0531uni0532uni0533uni0534uni0535uni0536uni0537uni0538uni0539uni053Auni053Buni053Cuni053Duni053Euni053Funi0540uni0541uni0542uni0543uni0544uni0545uni0546uni0547uni0548uni0549uni054Auni054Buni054Cuni054Duni054Euni054Funi0550uni0551uni0552uni0553uni0554uni0555uni0556uni055Auni055Buni055Cuni055Duni055Euni0561uni0562uni0563uni0564uni0565uni0566uni0567uni0568uni0569uni056Auni056Buni056Cuni056Duni056Euni056Funi0570uni0571uni0572uni0573uni0574uni0575uni0576uni0577uni0578uni0579uni057Auni057Buni057Cuni057Duni057Euni057Funi0580uni0581uni0582uni0583uni0584uni0585uni0586uni0587uni0589uni058A afii57799 afii57801 afii57800 afii57802 afii57793 afii57794 afii57795 afii57798 afii57797 afii57806 afii57796 afii57807 afii57839 afii57645 afii57841 afii57842 afii57804 afii57803 afii57658uni05C4 afii57664 afii57665 afii57666 afii57667 afii57668 afii57669 afii57670 afii57671 afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 afii57688 afii57689 afii57690uni0700uni0701uni0702uni0703uni0704uni0705uni0706uni0707uni0708uni0709uni070Auni070Buni070Cuni070Duni0710uni0711uni0712uni0713uni0714uni0715uni0716uni0717uni0718uni0719uni071Auni071Buni071Cuni071Duni071Euni071Funi0720uni0721uni0722uni0723uni0724uni0725uni0726uni0727uni0728uni0729uni072Auni072Buni072Cuni0730uni0731uni0732uni0733uni0734uni0735uni0736uni0737uni0738uni0739uni073Auni073Buni073Cuni073Duni073Euni073Funi0740uni0741uni0742uni0743uni0744uni0745uni0746uni0747uni0748uni0749uni074Auni0901uni0902uni0905uni0906uni0907uni0908uni0909uni090Auni090Buni090Duni0910uni0911uni0913uni0914uni0915uni0916uni0917uni0918uni0919uni091Auni091Buni091Cuni091Duni091Euni091Funi0920uni0921uni0922uni0923uni0924uni0925uni0926uni0927uni0928uni0929uni092Auni092Buni092Cuni092Duni092Euni092Funi0930uni0931uni0932uni0933uni0935uni0936uni0937uni0938uni0939uni093Cuni093Duni093Euni093Funi0940uni0941uni0942uni0943uni0945uni0947uni0948uni0949uni094Buni094Cuni094Duni0950uni0951uni0966uni0967uni0968uni0969uni096Auni096Buni096Cuni096Duni096Euni096Funi0970uni0981uni0982uni0983uni0985uni0986uni0987uni0988uni0989uni098Auni098Buni098Cuni098Funi0990uni0993uni0994uni0995uni0996uni0997uni0998uni0999uni099Auni099Buni099Cuni099Duni099Euni099Funi09A0uni09A1uni09A2uni00C1uni09A4uni09A5uni00C4uni09A7uni00C6uni00C8uni09ABuni09ACuni09ADuni09AEuni09AFuni09B0uni09B2uni00B6uni09B7uni09B8uni09B9uni09BCuni00DAuni09BFuni09C0uni09C1uni09C2uni09C3uni09C4uni09C7uni09C8uni09CBuni09CCuni09CDuni09D7uni09DCuni09DDuni09DFuni09E0uni09E1uni09E2uni09E3uni00F1uni00F2uni00F3uni00F4uni00F5uni00F6uni00F7uni00F8uni00F9uni00FAuni09F0uni09F1uni09F2uni09F3uni09F4uni09F5uni09F6uni09F7uni09F8uni09F9uni09FAuni0A05uni0A06uni0A07uni0A08uni0A09uni0A0Auni0A0Funi0A10uni0A13uni0A14uni0A15uni0A16uni0A17uni0A18uni0A19uni0A1Auni0A1Buni0A1Cuni0A1Duni0A1Euni0A1Funi0A20uni0A21uni0A22uni0A23uni0A24uni0A25uni0A26uni0A27uni0A28uni0A2Auni0A2Buni0A2Cuni0A2Duni0A2Euni0A2Funi0A30uni0A32uni0A33uni0A35uni0A36uni0A38uni0A39uni0A3Cuni0A3Euni0A3Funi0A40uni0A41uni0A42uni0A47uni0A48uni0A4Buni0A4Cuni0A4Duni0A59uni0A5Auni0A5Buni0A5Cuni0A5Euni0A66uni0A67uni0A68uni0A69uni0A6Auni0A6Buni0A6Cuni0A6Duni0A6Euni0A6Funi0A70uni0A72uni0A73uni0A74uni0A81uni0A82uni0A85uni0A86uni0A87uni0A88uni0A89uni0A8Auni0A8Buni0A95uni0A96uni0A97uni0A98uni0A99uni0A9Auni0A9Buni0A9Cuni0A9Duni0A9Euni0A9Funi0AA0uni0AA1uni0AA2uni0AA3uni0AA4uni0AA5uni0AA6uni0AA7uni0AA8uni0AAAuni0AABuni0AACuni0AADuni0AAEuni0AAFuni0AB0uni0AB2uni0AB3uni0AB5uni0AB6uni0AB7uni0AB8uni0AB9uni0ABDuni0ABEuni0ABFuni0AC0uni0AC1uni0AC2uni0AC3uni0AC7uni0AC8uni0ACBuni0ACCuni0AD0uni0AE6uni0AE7uni0AE8uni0AE9uni0AEAuni0AEBuni0AECuni0AEDuni0AEEuni0AEFuni0B02uni0B03uni0B05uni0B06uni0B07uni0B09uni0B0Buni0B0Funi0B13uni0B15uni0B16uni0B17uni0B18uni0B1Auni0B1Cuni0B1Duni0B1Funi0B20uni0B21uni0B2Auni0B2Buni0B2Funi0B30uni0B32uni0B33uni0B36uni0B37uni0B38uni0B39uni0B3Euni0B3Funi0B40uni0B41uni0B42uni0B43uni0B47uni0B60uni0B66uni0B67uni0B68uni0B69uni0B6Auni0B6Buni0B6Cuni0B6Duni0B6Euni0B6Funi0B82uni0B83uni0B85uni0B86uni0B87uni0B88uni0B89uni0B8Auni0B8Euni0B8Funi0B90uni0B92uni0B93uni0B94uni0B95uni0B99uni0B9Auni0B9Cuni0B9Euni0B9Funi0BA3uni0BA4uni0BA8uni0BA9uni0BAAuni0BAEuni0BAFuni0BB0uni0BB1uni0BB2uni0BB3uni0BB4uni0BB5uni0BB7uni0BB8uni0BB9uni0BBEuni0BBFuni0BC0uni0BC1uni0BC6uni0BC7uni0BC8uni0BCAuni0BCBuni0BCCuni0BCDuni0BD7uni0BDAuni0BDBuni0BDCuni0BDDuni0BE1uni0C83uni0C85uni0C86uni0C87uni0C88uni0C89uni0C8Auni0C8Euni0C8Funi0C90uni0C92uni0C93uni0C94uni0C95uni0C96uni0C97uni0C98uni0C99uni0C9Auni0C9Cuni0C9Euni0C9Funi0CA0uni0CA1uni0CA2uni0CA3uni0CA4uni0CA5uni0CA6uni0CA7uni0CA8uni0CB0uni0CB1uni0CB2uni0CB3uni0CE6uni0CE7uni0CE8uni0CE9uni0CEAuni0CEBuni0CECuni0CEDuni0CEEuni0CEFuni0D82uni0D83uni0D85uni0D89uni0D8Auni0D8Buni0D91uni0D94uni0D99uni0D9Auni0D9Buni0D9Cuni0D9Euni0DA0uni0DA1uni0DA2uni0DA4uni0DA5uni0DA7uni0DA8uni0DA9uni0DAAuni0DABuni0DADuni0DAEuni0DAFuni0DB0uni0DB1uni0DB3uni0DB4uni0DB5uni0DB6uni0DB7uni0DB8uni0DB9uni0DBAuni0DBBuni0DBDuni0DC0uni0DC1uni0DC2uni0DC3uni0DC4uni0DC5uni0DC6uni0DCAuni0DCFuni0DD0uni0DD1uni0DD2uni0DD3uni0DD4uni0DD6uni0DD8uni0DD9uni0DDFuni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFEuni2010 quotereverseduni201Funi2023uni2031minuteseconduni2034uni2035uni2036uni2037uni203B exclamdbluni203Duni2047uni2048uni2049uni204B zerosuperioruni2071 foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferiorpesetauni20A8 afii57636Eurouni210Buni210Cuni2110Ifrakturuni2112 afii61352uni211BRfrakturuni2126uni2127uni2128uni212Auni212Buni212Cuni212Duni2130uni2131uni2132uni2133onethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215Funi2160uni2161uni2162uni2163uni2164uni2165uni2166uni2167uni2168uni2169uni216Auni216Buni216Cuni216Duni216Euni216Funi2170uni2171uni2172uni2173uni2174uni2175uni2176uni2177uni2178uni2179uni217Auni217Buni217Cuni217Duni217Euni217F arrowleftarrowup arrowright arrowdown arrowboth arrowupdncarriagereturn arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblboth universal existentialemptysetgradientelement notelementuni2210uni2213 asteriskmath proportionalangle logicaland logicalor intersectionunionuni222Cuni222Duni222E thereforesimilaruni223Euni2241uni2242uni2243uni2249 circleplusuni2296circlemultiply perpendicularuni2300 musicalnoteuni3001uni3002uni3003uni3005uni3007uni3008uni3009uni300Auni300Buni300Cuni300Duni300Euni300Funi3010uni3011uni3014uni3015uni3041uni3042uni3043uni3044uni3045uni3046uni3047uni3048uni3049uni304Auni304Buni304Cuni304Duni304Euni304Funi3050uni3051uni3052uni3053uni3054uni3055uni3056uni3057uni3058uni3059uni305Auni305Buni305Cuni305Duni305Euni305Funi3060uni3061uni3062uni3063uni3064uni3065uni3066uni3067uni3068uni3069uni306Auni306Buni306Cuni306Duni306Euni306Funi3070uni3071uni3072uni3073uni3074uni3075uni3076uni3077uni3078uni3079uni307Auni307Buni307Cuni307Duni307Euni307Funi3080uni3081uni3082uni3083uni3084uni3085uni3086uni3087uni3088uni3089uni308Auni308Buni308Cuni308Duni308Euni308Funi3090uni3091uni3092uni3093uni3099uni309Buni30A1uni30A2uni30A3uni30A4uni30A5uni30A6uni30A7uni30A8uni30A9uni30AAuni30ABuni30ACuni30ADuni30AEuni30AFuni30B0uni30B1uni30B2uni30B3uni30B4uni30B5uni30B6uni30B7uni30B8uni30B9uni30BAuni30BBuni30BCuni30BDuni30BEuni30BFuni30C0uni30C1uni30C2uni30C3uni30C4uni30C5uni30C6uni30C7uni30C8uni30C9uni30CAuni30CBuni30CCuni30CDuni30CEuni30CFuni30D0uni30D1uni30D2uni30D3uni30D4uni30D5uni30D6uni30D7uni30D8uni30D9uni30DAuni30DBuni30DCuni30DDuni30DEuni30DFuni30E0uni30E1uni30E2uni30E3uni30E4uni30E5uni30E6uni30E7uni30E8uni30E9uni30EAuni30EBuni30ECuni30EDuni30EEuni30EFuni30F0uni30F1uni30F2uni30F3uni30F4uni30F5uni30F6uni30F7uni30F8uni30F9uni30FAuni30FBuni30FCuni30FDuni30FEuniF639uniF63AuniF63BuniF63CuniF63DuniF63EuniF63FuniF640uniF641dotlessj commaaccent onefittedffffiffluniFB05uniFB06uniFB1DuniFB1E afii57705uniFB20uniFB21uniFB22uniFB23uniFB24uniFB25uniFB26uniFB27uniFB28uniFB29 afii57694 afii57695uniFB2CuniFB2DuniFB2EuniFB2FuniFB30uniFB31uniFB32uniFB33uniFB34 afii57723uniFB36uniFB38uniFB39uniFB3AuniFB3BuniFB3CuniFB3EuniFB40uniFB41uniFB43uniFB44uniFB46uniFB47uniFB48uniFB49uniFB4A afii57700uniFB4CuniFB4DuniFB4EuniFB4FuniFFFDsarg-2.3.11/fonts/README000066400000000000000000000002461324060677300145550ustar00rootroot00000000000000# Note from the author FreeSans.ttf is a GPL font and comes from http://savannah.gnu.org DejaVuSans.ttf is a GPL font and comes from http://dejavu.sourceforge.net sarg-2.3.11/fonts/license000066400000000000000000000431341324060677300152450ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. sarg-2.3.11/getconf.c000066400000000000000000000606141324060677300143420ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #define SET_LIST(list) list,sizeof(list)/sizeof(list[0]) extern numlist hours, weekdays; struct param_list { //! The name of the value of the parameter. const char *name; //! The bit to set if the value is found. unsigned long int value; //! The value is invalid if any bit of this mask is set in the parameter. unsigned long int exclude; }; struct sort_list { //! The name of the value of the parameter. const char *name; //! The bit to set if the value is found. unsigned long int value; }; static struct param_list report_type_values[]= { {"users_sites",REPORT_TYPE_USERS_SITES,0}, {"topusers",REPORT_TYPE_TOPUSERS,0}, {"topsites",REPORT_TYPE_TOPSITES,0}, {"sites_users",REPORT_TYPE_SITES_USERS,0}, {"date_time",REPORT_TYPE_DATE_TIME,0}, {"denied",REPORT_TYPE_DENIED,0}, {"auth_failures",REPORT_TYPE_AUTH_FAILURES,0}, {"site_user_time_date",REPORT_TYPE_SITE_USER_TIME_DATE,0}, {"downloads",REPORT_TYPE_DOWNLOADS,0}, }; static struct param_list data_field_values[]= { {"user",DATA_FIELD_USER,0}, {"date",DATA_FIELD_DATE,0}, {"time",DATA_FIELD_TIME,0}, {"url",DATA_FIELD_URL,0}, {"connect",DATA_FIELD_CONNECT,0}, {"bytes",DATA_FIELD_BYTES,0}, {"in_cache",DATA_FIELD_IN_CACHE,0}, {"out_cache",DATA_FIELD_OUT_CACHE,0}, {"elapsed",DATA_FIELD_ELAPSED,0}, }; static struct param_list topuserfields_values[]= { {"NUM",TOPUSERFIELDS_NUM,0}, {"DATE_TIME",TOPUSERFIELDS_DATE_TIME,0}, {"USERID",TOPUSERFIELDS_USERID,0}, {"CONNECT",TOPUSERFIELDS_CONNECT,0}, {"BYTES",TOPUSERFIELDS_BYTES,0}, {"%BYTES",TOPUSERFIELDS_SETYB,0}, {"SETYB",TOPUSERFIELDS_SETYB,0}, {"IN-CACHE-OUT",TOPUSERFIELDS_IN_CACHE_OUT,0}, {"USED_TIME",TOPUSERFIELDS_USED_TIME,0}, {"MILISEC",TOPUSERFIELDS_MILISEC,0}, {"%TIME",TOPUSERFIELDS_PTIME,0}, {"TOTAL",TOPUSERFIELDS_TOTAL,0}, {"AVERAGE",TOPUSERFIELDS_AVERAGE,0}, }; static struct param_list userreportfields_values[]= { {"CONNECT",USERREPORTFIELDS_CONNECT,0}, {"BYTES",USERREPORTFIELDS_BYTES,0}, {"%BYTES",USERREPORTFIELDS_SETYB,0}, {"SETYB",USERREPORTFIELDS_SETYB,0}, {"IN-CACHE-OUT",USERREPORTFIELDS_IN_CACHE_OUT,0}, {"USED_TIME",USERREPORTFIELDS_USED_TIME,0}, {"MILISEC",USERREPORTFIELDS_MILISEC,0}, {"%TIME",USERREPORTFIELDS_PTIME,0}, {"TOTAL",USERREPORTFIELDS_TOTAL,0}, {"AVERAGE",USERREPORTFIELDS_AVERAGE,0}, }; static struct param_list index_values[]= { {"yes",INDEX_YES,~INDEX_YES}, {"no",INDEX_NO,~INDEX_NO}, {"only",INDEX_ONLY,~INDEX_ONLY}, }; static struct param_list index_tree_values[]= { {"date",INDEX_TREE_DATE,~INDEX_TREE_DATE}, {"file",INDEX_TREE_FILE,~INDEX_TREE_FILE}, }; static struct param_list indexfields_values[]= { {"DIRSIZE",INDEXFIELDS_DIRSIZE,0}, }; static struct param_list ntml_userformat_values[]= { {"user",NTLMUSERFORMAT_USER,~NTLMUSERFORMAT_USER}, {"domainname+username",NTLMUSERFORMAT_DOMAINUSER,~NTLMUSERFORMAT_DOMAINUSER}, }; static struct param_list recnouser_values[]= { {"ip",RECORDWITHOUTUSER_IP,~RECORDWITHOUTUSER_IP}, {"ignore",RECORDWITHOUTUSER_IGNORE,~RECORDWITHOUTUSER_IGNORE}, {"everybody",RECORDWITHOUTUSER_EVERYBODY,~RECORDWITHOUTUSER_EVERYBODY}, }; static struct param_list datafileurl_values[]= { {"ip",DATAFILEURL_IP,~DATAFILEURL_IP}, {"name",DATAFILEURL_NAME,~DATAFILEURL_NAME}, }; static struct param_list displayvalue_values[]= { {"bytes",DISPLAY_BYTES,~DISPLAY_BYTES}, {"abbreviation",DISPLAY_ABBREV,~DISPLAY_ABBREV}, }; static struct param_list datetime_values[]= { {"elap",DATETIME_ELAP,0}, {"bytes",DATETIME_BYTE,0}, }; static struct param_list realtime_unauth_values[]= { {"show",REALTIME_UNAUTH_REC_SHOW,~REALTIME_UNAUTH_REC_SHOW}, {"ignore",REALTIME_UNAUTH_REC_IGNORE,~REALTIME_UNAUTH_REC_IGNORE}, }; struct sort_list topuser_sort[]= { {"BYTES",TOPUSER_SORT_BYTES}, {"USER",TOPUSER_SORT_USER}, {"CONNECT",TOPUSER_SORT_CONNECT}, {"TIME",TOPUSER_SORT_TIME}, }; struct sort_list topsite_sort[]= { {"BYTES",TOPSITE_SORT_BYTES}, {"CONNECT",TOPSITE_SORT_CONNECT}, {"TIME",TOPSITE_SORT_TIME}, {"USER",TOPSITE_SORT_USER}, }; struct sort_list user_sort[]= { {"BYTES",USER_SORT_BYTES}, {"SITE",USER_SORT_SITE}, {"CONNECT",USER_SORT_CONNECT}, {"TIME",USER_SORT_TIME}, }; static int is_param(const char *param,const char *buf) { int plen; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); return(1); } static int getparam_string(const char *param,char *buf,char *value,int value_size) { int plen; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; if (strlen(buf)>=value_size) { debuga(_("The string value of parameter \"%s\" is too long\n"),param); exit(EXIT_FAILURE); } strcpy(value,buf); fixnone(value); return(1); } static int getparam_quoted(const char *param,char *buf,char *value,int value_size) { int plen; int i; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; if (*buf != '\"') { debuga(_("Missing double quote after parameter \"%s\"\n"),param); exit(EXIT_FAILURE); } buf++; value_size--; for (i=0 ; i' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; for (i=0 ; i' ' ; i++) word1[i]=*buf++; if (i>=word1_size) { debuga(_("The first word of parameter \"%s\" is more than %d bytes long\n"),param,word1_size-1); exit(EXIT_FAILURE); } if (*buf!=' ') { debuga(_("Missing second word for parameter \"%s\"\n"),param); exit(EXIT_FAILURE); } word1[i]=0; while (*buf && (unsigned char)*buf<=' ') buf++; for (i=0 ; i' ' ; i++) word2[i]=*buf++; if (i>=word2_size) { debuga(_("The second word of parameter \"%s\" is more than %d bytes long\n"),param,word2_size-1); exit(EXIT_FAILURE); } word2[i]=0; fixnone(word1); fixnone(word2); return(1); } static int getparam_int(const char *param,char *buf,int *value) { int plen; int next; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; next=0; if (sscanf(buf,"%d%n",value,&next) != 1 || (unsigned char)buf[next] > ' ') { debuga(_("The integer value of parameter \"%s\" is invalid\n"),param); exit(EXIT_FAILURE); } return(1); } static int getparam_bool(const char *param,char *buf,bool *value) { int plen; int i; const char *bool_str="yes,true,on,1"; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; *value=false; for ( ; *bool_str ; bool_str+=i) { for (i=0 ; bool_str[i] && bool_str[i]!=',' ; i++); if (strncasecmp(bool_str,buf,i)==0) { *value=true; break; } if (bool_str[i]==',') i++; } return(1); } static int getparam_list(const char *param,struct param_list *options,int noptions,char *buf,unsigned long int *value) { int plen; char *str; int i; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; *value=0UL; while (*buf) { str=buf; while (*str && (unsigned char)*str>' ' && *str!=';') str++; if (*str) { *str++='\0'; while (*str && ((unsigned char)*str<=' ' || *str==';')) str++; } for (i=0 ; i=noptions) { debuga(_("Unknown value \"%s\" for parameter \"%s\"\n"),buf,param); exit(EXIT_FAILURE); } if ((*value & options[i].exclude)!=0) { debuga(_("Value \"%s\" conflicts with other selected values for parameter \"%s\"\n"),buf,param); exit(EXIT_FAILURE); } *value|=options[i].value; buf=str; } return(1); } static int getparam_sort(const char *param,struct sort_list *options,int noptions,char *buf,unsigned long int *value) { int plen; char *str, *order; int i; plen=strlen(param); if (strncmp(buf,param,plen) != 0) return(0); buf+=plen; if ((unsigned char)*buf>' ') return(0); while (*buf && (unsigned char)*buf<=' ') buf++; str=buf; order=NULL; while (*str && (unsigned char)*str>' ') str++; if (*str) { *str++='\0'; while (*str && (unsigned char)*str<=' ') str++; order=str; } for (i=0 ; i=noptions) { debuga(_("Unknown sort criterion \"%s\" for parameter \"%s\"\n"),buf,param); exit(EXIT_FAILURE); } *value=options[i].value; if (order) { str=order; while (*str && (unsigned char)*str>' ') str++; if (*str) { *str++='\0'; while (*str && (unsigned char)*str<=' ') str++; } if (strcasecmp(order,"reverse")==0 || strcasecmp(order,"D")==0) { *value|=SORT_REVERSE; } else if (strcasecmp(order,"normal")!=0 && strcasecmp(order,"A")!=0) { debuga(_("Unknown sort order \"%s\" for parameter \"%s\"\n"),order,param); exit(EXIT_FAILURE); } } buf=str; return(1); } static void parmtest(char *buf) { char wbuf[2048]; struct getwordstruct gwarea; while (*buf && (unsigned char)*buf<=' ') buf++; if(*buf == '#' || *buf == '\0') return; if(debugz) printf(_("SARG: TAG: %s\n"),buf); if (getparam_string("background_color",buf,BgColor,sizeof(BgColor))>0) return; if (getparam_string("text_color",buf,TxColor,sizeof(TxColor))>0) return; if (getparam_string("text_bgcolor",buf,TxBgColor,sizeof(TxBgColor))>0) return; if (getparam_string("title_color",buf,TiColor,sizeof(TiColor))>0) return; if (getparam_string("logo_image",buf,LogoImage,sizeof(LogoImage))>0) return; if (getparam_quoted("logo_text",buf,LogoText,sizeof(LogoText))>0) return; if (getparam_string("logo_text_color",buf,LogoTextColor,sizeof(LogoTextColor))>0) return; if (getparam_string("background_image",buf,BgImage,sizeof(BgImage))>0) return; if (getparam_bool("show_sarg_info",buf,&ShowSargInfo)>0) return; if (getparam_bool("show_sarg_logo",buf,&ShowSargLogo)>0) return; if (getparam_string("font_face",buf,FontFace,sizeof(FontFace))>0) return; if (getparam_string("header_color",buf,HeaderColor,sizeof(HeaderColor))>0) return; if (getparam_string("header_bgcolor",buf,HeaderBgColor,sizeof(HeaderBgColor))>0) return; if (getparam_string("font_size",buf,FontSize,sizeof(FontSize))>0) return; if (getparam_string("header_font_size",buf,HeaderFontSize,sizeof(HeaderFontSize))>0) return; if (getparam_string("title_font_size",buf,TitleFontSize,sizeof(TitleFontSize))>0) return; if (getparam_2words("image_size",buf,Width,sizeof(Width),Height,sizeof(Height))>0) return; if (getparam_quoted("title",buf,Title,sizeof(Title))>0) return; if (strncasecmp(buf,"resolve_ip",10)==0) { if (ip2name_config(buf+10)>0) return; } if (getparam_bool("user_ip",buf,&UserIp)>0) return; if (getparam_string("max_elapsed",buf,MaxElapsed,sizeof(MaxElapsed))>0) return; if (is_param("date_format",buf)) { getword_start(&gwarea,buf); if (getword_multisep(wbuf,sizeof(wbuf),&gwarea,' ')<0) { debuga(_("Invalid value in the \"date_format\" parameter\n")); exit(EXIT_FAILURE); } strncpy(DateFormat,gwarea.current,1); fixnone(DateFormat); return; } if (is_param("hours",buf)) { if( getnumlist( buf, &hours, 24, 24 ) ) { debuga(_("Error: Invalid syntax in hours tag!\n")); exit( 1 ); } return; } if (is_param("weekdays",buf)) { if( getnumlist( buf, &weekdays, 7, 7 ) ) { debuga(_("Error: Invalid syntax in weekdays tag!\n")); exit( 1 ); } return; } if (getparam_sort("topuser_sort_field",SET_LIST(topuser_sort),buf,&TopuserSort)>0) return; if (getparam_sort("user_sort_field",SET_LIST(user_sort),buf,&UserSort)>0) return; if (is_param("access_log",buf)>0) { if (AccessLogFromCmdLine==0) { if (NAccessLog>=MAXLOGS) { debuga(_("Too many log files in configuration file\n")); exit(EXIT_FAILURE); } getparam_string("access_log",buf,AccessLog[NAccessLog],MAX_LOG_FILELEN); NAccessLog++; } return; } if (is_param("redirector_log",buf)>0) { if (RedirectorLogFromCmdLine==0) { if (NRedirectorLogs>=MAX_REDIRECTOR_LOGS) { debuga(_("Too many redirector log files in configuration file\n")); exit(EXIT_FAILURE); } getparam_string("redirector_log",buf,RedirectorLogs[NRedirectorLogs],MAX_REDIRECTOR_FILELEN); NRedirectorLogs++; } return; } if (getparam_string("useragent_log",buf,UserAgentLog,sizeof(UserAgentLog))>0) return; if (getparam_string("exclude_hosts",buf,ExcludeHosts,sizeof(ExcludeHosts))>0) return; if (getparam_string("exclude_codes",buf,ExcludeCodes,sizeof(ExcludeCodes))>0) return; if (getparam_string("exclude_users",buf,ExcludeUsers,sizeof(ExcludeUsers))>0) return; if (getparam_string("password",buf,PasswdFile,sizeof(PasswdFile))>0) return; if (getparam_string("temporary_dir",buf,TempDir,sizeof(TempDir))>0) return; if (getparam_list("report_type",SET_LIST(report_type_values),buf,&ReportType)>0) return; if (getparam_string("output_dir",buf,OutputDir,sizeof(OutputDir))>0) return; if (getparam_bool("anonymous_output_files",buf,&AnonymousOutputFiles)>0) return; if (getparam_string("output_email",buf,OutputEmail,sizeof(OutputEmail))>0) return; if (getparam_2words("per_user_limit",buf,PerUserLimitFile,sizeof(PerUserLimitFile),wbuf,sizeof(wbuf))>0) { PerUserLimit=atoi(wbuf); return; } if (getparam_int("lastlog",buf,&LastLog)>0) return; if (getparam_bool("remove_temp_files",buf,&RemoveTempFiles)>0) return; if (getparam_string("replace_index",buf,ReplaceIndex,sizeof(ReplaceIndex))>0) return; if (getparam_list("index_tree",SET_LIST(index_tree_values),buf,&IndexTree)>0) return; if (getparam_list("index",SET_LIST(index_values),buf,&Index)>0) return; if (getparam_list("index_fields",SET_LIST(indexfields_values),buf,&IndexFields)>0) return; if (getparam_bool("overwrite_report",buf,&OverwriteReport)>0) return; if (getparam_list("records_without_userid",SET_LIST(recnouser_values),buf,&RecordsWithoutUser)>0) return; if (getparam_bool("use_comma",buf,&UseComma)>0) return; if (getparam_string("mail_utility",buf,MailUtility,sizeof(MailUtility))>0) return; if (getparam_int("topsites_num",buf,&TopSitesNum)>0) return; if (getparam_int("topuser_num",buf,&TopUsersNum)>0) return; if (getparam_string("usertab",buf,UserTabFile,sizeof(UserTabFile))>0) return; if (getparam_string("index_sort_order",buf,IndexSortOrder,sizeof(IndexSortOrder))>0) return; if (getparam_sort("topsites_sort_order",SET_LIST(topsite_sort),buf,&TopsitesSort)>0) return; if (getparam_bool("long_url",buf,&LongUrl)>0) return; if (getparam_string("dansguardian_conf",buf,DansGuardianConf,sizeof(DansGuardianConf))>0) return; if (getparam_string("squidguard_conf",buf,SquidGuardConf,sizeof(SquidGuardConf))>0) return; if (getparam_list("date_time_by",SET_LIST(datetime_values),buf,&datetimeby)>0) return; if (getparam_string("charset",buf,CharSet,sizeof(CharSet))>0) { ccharset(CharSet); return; } if (getparam_quoted("user_invalid_char",buf,UserInvalidChar,sizeof(UserInvalidChar))>0) return; if (getparam_quoted("include_users",buf,IncludeUsers+1,sizeof(IncludeUsers)-2)>0) { IncludeUsers[0]=':'; strcat(IncludeUsers,":"); return; } if (getparam_quoted("exclude_string",buf,ExcludeString,sizeof(ExcludeString))>0) return; if (getparam_bool("privacy",buf,&Privacy)>0) return; if (getparam_quoted("privacy_string",buf,PrivacyString,sizeof(PrivacyString))>0) return; if (getparam_string("privacy_string_color",buf,PrivacyStringColor,sizeof(PrivacyStringColor))>0) return; if (getparam_bool("show_successful_message",buf,&SuccessfulMsg)>0) return; if (getparam_bool("show_read_statistics",buf,&ShowReadStatistics)>0) return; if (getparam_list("topuser_fields",SET_LIST(topuserfields_values),buf,&TopUserFields)>0) return; if (getparam_bool("bytes_in_sites_users_report",buf,&BytesInSitesUsersReport)>0) return; if (getparam_list("user_report_fields",SET_LIST(userreportfields_values),buf,&UserReportFields)>0) return; if (getparam_string("datafile",buf,DataFile,sizeof(DataFile))>0) return; if (getparam_quoted("datafile_delimiter",buf,DataFileDelimiter,sizeof(DataFileDelimiter))>0) return; if (getparam_list("datafile_fields",SET_LIST(data_field_values),buf,&DataFileFields)>0) return; if (getparam_list("datafile_url",SET_LIST(datafileurl_values),buf,&DataFileUrl)>0) return; if (getparam_string("parsed_output_log",buf,ParsedOutputLog,sizeof(ParsedOutputLog))>0) return; if (getparam_string("parsed_output_log_compress",buf,ParsedOutputLogCompress,sizeof(ParsedOutputLogCompress))>0) return; if (getparam_list("displayed_values",SET_LIST(displayvalue_values),buf,&DisplayedValues)>0) return; if (getparam_int("authfail_report_limit",buf,&AuthfailReportLimit)>0) return; if (getparam_int("denied_report_limit",buf,&DeniedReportLimit)>0) return; if (getparam_int("siteusers_report_limit",buf,&SiteUsersReportLimit)>0) return; if (getparam_int("dansguardian_report_limit",buf,&DansGuardianReportLimit)>0) return; if (getparam_int("squidguard_report_limit",buf,&SquidGuardReportLimit)>0) return; if (getparam_int("user_report_limit",buf,&UserReportLimit)>0) return; if (getparam_int("download_report_limit",buf,&DownloadReportLimit)>0) return; if (getparam_string("www_document_root",buf,wwwDocumentRoot,sizeof(wwwDocumentRoot))>0) return; if (getparam_string("block_it",buf,BlockIt,sizeof(BlockIt))>0) return; if (getparam_string("external_css_file",buf,ExternalCSSFile,sizeof(ExternalCSSFile))>0) return; if (getparam_bool("user_authentication",buf,&UserAuthentication)>0) return; if (getparam_string("AuthUserTemplateFile",buf,wbuf,sizeof(wbuf))>0) { char dir[MAXLEN]; if (is_absolute(wbuf)) { if (strlen(wbuf)>=sizeof(AuthUserTemplateFile)) { debuga(_("Template file name is too long in parameter \"AuthUserTemplateFile\"\n")); exit(EXIT_FAILURE); } safe_strcpy(AuthUserTemplateFile,wbuf,sizeof(AuthUserTemplateFile)); } else { safe_strcpy(dir,ConfigFile,sizeof(dir)); if (snprintf(AuthUserTemplateFile,sizeof(AuthUserTemplateFile),"%s/%s",dirname(dir),wbuf)>=sizeof(AuthUserTemplateFile)) { debuga(_("Template file name is too long in parameter \"AuthUserTemplateFile\"\n")); exit(EXIT_FAILURE); } } return; } if (is_param("download_suffix",buf)) { char warea[MAXLEN]; getparam_quoted("download_suffix",buf,warea,sizeof(warea)); set_download_suffix(warea); return; } if (getparam_bool("graphs",buf,&Graphs)>0) { #ifndef HAVE_GD if (Graphs) debugaz(_("No graphs available as sarg was not compiled with libgd. Set \"graphs\" to \"no\" in %s to disable this warning\n"), ConfigFile); #endif return; } if (getparam_string("graph_days_bytes_bar_color",buf,GraphDaysBytesBarColor,sizeof(GraphDaysBytesBarColor))>0) return; if (getparam_string("redirector_log_format",buf,RedirectorLogFormat,sizeof(RedirectorLogFormat))>0) return; if (getparam_string("squidguard_log_format",buf,RedirectorLogFormat,sizeof(RedirectorLogFormat))>0) { debuga(_("squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file.\n")); return; } if (getparam_bool("redirector_filter_out_date",buf,&RedirectorFilterOutDate)>0) return; if (getparam_bool("redirector_ignore_date",buf,&RedirectorFilterOutDate)>0) { /* Due to an old bug in sarg before version 2.3, the option was having the opposite action than implied by the name. */ debuga(_("redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file.\n")); RedirectorFilterOutDate=!RedirectorFilterOutDate; return; } if (getparam_bool("squidguard_ignore_date",buf,&RedirectorFilterOutDate)>0) { debuga(_("squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file.\n")); RedirectorFilterOutDate=!RedirectorFilterOutDate; return; } if (getparam_bool("dansguardian_filter_out_date",buf,&DansguardianFilterOutDate)>0) return; if (getparam_bool("dansguardian_ignore_date",buf,&DansguardianFilterOutDate)>0) { debuga(_("dansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file.\n")); DansguardianFilterOutDate=!DansguardianFilterOutDate; return; } if (getparam_string("ulimit",buf,Ulimit,sizeof(Ulimit))>0) return; if (getparam_list("ntlm_user_format",SET_LIST(ntml_userformat_values),buf,&NtlmUserFormat)>0) return; if (getparam_string("realtime_types",buf,RealtimeTypes,sizeof(RealtimeTypes))>0) return; if (getparam_list("realtime_unauthenticated_records",SET_LIST(realtime_unauth_values),buf,&RealtimeUnauthRec)>0) return; if (getparam_int("realtime_refresh_time",buf,&realtime_refresh)>0) return; if (getparam_int("realtime_access_log_lines",buf,&realtime_access_log_lines)>0) return; if (getparam_string("LDAPHost",buf,LDAPHost,sizeof(LDAPHost))>0) return; if (getparam_int("LDAPPort",buf,&LDAPPort)>0) return; if (getparam_int("LDAPProtocolVersion",buf,&LDAPProtocolVersion)>0) return; if (getparam_string("LDAPBindDN",buf,LDAPBindDN,sizeof(LDAPBindDN))>0) return; if (getparam_string("LDAPBindPW",buf,LDAPBindPW,sizeof(LDAPBindPW))>0) return; if (getparam_string("LDAPBaseSearch",buf,LDAPBaseSearch,sizeof(LDAPBaseSearch))>0) return; if (getparam_string("LDAPFilterSearch",buf,LDAPFilterSearch,sizeof(LDAPFilterSearch))>0) return; if (getparam_string("LDAPTargetAttr",buf,LDAPTargetAttr,sizeof(LDAPTargetAttr))>0) return; if (getparam_string("graph_font",buf,GraphFont,sizeof(GraphFont))>0) return; if (getparam_string("sorttable",buf,SortTableJs,sizeof(SortTableJs))>0) return; if (getparam_string("hostalias",buf,HostAliasFile,sizeof(HostAliasFile))>0) return; if (getparam_bool("keep_temp_log",buf,&KeepTempLog)>0) return; if(strstr(buf,"squid24") != 0) { squid24=true; return; } if(strstr(buf,"byte_cost") != 0) { getword_start(&gwarea,buf); if (getword_multisep(wbuf,sizeof(wbuf),&gwarea,' ')<0) { debuga(_("The \"byte_cost\" parameter of the configuration file is invalid\n")); exit(EXIT_FAILURE); } cost=atol(gwarea.current); if (getword_multisep(wbuf,sizeof(wbuf),&gwarea,' ')<0) { debuga(_("The \"byte_cost\" parameter of the configuration file is invalid\n")); exit(EXIT_FAILURE); } nocost=my_atoll(gwarea.current); return; } printf(_("SARG: Unknown option %s\n"),buf); } void getconf(void) { FILE *fp_in; char buf[MAXLEN]; if(debug) debuga(_("Loading configuration from %s\n"),ConfigFile); if ((fp_in = fopen(ConfigFile, "r")) == NULL) { debugapos("getconf",_("Cannot open file \"%s\": %s\n"),ConfigFile,strerror(errno)); exit(EXIT_FAILURE); } while (fgets(buf, sizeof(buf), fp_in) != NULL) { fixendofline(buf); if(debugm) printf("SYSCONFDIR %s\n",buf); parmtest(buf); } fclose(fp_in); return; } sarg-2.3.11/grepday.c000066400000000000000000000566011324060677300143510ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #if defined(HAVE_GD) #if defined(HAVE_ICONV_H) && defined(gdFTEX_Unicode) #include #define USE_ICONV 1 #endif struct GraphDataStruct { int lavender; int darkblue; int dimgray; int goldenrod; int goldenrod2; int gray; int silver; int black; //! The color of the top side of a graph bar. int color1; //! The color of the right side of a graph bar. int color2; //! The color of the front side of a graph bar. int color3; //! The libgd image we are drawing on. gdImage *im; //! An allocated buffer to convert the string into UTF-8. char *string; //! The number of bytes allocated for the string buffer. size_t string_size; //! The bottom border of the graph. int BottomGraph; //! The top border of the graph. int TopGraph; //! The left border of the graph. int LeftGraph; //! The right border of the graph. int RightGraph; //! The height at which the bottom depth border of the graph extends. int BottomDepth; //! The distance between two ticks on the horizontal axis. double XScale; //! The distance between two ticks on the vertical axis. double YScale; //! The exterior length of a tick on the scales. int TickLength; //! The distance, in pixels, between two ticks along the Y axis. int YTickSpace; }; enum PlotType { PTG_LinBin, PTG_LogBin, PTG_Time, }; struct PlotStruct { //! The data points to plot. long long int *datapoints; //! The number of points to plot. int npoints; //! The minimum data to plot along the Y axis. long long int ymin; //! The maximum data to plot along the Y axis. long long int ymax; //! The type of Y axis to draw. enum PlotType ytype; //! The label to write on the X axis. const char *XLabel; //! The label to write on the Y axis. const char *YLabel; //! The name of the output PNG file. const char *pngfile; }; enum TextRefPos { TRP_TopLeft, TRP_TopCenter, TRP_TopRight, TRP_BottomLeft, TRP_BottomCenter, TRP_BottomRight, TRP_CenterLeft, TRP_Center, TRP_CenterRight, }; #ifdef USE_ICONV //! The iconv object to convert the text from the locale character set to UTF-8. iconv_t localtoutf=(iconv_t)-1; #endif static void Sarg_gdImageStringFT (struct GraphDataStruct *gdata, int fg, char *fontlist, double ptsize, double angle, int x, int y, const char *string,enum TextRefPos RefPos) { char *sstring; char *retval; int brect[8]; int minx,miny,maxx,maxy; int i; #ifdef USE_ICONV if (localtoutf!=(iconv_t)-1) { const char *str; char *sstr; size_t slen, sslen; slen = strlen(string) + 1; // We must include string termination character sslen = slen * 3; // We assume that the UTF8 string will not be bigger than 3 times the original size. if (sslen>gdata->string_size) { sstring = (char *)realloc(gdata->string,sslen); if (!sstring) { debuga(_("realloc error (%"PRIu64" bytes required)\n"),(uint64_t)sslen); exit(EXIT_FAILURE); } gdata->string=(char *)sstring; gdata->string_size=sslen; } else { sstring=gdata->string; sslen=gdata->string_size; } str = string; sstr = sstring; if (iconv (localtoutf, (ICONV_CONST char **)&str, &slen, &sstr, &sslen)==-1) { /* TRANSLATORS: First %s is the string that failed to convert. Second %s is the input * character encoding. Last %s is the reason for the failure. */ debugapos("grepday",_("iconv failed to convert string \"%s\" from %s to UTF-8: %s\n"),string,CharSet,strerror(errno)); sstring=(char *)string; //show something sensible on the graph } } else { sstring=(char *)string; //show something sensible on the graph } #else sstring=(char *)string; #endif if (RefPos!=TRP_BottomLeft) { retval = gdImageStringFTEx (NULL, brect, fg, fontlist, ptsize, angle, 0, 0, sstring, gdFTEX_Unicode); if (retval) { debuga(_("libgd failed to calculate the bounding box of the text \"%s\": %s\n"),sstring,retval); exit(EXIT_FAILURE); } /* From libgd documentation, brect contains this without taking into account the angle: 0 lower left corner, X position 1 lower left corner, Y position 2 lower right corner, X position 3 lower right corner, Y position 4 upper right corner, X position 5 upper right corner, Y position 6 upper left corner, X position 7 upper left corner, Y position */ minx=maxx=brect[0]; miny=maxy=brect[1]; for (i=2 ; i<7 ; i+=2) { if (minx>brect[i]) minx=brect[i]; if (maxxbrect[i+1]) miny=brect[i+1]; if (maxyim, brect, fg, fontlist, ptsize, angle, x, y, sstring, gdFTEX_Unicode); if (retval) { debuga(_("libgd failed to render the text \"%s\": %s\n"),sstring,retval); exit(EXIT_FAILURE); } } static void bar(struct GraphDataStruct *gdata,int x1,double y,const char *label) { gdPoint points[4]; int val=0; int width2; val=gdata->BottomGraph+5-(int)(y*gdata->YScale+0.5); width2=(int)(gdata->XScale/4.); // front side of the bar if (valBottomDepth) gdImageFilledRectangle(gdata->im, x1-width2, val, x1+width2, gdata->BottomDepth, gdata->color3); // top side of the bar points[0].x = x1-width2+5; points[0].y = val-5; points[1].x = x1-width2; points[1].y = val; points[2].x = x1+width2; points[2].y = val; points[3].x = x1+width2+5; points[3].y = val-5; gdImageFilledPolygon(gdata->im, points, 4, gdata->color1); gdImageLine(gdata->im, x1+2, val-2, x1+2, val-10, gdata->dimgray); gdImageFilledRectangle(gdata->im, x1-8, val-20, x1+12, val-10, gdata->goldenrod); gdImageRectangle(gdata->im, x1-8, val-20, x1+12, val-10, gdata->goldenrod2); Sarg_gdImageStringFT(gdata,gdata->black,GraphFont,6,0.0,x1+2,val-12,label,TRP_BottomCenter); // lateral side of the bar if (valBottomDepth) { points[0].x = x1+width2+5; points[0].y = val-5; points[1].x = x1+width2; points[1].y = val; points[2].x = x1+width2; points[2].y = gdata->BottomDepth; points[3].x = x1+width2+5; points[3].y = gdata->BottomGraph; gdImageFilledPolygon(gdata->im, points, 4, gdata->color2); } return; } static int greport_compute_yaxis(struct PlotStruct *pdata,struct GraphDataStruct *gdata) { double symin,symax; double range; double yscale; if (pdata->ymin<0.) { debuga(_("Minimum for Y scale of the graph is out of range: %"PRId64"\n"),(int64_t)pdata->ymin); return(-1); } if (pdata->ymax<=0.) { debuga(_("Maximum for Y scale of the graph is out of range: %"PRId64"\n"),(int64_t)pdata->ymax); return(-1); } switch(pdata->ytype) { case PTG_LinBin: symin=(double)pdata->ymin; symax=(double)pdata->ymax; break; case PTG_LogBin: if (pdata->ymin>0.) symin=log(pdata->ymin); else symin=0.; symax=log(pdata->ymax); break; case PTG_Time: symin=(double)pdata->ymin; symax=(double)pdata->ymax; break; default: debuga(_("Unknown type %d for Y axis scale\n"),pdata->ytype); return(-1); } gdata->YTickSpace=10; range=symax-symin; yscale=(double)(gdata->BottomGraph-gdata->TopGraph)/range; gdata->YScale=yscale; return(0); } static void greport_formatbin(double yval,int maxdigits,char *string,int slen) { int len; char schar[]={'\0','k','M','G','T','P'}; int scount; int i; int ndigits; for (scount=0 ; scount=1000. ; scount++) yval/=1000.; if (yval<2.) ndigits=2; else if (yval<3.) ndigits=1; else ndigits=0; if (ndigits>maxdigits) ndigits=maxdigits; len=snprintf(string,slen,"%.*f",ndigits,(float)yval); if (UseComma) for (i=0 ; iBottomGraph; yt=gdata->BottomDepth-gdata->BottomGraph; xexterior=gdata->LeftGraph-10; xinterior=gdata->LeftGraph; xtick=gdata->LeftGraph-10-gdata->TickLength; for(y=y0-gdata->YTickSpace ; y>=gdata->TopGraph ; y-=gdata->YTickSpace) { gdImageLine(gdata->im, xtick, y+yt, xexterior, y+yt, gdata->dimgray); gdImageLine(gdata->im, xexterior, y+yt, xinterior, y, gdata->dimgray); gdImageLine(gdata->im, xinterior, y, gdata->RightGraph, y, gdata->dimgray); switch (pdata->ytype) { case PTG_LinBin: yval=(double)(y0-y)/gdata->YScale+(double)pdata->ymin; greport_formatbin(yval,2,YLabel,sizeof(YLabel)); break; case PTG_LogBin: yval=exp((double)(y0-y)/gdata->YScale+log(pdata->ymin)); greport_formatbin(yval,2,YLabel,sizeof(YLabel)); break; case PTG_Time: { int t; yval=(double)(y0-y)/gdata->YScale+(double)pdata->ymin; t=(int)(yval/60000.+0.5); snprintf(YLabel,sizeof(YLabel),"%02d:%02d",t/60,t%60); break; } } Sarg_gdImageStringFT(gdata,gdata->dimgray,GraphFont,7,0.0,xtick,y+yt,YLabel,TRP_CenterRight); } } static void greport_plot(const struct userinfostruct *uinfo,struct PlotStruct *pdata) { FILE *pngout; int x, y; int day; int x1; char graph[MAXLEN]; char s[15]; char ftime[128]; time_t t; struct tm *local; gdPoint points[4]; struct GraphDataStruct gdata; const int ImgXSize=720; const int ImgYSize=480; const int LeftMargin=60; const int RightMargin=20; const int TopMargin=60; const int BottomMargin=60; const int TickLength=3; const int ZTickLength=5; double yval; char blabel[50]; double logpmin; memset(&gdata,0,sizeof(gdata)); gdata.im = gdImageCreate(ImgXSize, ImgYSize); gdata.BottomGraph=ImgYSize-BottomMargin; gdata.LeftGraph=LeftMargin; gdata.RightGraph=ImgXSize-RightMargin; gdata.TopGraph=TopMargin; gdata.BottomDepth=gdata.BottomGraph+5; gdata.XScale=(double)(gdata.RightGraph-gdata.LeftGraph)/(pdata->npoints+1); if (greport_compute_yaxis(pdata,&gdata)<0) return; gdata.TickLength=TickLength; // first allocated color is the background gdata.lavender = gdImageColorAllocate(gdata.im, 230, 230, 250); gdata.gray = gdImageColorAllocate(gdata.im, 192, 192, 192); gdata.silver = gdImageColorAllocate(gdata.im, 211, 211, 211); gdata.black = gdImageColorAllocate(gdata.im, 0, 0, 0); gdata.dimgray = gdImageColorAllocate(gdata.im, 105, 105, 105); gdata.darkblue = gdImageColorAllocate(gdata.im, 0, 0, 139); gdata.goldenrod = gdImageColorAllocate(gdata.im, 234, 234, 174); gdata.goldenrod2 = gdImageColorAllocate(gdata.im, 207, 181, 59); if(strcmp(GraphDaysBytesBarColor,"orange") == 0) { gdata.color1 = gdImageColorAllocate(gdata.im, 255, 233, 142); gdata.color2 = gdImageColorAllocate(gdata.im, 220, 163, 72); gdata.color3 = gdImageColorAllocate(gdata.im, 255, 198, 107); } else if(strcmp(GraphDaysBytesBarColor,"blue") == 0) { gdata.color1 = gdImageColorAllocate(gdata.im, 62, 80, 167); gdata.color2 = gdImageColorAllocate(gdata.im, 40, 51, 101); gdata.color3 = gdImageColorAllocate(gdata.im, 57, 73, 150); } else if(strcmp(GraphDaysBytesBarColor,"green") == 0) { gdata.color1 = gdImageColorAllocate(gdata.im,120,166,129); gdata.color2 = gdImageColorAllocate(gdata.im,84,113,82); gdata.color3 = gdImageColorAllocate(gdata.im,158,223,167); } else if(strcmp(GraphDaysBytesBarColor,"yellow") == 0) { gdata.color1 = gdImageColorAllocate(gdata.im,185,185,10); gdata.color2 = gdImageColorAllocate(gdata.im,111,111,10); gdata.color3 = gdImageColorAllocate(gdata.im,166,166,10); } else if(strcmp(GraphDaysBytesBarColor,"brown") == 0) { gdata.color1 = gdImageColorAllocate(gdata.im,97,45,27); gdata.color2 = gdImageColorAllocate(gdata.im,60,30,20); gdata.color3 = gdImageColorAllocate(gdata.im,88,41,26); } else if(strcmp(GraphDaysBytesBarColor,"red") == 0){ gdata.color1 = gdImageColorAllocate(gdata.im,185,10,10); gdata.color2 = gdImageColorAllocate(gdata.im,111,10,10); gdata.color3 = gdImageColorAllocate(gdata.im,166,10,10); } else { debuga(_("Unknown color \"%s\" requested for the graph. Using orange instead\n"),GraphDaysBytesBarColor); gdata.color1 = gdImageColorAllocate(gdata.im, 255, 233, 142); gdata.color2 = gdImageColorAllocate(gdata.im, 220, 163, 72); gdata.color3 = gdImageColorAllocate(gdata.im, 255, 198, 107); } // rectangle around the image gdImageRectangle(gdata.im, 0, 0, ImgXSize-1, ImgYSize-1, gdata.dimgray); // backtround of the graph gdImageFilledRectangle(gdata.im, LeftMargin, gdata.TopGraph, gdata.RightGraph, gdata.BottomGraph, gdata.silver); // depth of the left Y axis points[0].x = gdata.LeftGraph-10; points[0].y = gdata.TopGraph+5; points[1].x = gdata.LeftGraph-10; points[1].y = gdata.BottomDepth; points[2].x = gdata.LeftGraph; points[2].y = gdata.BottomGraph; points[3].x = gdata.LeftGraph; points[3].y = gdata.TopGraph; gdImageFilledPolygon(gdata.im, points, 4, gdata.gray); // depth of the bottom X axis points[0].x = gdata.LeftGraph; points[0].y = gdata.BottomGraph; points[1].x = gdata.LeftGraph-10; points[1].y = gdata.BottomDepth; points[2].x = gdata.RightGraph-10; points[2].y = gdata.BottomDepth; points[3].x = gdata.RightGraph; points[3].y = gdata.BottomGraph; gdImageFilledPolygon(gdata.im, points, 4, gdata.gray); // vertical exterior line of the depth gdImageLine(gdata.im, LeftMargin-10, TopMargin+5, LeftMargin-10, gdata.BottomDepth+ZTickLength, gdata.black); // horizontal exterior line of the depth gdImageLine(gdata.im, LeftMargin-10-ZTickLength, gdata.BottomDepth, gdata.RightGraph-10, gdata.BottomDepth, gdata.black); // diagonal line between the two depths gdImageLine(gdata.im, LeftMargin-10, gdata.BottomDepth, LeftMargin, gdata.BottomGraph, gdata.black); // vertical left line of the graph gdImageLine(gdata.im, LeftMargin, gdata.BottomGraph, LeftMargin, gdata.TopGraph, gdata.black); // horizontal bottom line of the graph gdImageLine(gdata.im, LeftMargin, gdata.BottomGraph, gdata.RightGraph, gdata.BottomGraph, gdata.black); // vertical right line of the graph gdImageLine(gdata.im, gdata.RightGraph, gdata.TopGraph, gdata.RightGraph, gdata.BottomGraph, gdata.black); // diagonal line to close the right of the bottom depth gdImageLine(gdata.im, gdata.RightGraph-10, gdata.BottomDepth, gdata.RightGraph, gdata.BottomGraph, gdata.black); // Y axis ticks greport_draw_yaxis(pdata,&gdata); // X axis ticks and labels for(y=1; y<=pdata->npoints; y++) { x=gdata.LeftGraph-10+(int)((double)y*gdata.XScale+0.5); gdImageLine(gdata.im, x, gdata.BottomDepth, x, gdata.BottomDepth+TickLength, gdata.dimgray); sprintf(s,"%02d",y); Sarg_gdImageStringFT(&gdata,gdata.dimgray,GraphFont,7,0.0,x,gdata.BottomDepth+TickLength+1,s,TRP_TopCenter); } t = time(NULL); local = localtime(&t); if(DateFormat[0]=='u') strftime(ftime, sizeof(ftime), "%b/%d/%Y %H:%M", local); if(DateFormat[0]=='e') strftime(ftime, sizeof(ftime), "%d/%b/%Y-%H:%M", local); x=ImgXSize*5/12; Sarg_gdImageStringFT(&gdata,gdata.darkblue,GraphFont,7,0.0,ImgXSize-10,ImgYSize-10,ftime,TRP_BottomRight); if(ShowSargInfo) Sarg_gdImageStringFT(&gdata,gdata.darkblue,GraphFont,10,0.0,x,15,_("SARG, "),TRP_BottomRight); Sarg_gdImageStringFT(&gdata,gdata.darkblue,GraphFont,10,0.0,x,15,Title,TRP_BottomLeft); sprintf(warea,_("Period: %s"),period.text); Sarg_gdImageStringFT(&gdata,gdata.darkblue,GraphFont,9,0.0,x,27,warea,TRP_BottomLeft); sprintf(warea,_("User: %s"),uinfo->label); Sarg_gdImageStringFT(&gdata,gdata.darkblue,GraphFont,9,0.0,x,38,warea,TRP_BottomLeft); Sarg_gdImageStringFT(&gdata,gdata.black,GraphFont,10,3.141592/2,15,ImgYSize/2,pdata->YLabel,TRP_CenterLeft); Sarg_gdImageStringFT(&gdata,gdata.black,GraphFont,10,0.0,ImgXSize/2,ImgYSize-20,pdata->XLabel,TRP_BottomCenter); logpmin=(pdata->ytype==PTG_LogBin && pdata->ymin>0.) ? log(pdata->ymin) : 0.; for (day=0 ; daynpoints ; day++) { if (pdata->datapoints[day]>0) { x1=gdata.LeftGraph-10+(int)((double)(day+1)*gdata.XScale+0.5); switch (pdata->ytype) { case PTG_LinBin: yval=(double)pdata->datapoints[day]; if (yvalymin) yval=0.; else if (yval>pdata->ymax) yval=pdata->ymax; else yval-=pdata->ymin; greport_formatbin(pdata->datapoints[day],1,blabel,sizeof(blabel)); break; case PTG_LogBin: yval=(double)pdata->datapoints[day]; if (yval<=pdata->ymin) yval=0.; else if (yval>pdata->ymax) yval=log(pdata->ymax)-logpmin; else yval=log(yval)-logpmin; greport_formatbin(pdata->datapoints[day],1,blabel,sizeof(blabel)); break; case PTG_Time: { int t; yval=(double)pdata->datapoints[day]; if (yvalymin) yval=0.; else if (yval>pdata->ymax) yval=pdata->ymax; else yval-=pdata->ymin; t=(int)(pdata->datapoints[day]/60000.); snprintf(blabel,sizeof(blabel),"%d:%02d",t/60,t%60); break; } default: yval=-1.; break; } if (yval>=0.) bar(&gdata,x1,yval,blabel); } } if (snprintf(graph,sizeof(graph),"%s/%s/%s",outdirname,uinfo->filename,pdata->pngfile)>=sizeof(graph)) { /* TRANSLATORS: The message is followed by the path that is too long. */ debuga(_("User name too long to manufacture file name ")); debuga_more("%s/%s/%s\n",outdirname,uinfo->filename,pdata->pngfile); exit(EXIT_FAILURE); } if((pngout=fopen(graph,"wb"))==NULL) { debugapos("grepday",_("Cannot open file \"%s\": %s\n"),graph,strerror(errno)); exit(EXIT_FAILURE); } gdImagePng(gdata.im, pngout); fclose(pngout); gdImageDestroy(gdata.im); if (gdata.string) free(gdata.string); } #endif //HAVE_GD void greport_prepare(void) { #ifdef HAVE_GD if (!Graphs) { if (debugz) { /* TRANSLATORS: %s is the name of the configuration file providing * the graph option. */ debugaz(_("Graphs disabled as requested in \"%s\"\n"),ConfigFile); } return; } if (GraphFont[0]=='\0') { if (debugz) { /* TRANSLATORS: %s is the name of the configuration file providing * the graph option. */ debugaz(_("Graphs disabled as no font names were provided in \"%s\"\n"),ConfigFile); } return; } if(access(GraphFont, R_OK) != 0) { debugapos("grepday",_("Fontname \"%s\" not found\n"),GraphFont); exit(EXIT_FAILURE); } #ifdef USE_ICONV localtoutf = iconv_open ("UTF-8", CharSet); if (localtoutf==(iconv_t)-1) { debugapos("grepday",_("iconv cannot convert from %s to UTF-8: %s\n"),CharSet,strerror(errno)); } #endif #endif //HAVE_GD } void greport_day(const struct userinfostruct *uinfo) { #ifdef HAVE_GD FILE *fp_in, *fp_ou; char wdirname[MAXLEN]; char buf[MAXLEN]; int day; long long int llday; long long int bytes; long long int elap; long long int bytespoints[31]; long long int elappoints[31]; struct getwordstruct gwarea; struct PlotStruct pdata; if (snprintf(wdirname,sizeof(wdirname),"%s/%s.day",tmp,uinfo->filename)>=sizeof(wdirname)) { debuga(_("User name too long to manufacture file name ")); debuga_more("%s/%s.day\n",tmp,uinfo->filename); exit(EXIT_FAILURE); } if(access(wdirname, R_OK) != 0) { return; } if(!Graphs || GraphFont[0]=='\0') { if (!KeepTempLog && unlink(wdirname)) debuga(_("Cannot delete \"%s\": %s\n"),wdirname,strerror(errno)); return; } if((fp_in=fopen(wdirname,"r"))==NULL) { debugapos("grepday",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } memset(bytespoints,0,sizeof(bytespoints)); memset(elappoints,0,sizeof(elappoints)); while(fgets(buf,sizeof(buf),fp_in)!=NULL) { fixendofline(buf); getword_start(&gwarea,buf); if (getword_atoll(&llday,&gwarea,'/')<0) { debuga(_("Invalid date in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } day=(int)llday; if (day<1 || day>31) continue; if (getword_skip(20,&gwarea,'\t')<0 || getword_skip(20,&gwarea,'\t')<0) { debuga(_("Invalid entry in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } if ((datetimeby & DATETIME_BYTE)!=0) { if (getword_atoll(&bytes,&gwarea,'\t')<0) { debuga(_("Invalid number of bytes in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } bytespoints[day-1]+=bytes; } if ((datetimeby & DATETIME_ELAP)!=0) { if (getword_atoll(&elap,&gwarea,'\0')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } elappoints[day-1]+=elap; } } fclose(fp_in); if (!KeepTempLog && unlink(wdirname)) { debuga(_("Cannot delete \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } if (snprintf(wdirname,sizeof(wdirname),"%s/%s/graph.html",outdirname,uinfo->filename)>=sizeof(wdirname)) { debuga(_("User name too long to manufacture file name ")); debuga_more("%s/%s/%s\n",outdirname,uinfo->filename,"graph.html"); exit(EXIT_FAILURE); } if ((fp_ou=fopen(wdirname,"wt"))==NULL) { debugapos("grepday",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } write_html_head(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 4 : 2,_("Graph report"),HTML_JS_NONE); fputs("\n", fp_ou); if((datetimeby & DATETIME_BYTE)!=0) { memset(&pdata,0,sizeof(pdata)); pdata.datapoints=bytespoints; pdata.npoints=31; pdata.XLabel=_("DAYS"); pdata.ymin=50LL*1000LL; pdata.ymax=5LL*1000LL*1000LL*1000LL; pdata.ytype=PTG_LogBin; pdata.YLabel=_("BYTES"); pdata.pngfile="graph_day_byte.png"; greport_plot(uinfo,&pdata); fprintf(fp_ou,"\n",pdata.pngfile); } if((datetimeby & DATETIME_ELAP)!=0) { memset(&pdata,0,sizeof(pdata)); pdata.datapoints=elappoints; pdata.npoints=31; pdata.XLabel=_("DAYS"); pdata.ymin=0; pdata.ymax=86400000; pdata.ytype=PTG_Time; pdata.YLabel=_("ELAPSED TIME"); pdata.pngfile="graph_day_elap.png"; greport_plot(uinfo,&pdata); fprintf(fp_ou,"\n",pdata.pngfile); } fputs("
\"B\"
\"E\"
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),wdirname); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),wdirname,strerror(errno)); #endif //HAVE_GD return; } void greport_cleanup(void) { #ifdef HAVE_GD gdFontCacheShutdown(); #ifdef USE_ICONV if (localtoutf!=(iconv_t)-1) iconv_close (localtoutf); #endif #endif //HAVE_GD } sarg-2.3.11/htaccess000066400000000000000000000002241324060677300142600ustar00rootroot00000000000000AuthUserFile /usr/local/sarg/passwd AuthName "SARG, Squid Analysis Report Generator" AuthType Basic require user admin %u sarg-2.3.11/html.c000066400000000000000000000526161324060677300136640ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" extern struct globalstatstruct globstat; void htmlrel(void) { FILE *fp_in, *fp_ou, *fp_ip, *fp_ip2, *fp_usr; long long int nnbytes=0, unbytes=0, tnbytes=0, totbytes=0, totbytes2=0; long long int totelap=0, totelap2=0, nnelap=0, unelap=0, tnelap=0; long long int incache=0, oucache=0, tnincache=0, tnoucache=0, twork=0; long long int ltemp; long long int ntotuser; long long int userbytes, userelap; char *buf; char arqin[MAXLEN], arqou[MAXLEN], arqip[MAXLEN]; char *url, tmsg[50], csort[MAXLEN]; char duser[MAXLEN]; char user_ip[MAXLEN], olduserip[MAXLEN], tmp2[MAXLEN], tmp3[MAXLEN]; char warea[MAXLEN]; char tmp6[MAXLEN]; char *user_url; long long int tnacc=0, ttnacc=0; double perc=0, perc2=0, ouperc=0, inperc=0; int count; int cstatus; bool have_denied_report; const char *sort_field; const char *sort_order; char siteind[MAX_TRUNCATED_URL]; struct getwordstruct gwarea; longline line,line1; const struct userinfostruct *uinfo; userscan uscan; if (snprintf(tmp2,sizeof(tmp2),"%s/sargtmp.int_unsort",tmp)>=sizeof(tmp2)) { debuga(_("Path too long: ")); debuga_more("%s/sargtmp.int_unsort\n",tmp); exit(EXIT_FAILURE); } if (snprintf(tmp3,sizeof(tmp3),"%s/sargtmp.int_log",tmp)>=sizeof(tmp3)) { debuga(_("Path too long: ")); debuga_more("%s/sargtmp.int_log\n",tmp); exit(EXIT_FAILURE); } tnacc=globstat.nacc; totbytes=globstat.nbytes; totelap=globstat.elap; ntotuser=globstat.totuser; sort_labels(&sort_field,&sort_order); uscan=userinfo_startscan(); if (uscan == NULL) { debuga(_("Cannot enumerate the user list\n")); exit(EXIT_FAILURE); } while ( (uinfo = userinfo_advancescan(uscan)) != NULL ) { if (snprintf(warea,sizeof(warea),"%s/%s",outdirname,uinfo->filename)>=sizeof(warea)) { debuga(_("Destination directory too long: ")); debuga_more("%s/%s\n",outdirname,uinfo->filename); exit(EXIT_FAILURE); } if (!uinfo->topuser) { //! \todo Instead of deleting the supernumerary directories, don't create them in the first place. unlinkdir(warea,0); continue; } if (access(warea, R_OK) != 0) { if (mkdir(warea,0755)) { debuga(_("Cannot create directory \"%s\": %s\n"),warea,strerror(errno)); exit(EXIT_FAILURE); } } tmpsort(uinfo); if (snprintf(arqin,sizeof(arqin),"%s/htmlrel.txt",tmp)>=sizeof(arqin)) { debuga(_("Path too long: ")); debuga_more("%s/htmlrel.txt\n",tmp); exit(EXIT_FAILURE); } if ((fp_in = fopen(arqin, "r")) == 0){ if (uinfo->no_report) continue; debugapos("html3",_("Cannot open file \"%s\": %s\n"),arqin,strerror(errno)); exit(EXIT_FAILURE); } if (snprintf(arqou,sizeof(arqou),"%s/%s/%s.html",outdirname,uinfo->filename,uinfo->filename)>=sizeof(arqou)) { debuga(_("Path too long: ")); debuga_more("%s/%s/%s.html\n",outdirname,uinfo->filename,uinfo->filename); exit(EXIT_FAILURE); } if (snprintf(duser,sizeof(duser),"%s/denied_%s.html",outdirname,uinfo->filename)>=sizeof(duser)) { debuga(_("Path too long: ")); debuga_more("%s/denied_%s.html\n",outdirname,uinfo->filename); exit(EXIT_FAILURE); } if(access(duser, R_OK) != 0) have_denied_report=false; else have_denied_report=true; if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } tnacc=0; tnbytes=0; tnelap=0; tnincache=0; tnoucache=0; while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("Invalid number of accesses in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } tnacc+=ltemp; if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("Invalid download size in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } tnbytes+=ltemp; if (getword_ptr(NULL,NULL,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_skip(MAXLEN,&gwarea,'\t')<0) { debuga(_("Invalid access code in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } tnelap+=ltemp; if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("Invalid in-cache volume in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } tnincache+=ltemp; if (getword_atoll(<emp,&gwarea,'\n')<0) { debuga(_("Invalid out-of-cache volume in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } tnoucache+=ltemp; } rewind(fp_in); if ((fp_ou = fopen(arqou, "w")) == 0){ debugapos("html5",_("Cannot open file \"%s\": %s\n"),arqou,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 4 : 2,_("User report"),HTML_JS_SORTTABLE); fprintf(fp_ou,"%s: %s\n",_("Period"),period.html); fprintf(fp_ou,"%s: %s\n",_("User"),uinfo->label); fputs("",fp_ou); fprintf(fp_ou,_("Sort: %s, %s"),sort_field,sort_order); fputs("\n",fp_ou); fprintf(fp_ou,"%s\n",_("User report")); close_html_header(fp_ou); if (have_denied_report) { fputs("
\n",fp_ou); fprintf(fp_ou,"\n",uinfo->filename,_("SmartFilter report")); fputs("\n
%s
\n",fp_ou); } fputs("
\n",fp_ou); fputs("",_("ACCESSED SITE")); if((UserReportFields & USERREPORTFIELDS_CONNECT) != 0) fprintf(fp_ou,"",_("CONNECT")); if((UserReportFields & USERREPORTFIELDS_BYTES) != 0) fprintf(fp_ou,"",_("BYTES")); if((UserReportFields & USERREPORTFIELDS_SETYB) != 0) fprintf(fp_ou,"",_("BYTES")); if((UserReportFields & USERREPORTFIELDS_IN_CACHE_OUT) != 0) fprintf(fp_ou,"",_("IN-CACHE-OUT")); if((UserReportFields & USERREPORTFIELDS_USED_TIME) != 0) fprintf(fp_ou,"",_("ELAPSED TIME")); if((UserReportFields & USERREPORTFIELDS_MILISEC) != 0) fprintf(fp_ou,"",_("MILLISEC")); if((UserReportFields & USERREPORTFIELDS_PTIME) != 0) fprintf(fp_ou,"",_("TIME")); fputs("\n",fp_ou); if(debug) { debuga(_("Making report %s\n"),uinfo->id); } count=0; arqip[0]='\0'; while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword_atoll(&twork,&gwarea,'\t')<0) { debuga(_("Invalid number of accesses in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&nnbytes,&gwarea,'\t')<0) { debuga(_("Invalid number of bytes in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword(tmsg,sizeof(tmsg),&gwarea,'\t')<0) { debuga(_("Invalid access code in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&nnelap,&gwarea,'\t')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&incache,&gwarea,'\t')<0) { debuga(_("Invalid in-cache column in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&oucache,&gwarea,'\n')<0) { debuga(_("Invalid out-of-cache column in file \"%s\"\n"),arqin); exit(EXIT_FAILURE); } if(UserReportLimit<=0 || count<=UserReportLimit) { fputs("",fp_ou); if(IndexTree == INDEX_TREE_DATE) sprintf(tmp6,"../%s",ImageFile); else strcpy(tmp6,"../../images"); if((ReportType & REPORT_TYPE_SITE_USER_TIME_DATE) != 0) { url_to_file(url,siteind,sizeof(siteind)); fprintf(fp_ou,"",uinfo->filename,siteind,tmp6,_("date/time report")); } else { fprintf(fp_ou,""); } if(Privacy) fprintf(fp_ou,"",PrivacyStringColor,PrivacyString); else { fputs("",fp_ou); } if((UserReportFields & USERREPORTFIELDS_CONNECT) != 0) { fputs("",fixnum(twork,1)); } if((UserReportFields & USERREPORTFIELDS_BYTES) != 0) { fputs("",fixnum(nnbytes,1)); } if((UserReportFields & USERREPORTFIELDS_SETYB) != 0) { perc=(tnbytes) ? nnbytes * 100. / tnbytes : 0.; fprintf(fp_ou,"",perc); } if((UserReportFields & USERREPORTFIELDS_IN_CACHE_OUT) != 0) { inperc=(nnbytes) ? incache * 100. / nnbytes : 0.; ouperc=(nnbytes) ? oucache * 100. / nnbytes : 0.; fprintf(fp_ou,"",inperc,ouperc); } if((UserReportFields & USERREPORTFIELDS_USED_TIME) != 0) { fputs("",buildtime(nnelap)); } if((UserReportFields & USERREPORTFIELDS_MILISEC) != 0) { fputs("",fixnum2(nnelap,1)); } if((UserReportFields & USERREPORTFIELDS_PTIME) != 0) { perc2=(tnelap) ? nnelap * 100. / tnelap : 0.; fprintf(fp_ou,"",perc2); } if(strncmp(tmsg,"OK",2) != 0) fprintf(fp_ou,"",_("DENIED")); fputs("\n",fp_ou); count++; } else if ((ReportType & REPORT_TYPE_SITE_USER_TIME_DATE) != 0) { url_to_file(url,siteind,sizeof(siteind)); snprintf(warea,sizeof(warea),"%s/%s/tt%s-%s.html",outdirname,uinfo->filename,uinfo->filename,siteind); if (unlink(warea)!=0) { debuga(_("Cannot delete \"%s\": %s\n"),warea,strerror(errno)); } } if(iprel) { if (snprintf(arqip,sizeof(arqip),"%s/%s.ip",tmp,uinfo->filename)>=sizeof(arqip)) { debuga(_("Path too long: ")); debuga_more("%s/%s.ip\n",tmp,uinfo->filename); exit(EXIT_FAILURE); } if ((fp_ip = fopen(arqip, "r")) == 0){ debugapos("html6",_("Cannot open file \"%s\": %s\n"),arqip,strerror(errno)); exit(EXIT_FAILURE); } if ((fp_ip2 = MY_FOPEN(tmp2, "a")) == 0){ debugapos("html7",_("Cannot open file \"%s\": %s\n"),tmp2,strerror(errno)); exit(EXIT_FAILURE); } if ((line1=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),arqip); exit(EXIT_FAILURE); } while((buf=longline_read(fp_ip,line1))!=NULL) { getword_start(&gwarea,buf); if (getword(user_ip,sizeof(user_ip),&gwarea,'\t')<0) { debuga(_("Invalid user IP in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_ptr(buf,&user_url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (strncmp(user_url,url,strlen(url))!=0) continue; if (getword_skip(15,&gwarea,'\t')<0) { debuga(_("Invalid day in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_skip(15,&gwarea,'\t')<0) { debuga(_("Invalid time in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userbytes,&gwarea,'\t')<0) { debuga(_("Invalid size in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userelap,&gwarea,'\0')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } fprintf(fp_ip2,"%s\t%"PRIu64"\t%"PRIu64"\n",user_ip,(uint64_t)userbytes,(uint64_t)userelap); } longline_destroy(&line1); fclose(fp_ip); fclose(fp_ip2); if (snprintf(csort,sizeof(csort),"sort -n -t \"\t\" -T \"%s\" -k 1,1 -k 2,2 -o \"%s\" \"%s\"",tmp,tmp3,tmp2)>=sizeof(csort)) { debuga(_("Command too long: ")); debuga_more("sort -n -t \"\t\" -T \"%s\" -k 1,1 -k 2,2 -o \"%s\" \"%s\"",tmp,tmp3,tmp2); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if ((fp_ip = MY_FOPEN(tmp3, "r")) == 0) { debugapos("html8",_("Cannot open file \"%s\": %s\n"),tmp3,strerror(errno)); exit(EXIT_FAILURE); } if (unlink(tmp2)) { debuga(_("Cannot delete \"%s\": %s\n"),tmp2,strerror(errno)); exit(EXIT_FAILURE); } olduserip[0]='\0'; if ((line1=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),arqip); exit(EXIT_FAILURE); } while((buf=longline_read(fp_ip,line1))!=NULL) { getword_start(&gwarea,buf); if (getword(user_ip,sizeof(user_ip),&gwarea,'\t')<0) { debuga(_("Invalid user IP in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userbytes,&gwarea,'\t')<0) { debuga(_("Invalid size in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userelap,&gwarea,'\0')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if(strcmp(user_ip,olduserip) != 0) { if (olduserip[0]!='\0') { fprintf(fp_ou,"",olduserip); if((UserReportFields & USERREPORTFIELDS_CONNECT) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_BYTES) != 0) fprintf(fp_ou,"",fixnum(unbytes,1)); if((UserReportFields & USERREPORTFIELDS_SETYB) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_IN_CACHE_OUT) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_USED_TIME) != 0) fprintf(fp_ou,"",buildtime(unelap)); if((UserReportFields & USERREPORTFIELDS_MILISEC) != 0) fprintf(fp_ou,"",fixnum2(unelap,1)); fputs("\n",fp_ou); } strcpy(olduserip,user_ip); unbytes=0; unelap=0; } unbytes+=userbytes; unelap+=userelap; } fclose(fp_ip); longline_destroy(&line1); if (unlink(tmp3)) { debuga(_("Cannot delete \"%s\": %s\n"),tmp3,strerror(errno)); exit(EXIT_FAILURE); } if (olduserip[0]!='\0') { fprintf(fp_ou,"",olduserip); if((UserReportFields & USERREPORTFIELDS_CONNECT) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_BYTES) != 0) fprintf(fp_ou,"",fixnum(unbytes,1)); if((UserReportFields & USERREPORTFIELDS_SETYB) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_IN_CACHE_OUT) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_USED_TIME) != 0) fprintf(fp_ou,"",buildtime(unelap)); if((UserReportFields & USERREPORTFIELDS_MILISEC) != 0) fprintf(fp_ou,"",fixnum2(unelap,1)); fputs("\n",fp_ou); } } unbytes=0; unelap=0; } fclose(fp_in); longline_destroy(&line); if (iprel && arqip[0]) { if (!KeepTempLog && unlink(arqip)) { debuga(_("Cannot delete \"%s\": %s\n"),arqip,strerror(errno)); exit(EXIT_FAILURE); } } if (!KeepTempLog && unlink(arqin)) { debuga(_("Cannot delete \"%s\": %s\n"),arqin,strerror(errno)); exit(EXIT_FAILURE); } if ((UserReportFields & (USERREPORTFIELDS_TOTAL | USERREPORTFIELDS_AVERAGE)) != 0) fputs("",fp_ou); if((UserReportFields & USERREPORTFIELDS_TOTAL) != 0) { fprintf(fp_ou,"",_("TOTAL")); if((UserReportFields & USERREPORTFIELDS_CONNECT) != 0) fprintf(fp_ou,"",fixnum(tnacc,1)); if((UserReportFields & USERREPORTFIELDS_BYTES) != 0) fprintf(fp_ou,"",fixnum(tnbytes,1)); if((UserReportFields & USERREPORTFIELDS_SETYB) != 0) { perc=(totbytes) ? tnbytes *100. / totbytes :0.; fprintf(fp_ou,"",perc); } if((UserReportFields & USERREPORTFIELDS_IN_CACHE_OUT) != 0) { inperc=(tnbytes) ? tnincache * 100. / tnbytes : 0.; ouperc=(tnbytes) ? tnoucache * 100. / tnbytes : 0.; fprintf(fp_ou,"",inperc,ouperc); } if((UserReportFields & USERREPORTFIELDS_USED_TIME) != 0) fprintf(fp_ou,"",buildtime(tnelap)); if((UserReportFields & USERREPORTFIELDS_MILISEC) != 0) fprintf(fp_ou,"",fixnum2(tnelap,1)); if((UserReportFields & USERREPORTFIELDS_PTIME) != 0) { perc2=(totelap) ? tnelap * 100. / totelap : 0.; fprintf(fp_ou,"",perc2); } fputs("\n",fp_ou); } if(PerUserLimit > 0) { if ((int)(tnbytes/1000000LLU) > PerUserLimit) { limit_flag=0; if(access(PerUserLimitFile, R_OK) == 0) { if((fp_usr = fopen(PerUserLimitFile, "r")) == 0) { debugapos("html9",_("Cannot open file \"%s\": %s\n"),PerUserLimitFile,strerror(errno)); exit(EXIT_FAILURE); } while(fgets(tmp6,sizeof(tmp6),fp_usr)!=NULL) { fixendofline(tmp6); if(strcmp(tmp6,uinfo->ip) == 0) { limit_flag=1; break; } } fclose(fp_usr); } if(!limit_flag) { if((fp_usr = fopen(PerUserLimitFile, "a")) == 0) { debugapos("html10",_("Cannot open file \"%s\": %s\n"),PerUserLimitFile,strerror(errno)); exit(EXIT_FAILURE); } fprintf(fp_usr,"%s\n",uinfo->ip); fclose(fp_usr); if(debug) debuga(_("User %s limit exceeded (%d MB). Added to file \"%s\"\n"),uinfo->label,PerUserLimit,PerUserLimitFile); } } } if ((ReportType & REPORT_TYPE_TOPUSERS) != 0 && (UserReportFields & USERREPORTFIELDS_AVERAGE) != 0) { totbytes2=totbytes/ntotuser; totelap2=totelap/ntotuser; fprintf(fp_ou,"",_("AVERAGE")); if((UserReportFields & USERREPORTFIELDS_CONNECT) != 0) fprintf(fp_ou,"",fixnum(ttnacc/ntotuser,1)); if((UserReportFields & USERREPORTFIELDS_BYTES) != 0) fprintf(fp_ou,"",fixnum(totbytes2,1)); fprintf(fp_ou,""); if((UserReportFields & USERREPORTFIELDS_USED_TIME) != 0) fprintf(fp_ou,"",buildtime(totelap2)); if((UserReportFields & USERREPORTFIELDS_MILISEC) != 0) fprintf(fp_ou,"",fixnum2(totelap2,1)); if((UserReportFields & USERREPORTFIELDS_PTIME) != 0) { perc2 = (totelap) ? totelap2 * 100. / totelap : 0.; fprintf(fp_ou,"",perc2); } fputs("\n",fp_ou); } if ((UserReportFields & (USERREPORTFIELDS_TOTAL | USERREPORTFIELDS_AVERAGE)) != 0) fputs("",fp_ou); fputs("
%s%s%s%%%s%s%s%s%%%s
\"T\"%s",fp_ou); if(BlockIt[0]!='\0' && url[0]!=ALIAS_PREFIX) { fprintf(fp_ou," ",tmp6); } output_html_link(fp_ou,url,100); fputs("%s%s%3.2lf%%%3.2lf%%%3.2lf%%%s%s%3.2lf%%%s
%s%s%s%s
%s%s%s%s
%s%s%s%3.2lf%%%3.2lf%%%3.2lf%%%s%s%3.2lf%%
%s%s%s%s%s%3.2lf%%
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),arqou); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),arqou,strerror(errno)); htaccess(uinfo); } userinfo_stopscan(uscan); return; } sarg-2.3.11/images/000077500000000000000000000000001324060677300140075ustar00rootroot00000000000000sarg-2.3.11/images/datetime.png000066400000000000000000000003071324060677300163110ustar00rootroot00000000000000‰PNG  IHDR ©¬w&ŽIDAT(‘c000ø 322†þÿÿŸ†@‚Ø~Å (4IŠeeeL†}@<¨)§blîgbb2ÁpsJTÔ˜Œþúõ+˜Í€n‚ºº:†b›™™Y ä.$|Y12†û†`&¶àĪh“>LqggçÿÏŸ?ÿ_³f vÅ ,!!as; óññqbÝDœÚ8wIEND®B`‚sarg-2.3.11/images/graph.png000066400000000000000000000001371324060677300156170ustar00rootroot00000000000000‰PNG  IHDR ©¬w&&IDAT(‘c` ü‡Â ¦H1Pä?70@%鍸?TIÃÿa¯óûƒ‰Õ‰kíIEND®B`‚sarg-2.3.11/images/sarg-squidguard-block.png000066400000000000000000000004431324060677300207100ustar00rootroot00000000000000‰PNG  IHDR à‘êIDAT(‘c¸Îªóö,‹fÈÿÿÿpa†CÂÆWXµî”¶°C–8œÎsM»¶TVW™aEg?Ó÷ÎK¬Z/–j:h‚œÔõ”>Ŧu²F@e·­–7\ç~m·Ž Æ/Žª»$ìfÓx‘&¯Ó·ÙŠÓ<ú›n2hüOQ3œ„â&ã“VÐVµoK„t7]fÒ<¹›W—EÑ &­ÃLjß‚¥Uƒ@ü}:î—5ŽäÖ+:-`rQãg¾„F'²'Y4BγjÚ.e®Ãp@Ôtö$!­·~~üèá³^ÆÜn¹ˆÞJ‘­ç‚…ÊYIEND®B`‚sarg-2.3.11/images/sarg.png000066400000000000000000000157611324060677300154630ustar00rootroot00000000000000‰PNG  IHDRR))«éθIDAThÞÕzyxUE¶ïZUµ÷>C&¦„„FgpÂmA *ÝΊW§îÛ-jÛ*“ãS[mmADmeœ„0&'™“3î©jÝ?NHsi»ß»÷{÷}ß[íïìªSµj­Uë·~k#ÁEˆáX«$ö†ˆ‰-⿟ ÿÛ¡ þÏ·b‰«íÇ*N¹Œü)^Ïó·dø2 Ï]¨su  VÁÁ–ÐÞ¨&®ÇÝ‹üƸÞ)]@°_PÀ!¨k7ë]ªÛMµ4Ä".þK<88³K ‚öz%,á´7Ýý®j$Ûí¥ÔÍéI™ü?OùWjÓ™¡ U†=%GBNr×´ý_|Ru²ÌeìÒÁƒÍqcõé7¸kRÒ?ø‚-[ª\&J–,.Þñ³ƒzNNÎጴ9Ü×@?k¹8@• _l(¨³½6÷iLùе[OÇ›NW+E¡•]sõ&Á~7n´þ§K@ÀO±˜4¼'7®Ý¾vCSKóÅ—js㈠.º²{ŠOaÇá?qrÖˆ,-8¡iÆw¼öí§ÏšýxîˆÑõÂpëW\‘“Ñó’ô ÎR;pRRù‰Š ]Œ=úš¡C¦åM"TQ-© &*¥|kæ]IŠ€I€ú8|øíO½ûÿîKÏ”í°[N¹#rs@ï@ö‘Wo,>Ô=³WRŠöؽ¿>çÈB{]·¾½­§RcsFžŸ™q÷„‰@ ¬{ZÃýú sA¿AY=;vˆÿ:¶]€V€?íºÿÏï½ãWæëó_Ç´.’s)Åcë¶m·ÒÒú÷é=,-ÍÖÄ6‚'ƒI>ÿ¯GxwþüA×ÞhÓ;½[ÔáÕבKs÷t Pm§_,5ð’û¦N|fÖã}zõÌÍÍÍÎÎvB1«ª©-3£GWƒÅ^ø|çüOÓÇû H!Fl§4Ô^Q^>ëúѯÏ_8õ‰–B&Á§sÂw?niQbØà+†¦§ø@ý kwH`ñÖ2¡ß¼÷ª‘â½{îë‡[CN’|:ÓE†´.w­ {t_¾§Øëñ\Õ£Ç%ééˆ`T”=™ÌÙM·}å½Obzj3hq‹D4ÖÍÜuõÀô”äW>\Q~äȪþмW匸êá»Æ¼öÊË— }¬®½>&OÖ·µX„†Á JÖìlŸu×m¹>ôÁøãÞ› `tdCcS˾=³g>ùÁú ”Õ«FçQ.È•]Ls`,~iÏK¶Ù±ø­ÏÈä¿x©$ÄhV°|Ͷýò÷Ì.£|²¨©=äKru cMì­oø|ÃÆ›†^™ih,Yz¨©É°‚q§ñÎ17þû3½}š”'j’“‘¸*Ú[ò΢…i>`%e§~.ª(Þ_n¶·Ý{÷Ô×}z¼Íûêç;¿ÜÜTT¬ubi…-;ìFbüDØÿûE+b§CÏ?üKï;sÑ'MU¡èé`õñÒ#<5gåîÝ YY'¼ž¨¦!"cL2^\W»xý¦ñ×ËNÒ|øQYc«óÏÔ&"àÛŸO4Yžeÿ/Š^wÏýÕ"Õ1¼B0ÆGƈ±ÌÌÌß=÷œг{z¯¾½¼ý@Mu}Yù)‹kSx¨º©=bƒSVLÆã<=½ï®ü"ÈîÙ7uÞŽü’;÷Ó•uíè¡KÊ͈e·›VÈ´B¦¶¬°eGíhĉÇ1­[Ö¤¼iпo=/­\¿ãxe{iÙf<òÙ®üº'"t¥Iud>†™Y¿}~dggzg/\ô&ýâMNâ©Ú¶â‚–öð‘Óͯÿù£üÆ0ò‘S´~}ÁÖM³Ÿ{Æ8¯¯ÐIBC}b¢î1*ª«[[C3þÚsÏÏzúÛK*c&¹¶#MéÆlŠFƒå¥eù» ¼¬Ük$íÌ?”$ì¶ÓåS&M:^nFÛ}—Š[¨s©¹Ìádåj†+L°¡Ê Àt©Gf KŠ_gžû§Ý³¹¬¤ØTaÝ €ˆ#b(€<’ ¾A ¢Ï竨 Ò/Z[´Køa潺._øêûKWªuuÃÏ(ËŽm~sÁ…^#à÷zàá=Åà* ž®2¥ÚNÔÖ2\sʽӎ7ÔG嘮sܨíDìö†–99Dp:ØXz¸rÀ€+ÃU°iíÕ#®øé§=á¨0CÊi[µÇ+wWòý¢Ò ÆÈi3fɰ%ã€I"59­ºp÷C“'ýqõw{cv„1×ÊË_¾eÌ;<”‹y¥‹ˆÀY"3Æcˆˆ¿dmå;Ùàž<Ú¿å¯÷=þàéPÄ2’$×t K>‡Úà‚EÛNZ¶â¨€ª›{¾Ü°¤Ú_¸gDîU¦láøÒóÏ?7ûÙü’ÚJ³léÄ7îʸC¦ã:΀@0ãáæÆºö–Ö¬Œž09ï†×¯ÓRÝkj©.j:þ·ÞßôÉy—æÜ¶xSµT© ´æ–Ó‰]¶7·Ç[Ú—¾¿púý¿ÎºèÒc¦#û,gñËsõÊÊ·ß{'"tBh¬«E€åرh˜“dÿhm"€m?ïKÏèW¸eë“O?U|21ü’sÁàç-›§Ï˜a$%¹ŒIhÛ÷«ÏÏÌjU2ÊÅæeË.î•]sìäýe1á=áî m¦C,+-Ø qË;NÌv-ˆ€sÀfÕ§j«*êoŸ8ýà¡X<âÚ±¸Œ†BÍuÿ6kVeUð… ¯¿ázÓtœ¸éFBuÇ»ôêÅ‚‡÷þ”é?v¤¡Å"fÄãë>ùäØšÞ_ðFŸó.4…p9£‡B·.1€°?zøÐyY=ñœQ”””í=pý”»Û%*Æιj;tà¾ñãRI%G#¿ùfÿ7«* ÷Ü5a‚iZá(ø¼W»2CÙï<þØÒ•«÷;帄ñX¬î䩽;UÌrMåÄ]iQÅbÌëíÒÖÚp¤ôàˆ7¯_WhF¤ŒD!Öd·×Ž1˜\‚Ÿvìsc¤b…O”š{uÉ‘š¸Û>ûóãOÏ)khu$Ëé oÿëÌ|b¸ñ!%cŒ P°í‡ïG ÞâR\Ó¿ùðýë‡ç¨MÁ¾§Ò(¾á‹'LžV¬MG΀!0£‡½”ó~5µÎêo~X“{Íè † O³­Oç½1⾇ö7·nÚ°áüK/ödªãd: lw×–­ @ÛEÓñöºG‰¼[·r,ËŽ¶ên{[õÉÉ“n+*<àÄ]+mi8š6å6`IX²|­e*ˆÛžH8zâÄļ{Šåèøº§Œ›>½¢)äHÔ,gý—ŸSMðÙ™O¸ ¶Œj†ƒ¨)ulͺߌ¿ÓŒÅÃq€Mž<õ\LN !"œ0îêuEeÄc ”Ærïùu€ 'wÄÊœ!Ä˲”zýÁ‡zŸýâÜúúÆ·~ÿÛ5»Š÷ž¬mC¯)]t ñÐñÝPÑf:ëBÞ¤©Jj¦ixônݺ§öÈèÒ3 òm÷† UO¼óp,|gÏ©`*ù|:‹—Û ÐxõM9 ¼Ý|ªdά™G*š#”LŠrÖ.[úÄ£eddøLòõdW×Ö èúM·Þz¸±eÅ'ÿjâ„„¦Œˆ:"à™KT\3L$@‹‰ïèÅ¿®¨Ø¿m™Ÿ™üéÑ‚ÔçK7ÔÖ¬_¿¾ÏU£}YýZâ6H¥»‘£{v@[sŸžÒQŽ#¥©¤ H ¥°LÏ×]Úí¹9ÃÖ®kdzËP¶)­Ú¼)¿’kÖýø³u13ŵ˜´ãåÅÍ|tËÖC}û\þÝÒ¥§ÜYpàˆEšn»{7o‚Ó ÏΚå×´šêj¬®TJ…”܉…šöï;úÍê网@%âXŽHe #`Œ!J…J Äu¡8?5Éjl¹¢G×Í;võèÞý–!ƒÆÞqÇ'ËVÔ4·¦“óÕK/.ݺm_U­M]Ëo·ïÛ¶aÔ„ñ­¶RàZÂn•-5DÞõó]•ßµõÛ%K—|¿z‹m’lWµø{÷»iÌØ/Š5êFº†–íU5À ßÿýsß[éKN¹qÒoZbL*DÇñZjïO[ožtg¯@@g]`4¶¶œ8vü•™Þµ=;¨Yg± HàA¸bPÿ¸'¥oÎu^„až—Žˆˆ’3 kñÖ­å¡ÐÄ«GöB5æ®{>Y¾¢áTKëöŸ¶õtYúùç5ØŽ‹$¤ÕxäTŸxzöœææ°RR¡” ¬¼‰—#´jGšÜÉ“¯.Ú]ª\Ÿt5×镜úÀèÑïìj"Û.reñ£­E÷ÏžûùòMÛZñîü‰SîÞw䤣˜îºiV´~÷λ&æ5|Ûù4N¯…cEÍ tÍ“ä[¾rEvvv§²ìï¦ÆŽò¦ÿfÒã®ï3“y/KU‚+Ñaââoxé­·»ôMK:óñ÷¶l 8>ÏŸf=þìÌ'Ë«ÃÜoGRö]8ø¢ .ê.ÑdÊ% gJšLµ™ñ†!î.,Œ«š][Ç@åFQ))NJ‘2]«áxÉš.™"¹çe{Ëãmmm c·y¸¼TѾ];@º£'ŽÝYÓpÈ´Ž™vLèÄ·W­Úz¸¬wjÚ€®éo½÷A„@žqjÖYwêïœÎ‡õϬu´ýÕñ‰9ñ“|®Ãˆ‘ËXLèÊŸ|hÿþ~=3S3³ÞýtqS{äpÙ1-ÐïêÛn­ Ç,äT¨éô‰-?L¿sluÐt(Ù!Fàœ>]³¬ûq £¸²Ãy“î)**EÅð¬Š@)""FQÍ-«?µ-µgÿIwÍr ™eåûoºslE=˜àW¨@ù±²ëÆÝ¨jmU I)—HšÑØ›‹p@ÕÐÔôõêÕÁÌÎáe:Ð5Àèë¯íÞ¯ÿ·6šu-ÏäÝ­ª4¤B à"OÏêµzå× ]7&>üFZÿøÔ“>ÿ¾ê‡q†d(jm ŸwãÄ·ÿæèé°Ã|œ1&‘Ýxÿ…'f5E­87×qŒ#äÈrÎsΨ±î'wËö¨„ìp44öÎñë7„%õž¢é ȾUÎ_èZ; …æMêF #ÁÀK/Έ8ä ¿xoÙqb†niáÏ@êÚ!ƒÒóà–õ¥8‘GÚÇŠ÷´íÙsÝða‘H´ôèÑä@ïìììÎû‹qu €w>ßi©n›þúaRmÑe¾XìÔеWUU%܈P’áBIñ>›±(@’ë~óçátݸ¼IÇZC!ßæˆH(ˆóÎa ç‚q‚!b^^!h:ZñÆ©ywì;Xδ¡sär«æÍê« nqCq¾Ô]ùÅÐ3£;× º.xû¤IÀ9gŒ!gÄp̤IÀ5ý23ì!m(IÑö5ëúŒyñÁh9 æ¾ôô¬'0”:c›ˆ$@D±O—®6Wnþþ+‡k|ù•Ù®½çŠì’ß%9–T )dš‚®fìІ‡^uU[<ÞÍ´¶~ùeÞSsb^¿£iÈr ‘3àLp 7 ˜†Bç\‰”©iNïÞÝÀÈÍ]¿)Ÿé©Â#%…{fe<õÔo2³’¼[xIÓ™GSí 5€À…ôiñÚê2›‹Â#ͨëL ˆœ* NÁ°Ûïp5á'——9¼äËÛ§N ¶µû[[¢{öüz„„o"¨pšpï` |·v[レšcÏ-úìÝ5?_´çð£Ón+ؾùÇâƒG#­Z’ ÜïØ§ŠŠàtíØÉSë#ÑöêZ¨«ÿ·§Ÿ«ŽYŠqPÀ‘i$+Þ¸®éÐî–Š¦Éó¿°=~f3ÍPÑšÃ#;wîèÙ«ïàœQšZÛ…/I¸V´¥>7çJ†0dˆîñ·Y¼'Ó’¥'CïÚG Œ¾jøÞ’zÆô¼ÉSãL¥ ˜Ò­{¸R4¬«¬k2R˜¦'-[ü%¦¦Myආ†×^xቇîÛ+“H"òBEÈüyKFŽºsî¿]µeëçwªÔ¬°%Ê—N3¼µGÿ½u­Nr ì¢è×^0p åó„¥3ÿ¯ô¿ìÒ¸ßÓ$c°$×”•e¯>ò:ž3lø}3è;äºu¥!Mq©kÂcÀ”¼1G}]UU:<çú*Õ½>àÌ«d½lÉ›<[@vßÌ`“àšà†P ¿^¹+»ooÝc  É„Î]]s½Z÷¡¹Ø¿ï;‡T’WŒ£j«­ÊÿËG/ΛŠÅB–›¿fí²cÇXg€DñoÝ^ÒZ_YXðó½OÍ- Fe€äаæÿbo¥î×t¿áW2Årþöåç­û,Þ]4-Sªý7~¿sW“ë„ ]Ið Ûµy³hEe¿@–p°&*Žâ’sä6&nQp4¦&Mž¶nÓ~ÍïEA ƒ ÊÎ 8ƒ¡WªßÑ@šOèØ-½'¢sáf /- Q¦uñ1ÑøÆ@=û÷³ Mš_É@,þÀÔ)зÏ÷ß±í÷ß;ãÉ™½{În' 0ð’‹Ú"fk{ô™Ù »|J“” H’r%I¥xãfÅ7«¶/Z8åå—£™æº™?Od.<¨Ùqm¡ãÐK>Ÿ6qÜiWU„êZ[Á+4/¤nõɃ’tÃPL ž™¿÷g-II̤p÷¬”^½»B:7’D’?î6Ö—nÞ±»xñw;”?ó‚AWÖƒýºë]¼à𯹯„†Œjä#µà‰¬øf÷îRÛþÛ¶mCGäÌyõ•P¥*@•@i€=ÒùÜ{þ€Àw«–º¼Ç5ç%Gç +ª\"WrÇM1£[—,þìwsn»kÒ5÷ÞWÇyË>´dÉãsžªˆ›R É÷ø½P_ÿ쓳ëšCOÿáÊ–xÈ&æÑ5Ÿ.¼šÐµ›'MB€K.ê W€ðeé¾$Ÿ_´7ŸÌͲéç£ûÊ[‡¡ƒûwó´ß»º¼hÙ­¯Ï4zû±¸•Ô#páÅ› ‹€ÛG_Ñ……<ºä:GMtåìÜþÌèQeë7~¼vm5c'RS’ÆŽòÒÜå.||âd¨£Õs†PJ¤%‹è‰—þöċߤ-_¾œíØU4êöIÙÃF÷9æü«n¦À¬Y³ˆ( DÆÃDÁ¸ùðÂy—NœpŸ;¬ÞCFLüg »Oœ(ØþÌ‹}ro ¿!­ÿeãó¦%ÞÎ[øN]«ûÑÒM]úìÖg÷u_¶|}µìëŸó÷—­yõõ·{ú-[¾21~âĉ›f¸tÅJ‡èÓUßn¾cÚïžëø¬!Éœœœ`0HDË—/ïÀœCjڳソ`媢8‘J¤aEwáw¿K7RKïÓYûª‹;Qj~~~UUe"ÕMž<ùŸõzW¬XÑùœhâœý6???‘ù ;»Wnnî™Ä)«««óówÿ}b »³M›Ÿ¿3dg÷9«Ã÷÷Î\â—ꪪ‚‚‚+VäååõdçäæÐÙ@;±ÕÀkßop]÷÷nKÀÐQ4÷íGJËœØ^BuINy{p¯&¼Bx5ͧé.|B÷hÌ@ÍLãÌàB0ÔsF C@¢DiIÊ•RÙÊu]e)é¸Ê"×U‰giƒkÛÊ)‰\"©¤”$ÿ¾ËÉBqΙ@äœiÀtMˆ‚qC sq]0L׸@&1”@œs`€J‘Ƕ“ãѾ]»À÷ß­­«®œ3cF*õµuuµµv¤z[Áš«&¾¯ü®HÖ¼)†–¢{R #E7’ -‰I†æg†×.× À80ƒŽú€ˆqåJE\º¹dÛ$m寕4]Ûvݸ+MåÆ]×–Òt¥£”#¥£”RÊM”\ ˆç5âœ3 3¹G: ¯¦y”ðpM' u¦r9i¨ˆsŽH H¡B¥”ו]Lwöƒ®úäÃË.¾,X]3ç·/~ôúKÒ32vî*¸°o€ŒÖoÅß~2|"ìášO^!¼\ójÂàÜ#tÆ5Æ Æ4Æ5ÆCÁcÀ)å¢B)%IR.)GIIà(Ç–ÊQÊqÉVR’rUÂ)@‚Rª³:S«`ByÆ9çtàœsqŽÌà\cLãL 38c@œqÎQ`B:Õ ¥”^Ëîüfÿäèi1×=¬DÁ¼ðìuÛ¶~|²ªUº0ïù_U}Ęè¸ù¢ÑÖý>·tMÄïÈìFþ÷ä¿ÿ?ŒÈa¬žè–_ÝZlqü)ëW­3ô If+zÍ3Mß¹åUýüË”ÿ‹¢Î9úsøo  ôDÐU4oî‹IÒú~Ù†Ì)bÌ…«nœ¡K˜¿—Hžd]KÖŒ‘¢éɆî×t¿®' ݯk>!¼B÷é\稣ÐÓã€ÀQ1IP”KÊ‘Ê%å¸ÒQ‰xN8¿RJ: ¸®‹*Aà²NGEŒ1&€ Žq!PBpÔ™ŒkLh"#âŒ1–8‚ÄÒJv,¦D3~žÆ¿zvvªY¹êë3Lévˆâ-·>ZP|¨#r¢@& ãœ38çÄ‘q@œ#0ž Bc ÔÉÀ&Ð/%˜g%Ïü´”2që ¢R Yb$€Ž(Iœ<#À©ƒ|A$FçÚš:ЈR q×ÕkßöíãÇŽ]½rÅß¿É9[íÄ1Ÿ„ÿKNõÿÞÿ…tá ½:AǹÖþÏ ¨³«ñs˜¶ÿåì/UÔ"`!Ð)]o(IEND®B`‚sarg-2.3.11/include/000077500000000000000000000000001324060677300141655ustar00rootroot00000000000000sarg-2.3.11/include/btree_cache.h000066400000000000000000000003271324060677300165640ustar00rootroot00000000000000#ifndef BTREE_CACHE_H #define BTREE_CACHE_H void init_cache(void); void destroy_cache(void); char *search_in_cache(const char *key); int insert_to_cache(const char *key, const char *value); #endif //BTREE_CACHE_H sarg-2.3.11/include/conf.h000066400000000000000000000265071324060677300152750ustar00rootroot00000000000000#include "config.h" #include "info.h" #include "btree_cache.h" #ifdef HAVE_WINDOWS_H #include #endif #ifdef HAVE_STDIO_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STRINGS_H #include #endif #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_TIME_H #include #endif #ifdef HAVE_SYS_RESOURCE_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #if defined(HAVE_SYS_DIRENT_H) && !defined(HAVE_DIRENT_H) #include #endif #ifdef HAVE_DIRENT_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_TYPES_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_SYS_STAT_H #include #endif #ifdef HAVE_CTYPE_H #include #endif #ifdef HAVE_ERRNO_H #include #endif #ifdef HAVE_SYS_WAIT_H #include #endif #ifdef HAVE_GD_H #define HAVE_GD 1 #include #endif #ifdef HAVE_GDFONTL_H #include #endif #ifdef HAVE_GDFONTT_H #include #endif #ifdef HAVE_GDFONTS_H #include #endif #ifdef HAVE_GDFONTMB_H #include #endif #ifdef HAVE_GDFONTG_H #include #endif #ifdef HAVE_STDARG_H #include #endif #ifdef HAVE_INTTYPES_H #include #endif #ifdef HAVE_LIMITS_H #include #endif #ifdef HAVE_WINSOCK_H #include #endif #ifdef HAVE_MATH_H #include #endif #ifdef HAVE_LOCALE_H #include #endif #ifdef HAVE_EXECINFO_H #include #endif #ifdef HAVE_LIBGEN_H #include #endif #ifdef HAVE_STDBOOL_H #include #else typedef int bool; #define true 1 #define false 0 #endif #ifdef HAVE_FCNTL_H #include #endif #if defined(HAVE_FOPEN64) #define _FILE_OFFSET_BITS 64 #define MY_FOPEN fopen64 #else #define MY_FOPEN fopen #endif #if !defined(HAVE_BZERO) #define bzero(mem,size) memset(mem,0,size) #endif #if defined(IBERTY_LIB) && !defined(HAVE_MKSTEMP) int mkstemps(char *template, int suffixlen); #define mkstemp(template) mkstemps(template,0) #endif #if defined(ENABLE_NLS) && defined(HAVE_LIBINTL_H) #include #define _(String) gettext(String) #ifdef gettext_noop #define N_(String) gettext_noop(String) #else #define N_(String) (String) #endif #else /* No NLS */ #define _(String) (String) #define N_(String) (String) #define ngettext(String,Strings,num) (Strings) #define textdomain(String) #define bindtextdomain(Domain,Directory) #endif //NLS #if defined(__MINGW32__) #define mkdir(p,m) _mkdir(p) #ifndef WIFEXITED #define WIFEXITED(S) 1 #endif #ifndef WEXITSTATUS #define WEXITSTATUS(S) (S) #endif #endif /*__MINGW32__*/ #ifndef __GNUC__ # define __attribute__(x) #endif #define MAXLEN 20000 #define MAX_URL_LEN 40000 #define MAX_TRUNCATED_URL 512 #define MAX_USER_LEN 256 #define MAX_USER_FNAME_LEN 128 #define MAX_IP_LEN 64 #define MAX_DATETIME_LEN 32 #define MAXLOGS 255 #define MAX_LOG_FILELEN 1024 #define MAX_REDIRECTOR_LOGS 64 #define MAX_REDIRECTOR_FILELEN 1024 /*! Arbitrary limit on the number of days that are accepted in the selected range of the log file. Sarg will complain that there are too many days in the files if this limit is overrun. */ #define MAX_DATETIME_DAYS 1000 #define REPORT_TYPE_USERS_SITES 0x0001UL #define REPORT_TYPE_SITE_USER_TIME_DATE 0x0002UL #define REPORT_TYPE_TOPUSERS 0x0004UL #define REPORT_TYPE_TOPSITES 0x0008UL #define REPORT_TYPE_SITES_USERS 0x0010UL #define REPORT_TYPE_DATE_TIME 0x0020UL #define REPORT_TYPE_DENIED 0x0040UL #define REPORT_TYPE_AUTH_FAILURES 0x0080UL #define REPORT_TYPE_DOWNLOADS 0x0100UL #define DATA_FIELD_USER 0x0001UL #define DATA_FIELD_DATE 0x0002UL #define DATA_FIELD_TIME 0x0004UL #define DATA_FIELD_URL 0x0008UL #define DATA_FIELD_CONNECT 0x0010UL #define DATA_FIELD_BYTES 0x0020UL #define DATA_FIELD_IN_CACHE 0x0040UL #define DATA_FIELD_OUT_CACHE 0x0080UL #define DATA_FIELD_ELAPSED 0x0100UL #define TOPUSERFIELDS_NUM 0x0001UL #define TOPUSERFIELDS_DATE_TIME 0x0002UL #define TOPUSERFIELDS_USERID 0x0004UL #define TOPUSERFIELDS_CONNECT 0x0008UL #define TOPUSERFIELDS_BYTES 0x0010UL #define TOPUSERFIELDS_SETYB 0x0020UL #define TOPUSERFIELDS_IN_CACHE_OUT 0x0040UL #define TOPUSERFIELDS_USED_TIME 0x0080UL #define TOPUSERFIELDS_MILISEC 0x0100UL #define TOPUSERFIELDS_PTIME 0x0200UL #define TOPUSERFIELDS_TOTAL 0x0400UL #define TOPUSERFIELDS_AVERAGE 0x0800UL #define USERREPORTFIELDS_CONNECT 0x0001UL #define USERREPORTFIELDS_BYTES 0x0002UL #define USERREPORTFIELDS_SETYB 0x0004UL #define USERREPORTFIELDS_IN_CACHE_OUT 0x0008UL #define USERREPORTFIELDS_USED_TIME 0x0010UL #define USERREPORTFIELDS_MILISEC 0x0020UL #define USERREPORTFIELDS_PTIME 0x0040UL #define USERREPORTFIELDS_TOTAL 0x0080UL #define USERREPORTFIELDS_AVERAGE 0x0100UL #define INDEX_YES 0x0001UL #define INDEX_NO 0x0002UL #define INDEX_ONLY 0x0004UL #define INDEX_TREE_DATE 0x0001UL #define INDEX_TREE_FILE 0x0002UL #define INDEXFIELDS_DIRSIZE 0x0001UL #define NTLMUSERFORMAT_USER 0x0001UL #define NTLMUSERFORMAT_DOMAINUSER 0x0002UL #define RECORDWITHOUTUSER_IP 0x0001UL #define RECORDWITHOUTUSER_IGNORE 0x0002UL #define RECORDWITHOUTUSER_EVERYBODY 0x0004UL #define DATAFILEURL_IP 0x0001UL #define DATAFILEURL_NAME 0x0002UL #define DISPLAY_BYTES 0x0001UL #define DISPLAY_ABBREV 0x0002UL #define DATETIME_ELAP 0x0001UL #define DATETIME_BYTE 0x0002UL #define REALTIME_UNAUTH_REC_SHOW 0x0001UL #define REALTIME_UNAUTH_REC_IGNORE 0x0002UL #define SORT_REVERSE 0x0001 #define TOPUSER_SORT_REVERSE SORT_REVERSE #define TOPUSER_SORT_BYTES 0x0002UL #define TOPUSER_SORT_USER 0x0004UL #define TOPUSER_SORT_CONNECT 0x0008UL #define TOPUSER_SORT_TIME 0x0010UL #define TOPSITE_SORT_REVERSE SORT_REVERSE #define TOPSITE_SORT_BYTES 0x0002UL #define TOPSITE_SORT_CONNECT 0x0004UL #define TOPSITE_SORT_TIME 0x0008UL #define TOPSITE_SORT_USER 0x0010UL #define USER_SORT_REVERSE SORT_REVERSE #define USER_SORT_BYTES 0x0002UL #define USER_SORT_SITE 0x0004UL #define USER_SORT_CONNECT 0x0008UL #define USER_SORT_TIME 0x0010UL //! Value to exclude all the javascripts from the html page. #define HTML_JS_NONE 0x0000 //! Bit to include sorttable.js in the html plage. #define HTML_JS_SORTTABLE 0x0001 //! The character prefixed in front of the host names that are aliased. #define ALIAS_PREFIX '*' struct periodstruct { //! The first date of the period. struct tm start; //! The last date of the period. struct tm end; //! The textual representation of the date. char text[40]; //! The HTML representation of the date. char html[40]; }; char outdir[MAXLEN]; char outdirname[MAXLEN]; struct periodstruct period; char code[MAXLEN]; char code2[MAXLEN]; char tmp[MAXLEN]; char parse_out[MAXLEN]; char arqtt[MAXLEN]; char html[MAXLEN]; char ConfigFile[MAXLEN]; char df[20]; int LastLog; bool RemoveTempFiles; char ReplaceIndex[256]; unsigned long int Index; bool OverwriteReport; unsigned long int RecordsWithoutUser; bool UseComma; char MailUtility[PATH_MAX]; int TopSitesNum; int TopUsersNum; char ExcludeCodes[256]; unsigned long int TopsitesSort; unsigned long int ReportType; char UserTabFile[255]; char warea[MAXLEN]; char name[MAXLEN]; bool LongUrl; bool Ip2Name; int NAccessLog; char AccessLog[MAXLOGS][MAX_LOG_FILELEN]; int AccessLogFromCmdLine; char Title[MAXLEN]; char BgColor[MAXLEN]; char BgImage[MAXLEN]; char TxColor[MAXLEN]; char TxBgColor[MAXLEN]; char TiColor[MAXLEN]; char LogoImage[MAXLEN]; char LogoText[MAXLEN]; char LogoTextColor[MAXLEN]; char Width[MAXLEN]; char Height[MAXLEN]; char FontFace[MAXLEN]; char HeaderColor[MAXLEN]; char HeaderBgColor[MAXLEN]; char FontSize[MAXLEN]; char PasswdFile[MAXLEN]; char TempDir[MAXLEN]; char OutputDir[MAXLEN]; char OutputEmail[MAXLEN]; unsigned long int TopuserSort; unsigned long int UserSort; char UserAgentLog[255]; char module[255]; char ExcludeHosts[255]; char ExcludeUsers[255]; char DateFormat[2]; char PerUserLimitFile[255]; int PerUserLimit; bool UserIp; char MaxElapsed[255]; unsigned long int datetimeby; char CharSet[255]; char UserInvalidChar[255]; bool Graphs; char GraphDaysBytesBarColor[255]; bool Privacy; char PrivacyString[255]; char PrivacyStringColor[30]; char IncludeUsers[MAXLEN]; char ExcludeString[MAXLEN]; bool SuccessfulMsg; unsigned long int TopUserFields; unsigned long int UserReportFields; char DataFile[MAXLEN]; char DataFileDelimiter[3]; unsigned long int DataFileFields; unsigned long int DataFileUrl; bool ShowReadStatistics; char IndexSortOrder[5]; char DansGuardianConf[MAXLEN]; bool DansguardianFilterOutDate; char SquidGuardConf[MAXLEN]; char SquidGuarddbHome[255]; char RedirectorLogFormat[4096]; int NRedirectorLogs; char RedirectorLogs[MAX_REDIRECTOR_LOGS][MAX_REDIRECTOR_FILELEN]; int RedirectorLogFromCmdLine; bool RedirectorFilterOutDate; bool ShowSargInfo; bool BytesInSitesUsersReport; bool ShowSargLogo; char ParsedOutputLog[MAXLEN]; char ParsedOutputLogCompress[512]; unsigned long int DisplayedValues; char HeaderFontSize[5]; char TitleFontSize[5]; char wwwDocumentRoot[MAXLEN]; char ExternalCSSFile[MAXLEN]; char BlockIt[255]; unsigned long int NtlmUserFormat; //! How to display the index of the reports. unsigned long int IndexTree; //! The columns to show in the index of the reports. unsigned long int IndexFields; bool UserAuthentication; char AuthUserTemplateFile[1024]; //! \c True to use anonymous file and directory names in the report. bool AnonymousOutputFiles; char val1[MAXLEN]; char val3[MAXLEN]; char val5[MAXLEN]; char val6[MAXLEN]; char val7[MAXLEN]; char val8[MAXLEN]; char val9[MAXLEN]; char val10[MAXLEN]; char val11[MAXLEN]; char mask[MAXLEN]; char site[MAXLEN]; char us[50]; char email[MAXLEN]; char test[1]; char user2[MAXLEN]; char wentp[512]; char addr[MAXLEN]; char Ulimit[6]; char RealtimeTypes[1024]; char cmd[255]; char ImageFile[255]; unsigned long int RealtimeUnauthRec; char LDAPHost[255]; char LDAPBindDN[512]; char LDAPBindPW[255]; int LDAPPort; int LDAPProtocolVersion; char LDAPBaseSearch[255]; char LDAPFilterSearch[512]; char LDAPTargetAttr[64]; char GraphFont[MAXLEN]; //! The full path to sorttable.js if the table in the reports must be dynamicaly sorted. char SortTableJs[256]; //! The name of the file containing the host names to replace by an alias in the report. char HostAliasFile[512]; int idate; int smartfilter; int denied_count; int download_count; int authfail_count; int dansguardian_count; int redirector_count; int useragent_count; int limit_flag; int z1, z2, z3; int ttopen; int sarglog; int isalog; int dfrom; int duntil; int dataonly; bool indexonly; bool iprel; int langcode; int debug; int debugz; int debugm; int AuthfailReportLimit; int DeniedReportLimit; int DownloadReportLimit; int SiteUsersReportLimit; int DansGuardianReportLimit; int SquidGuardReportLimit; int UserReportLimit; int realtime_refresh; int realtime_access_log_lines; int rc; int ntopsites; int nrepday; int ndownload; int ntopuser; bool squid24; //! \c True to keep the temporary files for inspection. bool KeepTempLog; long long int nocost; float cost; typedef struct { int list[ 24 ]; int len; } numlist; sarg-2.3.11/include/config.h.in000066400000000000000000000035431324060677300162150ustar00rootroot00000000000000#ifndef CONFIG_H #define CONFIG_H #define PACKAGE_NAME "@PACKAGE_NAME@" #define PACKAGE_VERSION "@PACKAGE_VERSION@" #define SYSCONFDIR "@SYSCONFDIR_SOURCE@" #define LANGDIR "@LANGDIR_SOURCE@" #define FONTDIR "@FONTDIR_SOURCE@" #define IMAGEDIR "@IMAGEDIR_SOURCE@" #cmakedefine HAVE_STDIO_H #cmakedefine HAVE_STDLIB_H #cmakedefine HAVE_STRING_H #cmakedefine HAVE_STRINGS_H #cmakedefine HAVE_SYS_TIME_H #cmakedefine HAVE_TIME_H #cmakedefine HAVE_UNISTD_H #cmakedefine HAVE_SYS_DIRENT_H #cmakedefine HAVE_DIRENT_H #cmakedefine HAVE_SYS_SOCKET_H #cmakedefine HAVE_NETDB_H #cmakedefine HAVE_ARPA_INET_H #cmakedefine HAVE_SYS_TYPES_H #cmakedefine HAVE_NETINET_H #cmakedefine HAVE_SYS_STAT_H #cmakedefine HAVE_CTYPE_H #cmakedefine HAVE_GD_H #cmakedefine HAVE_GDFONTL_H #cmakedefine HAVE_GDFONTT_H #cmakedefine HAVE_GDFONTS_H #cmakedefine HAVE_GDFONTMB_H #cmakedefine HAVE_GDFONTG_H #cmakedefine HAVE_ICONV_H #cmakedefine HAVE_ERRNO_H #cmakedefine HAVE_SYS_RESOURCE_H #cmakedefine HAVE_SYS_WAIT_H #cmakedefine HAVE_STDARG_H #cmakedefine HAVE_INTTYPES_H #cmakedefine HAVE_LIMITS_H #cmakedefine HAVE_WINDOWS_H #cmakedefine HAVE_WINSOCK_H #cmakedefine HAVE_LDAP_H #cmakedefine HAVE_MATH_H #cmakedefine HAVE_LOCALE_H #cmakedefine HAVE_EXECINFO_H #cmakedefine HAVE_LIBINTL_H #cmakedefine HAVE_LIBGEN_H #cmakedefine HAVE_STDBOOL_H #cmakedefine HAVE_GETOPT_H #cmakedefine HAVE_WS2TCPIP_H #cmakedefine HAVE_FCNTL_H #cmakedefine HAVE_PCRE_H #cmakedefine IBERTY_LIB #cmakedefine HAVE_BZERO #cmakedefine HAVE_MKSTEMP #cmakedefine HAVE_FOPEN64 #cmakedefine HAVE_BACKTRACE #cmakedefine HAVE_SYMLINK #cmakedefine HAVE_LSTAT #cmakedefine HAVE_GETNAMEINFO #cmakedefine HAVE_GETADDRINFO #cmakedefine HAVE_INET_ATON #cmakedefine HAVE_SOCKADDR_SA_LEN #define RLIM_STRING "@RLIM_STRING@" #define ICONV_CONST @ICONV_CONST@ #cmakedefine ENABLE_DOUBLE_CHECK_DATA #cmakedefine HAVE_LC_MESSAGES #endif /*CONFIG_H*/ sarg-2.3.11/include/defs.h000066400000000000000000000247301324060677300152650ustar00rootroot00000000000000/*!\file \brief Declaration of the structures and functions. */ struct getwordstruct { const char *current; const char *beginning; int modified; }; typedef struct longlinestruct *longline; struct generalitemstruct { //! \c True if the entry is for the total of the file or \c false if it is a single line. int total; //! The user to which the entry apply. The length is limited to ::MAX_USER_LEN. char *user; //! The number of accesses performed by the user. long long nacc; //! The number of bytes transfered. long long nbytes; //! The URL accessed by the user. The length is not limited. char *url; //! The source IP address of the user. The length is limited to ::MAX_IP_LEN. char *ip; //! The time of the access. The length is limited to ::MAX_DATETIME_LEN. char *time; //! The date of the access. The length is limited to ::MAX_DATETIME_LEN. char *date; //! The number of milliseconds spend processing the request. long long nelap; //! The number of bytes fetched from the cache of the proxy (cache hit). long long incache; //! The number of bytes fetched from the site (cache miss). long long oucache; }; /*! \brief What is known about a user. */ struct userinfostruct { //! The ID of the user as found in the input file. char id[MAX_USER_LEN]; //! The user's IP address. char ip[30]; //! \c True if the ID is in fact the IP address from which the user connected. bool id_is_ip; //! \c True if the user doesn't have a report file. bool no_report; //! The name of the user to display in the report. char label[MAX_USER_LEN]; //! The mangled name to use in file names of that user. char filename[MAX_USER_FNAME_LEN]; //! \c True if this user is in the topuser list. int topuser; //! A general purpose flag that can be set when scanning the user's list. int flag; #ifdef ENABLE_DOUBLE_CHECK_DATA //! Total number of bytes. long long int nbytes; //! Total time spent processing the requests. long long int elap; #endif }; //! Scan through the known users. typedef struct userscanstruct *userscan; /*! \brief Global statistics */ struct globalstatstruct { //! Total number of accesses. long long int nacc; //! Total number of bytes. long long int nbytes; //! Total time spent processing the requests. long long int elap; //! Amount of data fetched from the cache. long long int incache; //! Amount of data not fetched from the cache. long long int oucache; //! The number of users in the topuser list. int totuser; }; //! The object to store the daily statistics. typedef struct DayStruct *DayObject; // auth.c void htaccess(const struct userinfostruct *uinfo); // authfail.c void authfail_report(void); // charset.c void ccharset(char *CharSet); // convlog.c void convlog(const char *arq, char *df, int dfrom, int duntil); // css.c void css_content(FILE *fp_css); void css(FILE *fp_css); // dansguardian_log.c void dansguardian_log(void); // dansguardian_report.c void dansguardian_report(void); // datafile.c void data_file(char *tmp); // decomp.c FILE *decomp(const char *arq, bool *pipe); // denied.c void gen_denied_report(void); // download.c void download_report(void); void free_download(void); void set_download_suffix(const char *list); bool is_download_suffix(const char *url); // email.c int geramail(const char *dirname, int debug, const char *outdir, const char *email, const char *TempDir); // exclude.c void gethexclude(const char *hexfile, int debug); void getuexclude(const char *uexfile, int debug); int vhexclude(const char *url); int vuexclude(const char *user); bool is_indexonly(void); void free_exclude(void); // getconf.c void getconf(void); // grepday.c void greport_prepare(void); void greport_day(const struct userinfostruct *user); void greport_cleanup(void); // html.c void htmlrel(void); // indexonly.c void index_only(const char *dirname,int debug); // ip2name.c int ip2name_config(const char *param); void ip2name_forcedns(void); void ip2name(char *ip,int ip_len); void ip2name_cleanup(void); void name2ip(char *name,int name_size); // lastlog.c void mklastlog(const char *outdir); // longline.c __attribute__((warn_unused_result)) /*@null@*//*@only@*/longline longline_create(void); void longline_reset(longline line); /*@null@*/char *longline_read(FILE *fp_in,/*@null@*/longline line); void longline_destroy(/*@out@*//*@only@*//*@null@*/longline *line_ptr); // index.c void make_index(void); // realtime.c void realtime(void); // redirector.c void redirector_log(void); void redirector_report(void); // repday.c void report_day(const struct userinfostruct *user); // report.c void gerarel(void); int ger_read(char *buffer,struct generalitemstruct *item,const char *filename); void totalger(FILE *fp_gen,const char *filename); // siteuser.c void siteuser(void); // smartfilter.c void smartfilter_report(void); // sort.c void sort_users_log(const char *tmp, int debug,struct userinfostruct *uinfo); void tmpsort(const struct userinfostruct *uinfo); void sort_labels(const char **label,const char **order); // splitlog.c void splitlog(const char *arq, const char *df, int dfrom, int duntil, int convert, const char *splitprefix); // topsites.c void topsites(void); // topuser.c void topuser(void); // totday.c DayObject day_prepare(void); void day_cleanup(DayObject ddata); void day_newuser(DayObject ddata); void day_addpoint(DayObject ddata,const char *date, const char *time, long long int elap, long long int bytes); void day_totalize(DayObject ddata,const char *tmp, const struct userinfostruct *uinfo); // url.c void read_hostalias(const char *Filename); void free_hostalias(void); const char *skip_scheme(const char *url); const char *process_url(char *url,bool full_url); void url_hostname(const char *url,char *hostname,int hostsize); // usage.c void usage(const char *prog); // useragent.c void useragent(void); // userinfo.c /*@shared@*/struct userinfostruct *userinfo_create(const char *userid,const char *ip); void userinfo_free(void); /*@shared@*/struct userinfostruct *userinfo_find_from_file(const char *filename); /*@shared@*/struct userinfostruct *userinfo_find_from_id(const char *id); userscan userinfo_startscan(void); void userinfo_stopscan(userscan uscan); struct userinfostruct *userinfo_advancescan(userscan uscan); void userinfo_clearflag(void); // usertab.c void init_usertab(const char *UserTabFile); void user_find(char *mappedname, int namelen, const char *userlogin); void close_usertab(void); // util.c void getword_start(/*@out@*/struct getwordstruct *gwarea, const char *line); void getword_restart(struct getwordstruct *gwarea); __attribute__((warn_unused_result)) int getword(/*@out@*/char *word, int limit, struct getwordstruct *gwarea, char stop); __attribute__((warn_unused_result)) int getword_limit(/*@out@*/char *word, int limit, struct getwordstruct *gwarea, char stop); __attribute__((warn_unused_result)) int getword_multisep(/*@out@*/char *word, int limit, struct getwordstruct *gwarea, char stop); __attribute__((warn_unused_result)) int getword_skip(int limit, struct getwordstruct *gwarea, char stop); __attribute__((warn_unused_result)) int getword_atoll(/*@out@*/long long int *number, struct getwordstruct *gwarea, char stop); __attribute__((warn_unused_result)) int getword_atoi(/*@out@*/int *number, struct getwordstruct *gwarea, char stop); __attribute__((warn_unused_result)) int getword_ptr(char *orig_line,/*@out@*/char **word, struct getwordstruct *gwarea, char stop); long long int my_atoll (const char *nptr); int is_absolute(const char *path); int getnumlist(char *, numlist *, const int, const int); void name_month(char *month,int month_len); int conv_month(const char *month); const char *conv_month_name(int month); void buildymd(const char *dia, const char *mes, const char *ano, char *wdata,int wdata_size); void date_from(char *date,int date_size, int *dfrom, int *duntil); char *fixnum(long long int value, int n); char *fixnum2(long long int value, int n); void fixnone(char *str); char *fixtime(long long int elap); void fixendofline(char *str); void show_info(FILE *fp_ou); void show_sarg(FILE *fp_ou, int depth); void write_logo_image(FILE *fp_ou); void write_html_head(FILE *fp_ou, int depth, const char *page_title,int javascript); void write_html_header(FILE *fp_ou, int depth, const char *title,int javascript); void close_html_header(FILE *fp_ou); __attribute__((warn_unused_result)) int write_html_trailer(FILE *fp_ou); void output_html_string(FILE *fp_ou,const char *str,int maxlen); void output_html_url(FILE *fp_ou,const char *url); void output_html_link(FILE *fp_ou,const char *url,int maxlen); void debuga(const char *msg,...) __attribute__((format(printf,1,2))); void debuga_more(const char *msg,...); void debugapos(const char *pos,const char *msg,...); void debugaz(const char *msg,...) __attribute__((format(printf,1,2))); void my_lltoa(unsigned long long int n, char *s, int ssize, int len); char *get_size(const char *path, const char *file); void url_module(const char *url, char *w2); void url_to_file(const char *url,char *file,int filesize); void safe_strcpy(char *dest,const char *src,int length); void strip_latin(char *line); char *buildtime(long long int elap); int obtdate(const char *dirname, const char *name, char *data); void formatdate(char *date,int date_size,int year,int month,int day,int hour,int minute,int second,int dst); void computedate(int year,int month,int day,struct tm *t); int obtuser(const char *dirname, const char *name); void obttotal(const char *dirname, const char *name, int nuser, long long int *tbytes, long long int *media); void version(void); int vercode(const char *code); void load_excludecodes(const char *ExcludeCodes); void free_excludecodes(void); void my_mkdir(const char *name); int testvaliduserchar(const char *user); char *strlow(char *string); char *strup(char *string); int month2num(const char *month); int builddia(int day, int month, int year); int vrfydir(const struct periodstruct *per1, const char *addr, const char *site, const char *us, const char *form); int getperiod_fromsarglog(const char *arqtt,struct periodstruct *period); void getperiod_fromrange(struct periodstruct *period,int dfrom,int duntil); int getperiod_buildtext(struct periodstruct *period); void removetmp(const char *outdir); void zdate(char *ftime,int ftimesize, const char *DateFormat); char *get_param_value(const char *param,char *line); int compar( const void *, const void * ); void unlinkdir(const char *dir,bool contentonly); void emptytmpdir(const char *dir); int extract_address_mask(const char *buf,const char **text,unsigned char *ipv4,unsigned short int *ipv6,int *nbits,const char **next); sarg-2.3.11/include/dichotomic.h000066400000000000000000000010651324060677300164620ustar00rootroot00000000000000#ifndef DICHOTOMIC_HEADER #define DICHOTOMIC_HEADER #ifdef HAVE_STDBOOL_H #include #else typedef int bool; #ifndef true #define true 1 #endif #ifndef false #define false 0 #endif #endif //! The object to store key/value pairs typedef struct DichotomicStruct *DichotomicObject; DichotomicObject Dichotomic_Create(void); void Dichotomic_Destroy(DichotomicObject *ObjPtr); const char *Dichotomic_Search(DichotomicObject Obj,const char *key); bool Dichotomic_Insert(DichotomicObject Obj,const char *key, const char *value); #endif //DICHOTOMIC_HEADER sarg-2.3.11/include/extern.h000066400000000000000000000042551324060677300156510ustar00rootroot00000000000000extern char *htm01; extern char *htm02; extern char *htm03; extern char *htm04; extern char *htm05; extern char *htm06; extern char *htm07; extern char *htm08; extern char *htm09; extern char *htm10; extern char *htm11; extern char *htm12; extern char *htm13; extern char *htm14; extern char *htm15; extern char *htm16; extern char *htm17; extern char *htm18; extern char *htm19; extern char *htm20; extern char *htm21; extern char *htm22; extern char *htm23; extern char *htm24; extern char *htm26; extern char *htm27; extern char *htm28; extern char *htm29; extern char *htm30; extern char *msg01; extern char *msg02; extern char *msg03; extern char *msg04; extern char *msg05; extern char *msg06; extern char *msg07; extern char *msg08; extern char *msg09; extern char *msg10; extern char *msg11; extern char *msg12; extern char *msg13; extern char *msg14; extern char *msg15; extern char *msg16; extern char *msg17; extern char *msg18; extern char *msg19; extern char *msg20; extern char *msg21; extern char *msg22; extern char *msg23; extern char *msg24; extern char *msg25; extern char *msg26; extern char *msg27; extern char *msg28; extern char *msg29; extern char *msg30; extern char *msg31; extern char *msg32; extern char *msg33; extern char *msg34; extern char *msg35; extern char *msg36; extern char *msg37; extern char *msg38; extern char *msg39; extern char *msg40; extern char *msg41; extern char *msg42; extern char *msg43; extern char *msg44; extern char *msg45; extern char *msg46; extern char *msg47; extern char *msg48; extern char *msg49; extern char *msg50; extern char *msg51; extern char *msg52; extern char *msg53; extern char *msg54; extern char *msg55; extern char *msg56; extern char *msg57; extern char *msg58; extern char *msg59; extern char *msg60; extern char *msg61; extern char *msg62; extern char *msg63; extern char *msg64; extern char *msg65; extern char *msg66; extern char *msg67; extern char *msg68; extern char *msg70; extern char *msg72; extern char *msg73; extern char *msg74; extern char *msg75; extern char *msg76; extern char *msg77; extern char *msg78; extern char *msg79; extern char *msg80; extern char *msg81; extern char *msg82; extern char *msg83; extern char *msg84; sarg-2.3.11/include/info.h000066400000000000000000000001611324060677300152670ustar00rootroot00000000000000#define VERSION PACKAGE_VERSION" Jan-14-2018" #define PGM PACKAGE_NAME #define URL "http://sarg.sourceforge.net" sarg-2.3.11/include/ip2name.h000066400000000000000000000013011324060677300156640ustar00rootroot00000000000000#ifndef IP2NAME_HEADER #define IP2NAME_HEADER //! The possible return code of ip2name subfunctions. enum ip2name_retcode { //! Error encountered during the processing. INRC_Error=-1, //! No match found. INRC_NotFound, //! A match was found. INRC_Found, }; //! Entry points of the ip2name modules struct Ip2NameProcess { //! The real name of the module. const char *Name; //! The link to the next module to try if this one fails. struct Ip2NameProcess *Next; //! The function to configure the module. void (*Configure)(const char *name,const char *param); //! Function to resolve an IP address into a name. enum ip2name_retcode (*Resolve)(char *ip,int ip_len); }; #endif //IP2NAME_HEADER sarg-2.3.11/index.c000066400000000000000000000522221324060677300140200ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" static void make_date_index(void); static void make_file_index(void); static void file_index_to_date_index(const char *entry); static void date_index_to_file_index(const char *entry); void make_index(void) { DIR *dirp; struct dirent *direntp; char wdir[MAXLEN]; if(LastLog > 0) mklastlog(outdir); if(Index == INDEX_NO) { sprintf(wdir,"%sindex.html",outdir); if(access(wdir, R_OK) == 0) { if (unlink(wdir)) { debuga(_("Cannot delete \"%s\": %s\n"),wdir,strerror(errno)); exit(EXIT_FAILURE); } } return; } if(debug) debuga(_("Making index.html\n")); // convert any old report hierarchy if ((dirp = opendir(outdir)) == NULL) { debuga(_("Failed to open directory \"%s\": %s\n"),outdir,strerror(errno)); exit(EXIT_FAILURE); } while ((direntp = readdir( dirp )) != NULL) { if(isdigit(direntp->d_name[0]) && isdigit(direntp->d_name[1])) { if(IndexTree == INDEX_TREE_DATE) file_index_to_date_index(direntp->d_name); else date_index_to_file_index(direntp->d_name); } } closedir(dirp); if(IndexTree == INDEX_TREE_DATE) { make_date_index(); } else { make_file_index(); } } static void make_date_index(void) { FILE *fp_ou, *fp_ou2, *fp_ou3; DIR *dirp, *dirp2, *dirp3; struct dirent *direntp; struct dirent *direntp2; struct dirent *direntp3; char yearindex[MAXLEN]; char yeardir[MAXLEN]; char yearnum[10]; char monthindex[MAXLEN]; char monthdir[MAXLEN]; char monthname1[9], monthname2[9]; char nmonth[30]; char monthnum[10]; char dayindex[MAXLEN]; char daynum[10]; char title[80]; int yearsort[150]; int nyears; int year; int monthsort[144]; int nmonths; int m1, m2, month; int daysort[31*31]; int ndays; int d1, d2, day; int i, y, m, d; int order; sprintf(yearindex,"%sindex.html",outdir); nyears=0; if ((dirp = opendir(outdir)) == NULL) { debuga(_("Failed to open directory \"%s\": %s\n"),outdir,strerror(errno)); exit(EXIT_FAILURE); } while ((direntp = readdir( dirp )) != NULL) { if(strlen(direntp->d_name) > 4 || !isdigit(direntp->d_name[0]) || !isdigit(direntp->d_name[1]) || !isdigit(direntp->d_name[2]) || !isdigit(direntp->d_name[3])) continue; year=atoi(direntp->d_name); if (nyears>=sizeof(yearsort)/sizeof(yearsort[0])) { /* If too many years are listed in the directory, we ignore the earliest years. The yearsort array is big enough to accomodate the most ambitious use of sarg but this safety is added to prevent a crash should the directory be polluted by other entries. */ if (year>yearsort[0]) { for (i=1 ; iyearsort[i] ; i++) yearsort[i-1]=yearsort[i]; yearsort[i-1]=year; } } else { for (i=nyears ; i>0 && year\n",fp_ou); fprintf(fp_ou,"",_("YEAR")); if (IndexFields & INDEXFIELDS_DIRSIZE) fprintf(fp_ou,"",_("SIZE")); fputs("\n",fp_ou); for (y=0 ; y0) year=yearsort[y]; else year=yearsort[nyears-1-y]; sprintf(yearnum,"%04d",year); fprintf(fp_ou,"",yearnum,yearnum); if (IndexFields & INDEXFIELDS_DIRSIZE) fprintf(fp_ou,"",get_size(outdir,yearnum)); fputs("\n",fp_ou); sprintf(yeardir,"%s%s",outdir,yearnum); // Year dir nmonths=0; if ((dirp2 = opendir(yeardir)) == NULL) { debuga(_("Failed to open directory \"%s\": %s\n"),yeardir,strerror(errno)); exit(EXIT_FAILURE); } while ((direntp2 = readdir( dirp2 )) != NULL) { if(!isdigit(direntp2->d_name[0]) || !isdigit(direntp2->d_name[1])) continue; i=-1; if (sscanf(direntp2->d_name,"%d%n",&m1,&i)!=1 || m1<=0 || m1>12 || i<0) continue; if (direntp2->d_name[i]=='-') { if (sscanf(direntp2->d_name+i+1,"%d",&m2)!=1 || m212) continue; } else if (direntp2->d_name[i]!='\0') { continue; } else { m2=0; } if (nmonths>=sizeof(monthsort)/sizeof(monthsort[0])) { debuga(_("Too many month directories in %s\nSupernumerary entries are ignored\n"),yeardir); break; } month=m1*16+m2; for (i=nmonths ; i>0 && month
%s%s
%s%s
\n\n",fp_ou2); fprintf(fp_ou2,"\n",_("YEAR"),_("MONTH")); for (m=0 ; m0) month=monthsort[m]; else month=monthsort[nmonths-1-m]; m1=month / 16; if(month % 16 != 0) { m2=month % 16; sprintf(monthnum,"%02d-%02d",m1,m2); sprintf(monthname1,"%02d",m1); sprintf(monthname2,"%02d",m2); name_month(monthname1,sizeof(monthname1)); name_month(monthname2,sizeof(monthname2)); sprintf(nmonth,"%s-%s",monthname1,monthname2); } else { sprintf(nmonth,"%02d",m1); sprintf(monthnum,"%02d",m1); name_month(nmonth,sizeof(nmonth)); } fprintf(fp_ou2,"\n",monthnum,yearnum,nmonth); sprintf(monthdir,"%s/%s",yeardir,monthnum); // month dir ndays=0; if ((dirp3 = opendir(monthdir)) == NULL) { debuga(_("Cannot open directory \"%s\": %s\n"),monthdir,strerror(errno)); exit(EXIT_FAILURE); } while ((direntp3 = readdir( dirp3 )) != NULL) { if(!isdigit(direntp3->d_name[0]) && !isdigit(direntp3->d_name[1])) continue; i=-1; if (sscanf(direntp3->d_name,"%d%n",&d1,&i)!=1 || d1<=0 || d1>31 || i<0) continue; if (direntp3->d_name[i]=='-') { if (sscanf(direntp3->d_name+i+1,"%d",&d2)!=1 || d231) continue; } else if (direntp3->d_name[i]!='\0') { continue; } else { d2=0; } if (ndays>=sizeof(daysort)/sizeof(daysort[0])) { debuga(_("Too many day directories in %s\nSupernumerary entries are ignored\n"),monthdir); break; } day=d1*32+d2; for (i=ndays ; i>0 && day
%s/%s
%s %s
\n\n",fp_ou3); fprintf(fp_ou3,"\n",_("YEAR"),_("MONTH"),_("DAYS")); for (d=0 ; d0) day=daysort[d]; else day=daysort[ndays-1-d]; d1=day / 32; if(day % 32 != 0) { d2=day % 32; sprintf(daynum,"%02d-%02d",d1,d2); } else { sprintf(daynum,"%02d",d1); } fprintf(fp_ou3,"\n",daynum,yearnum,nmonth,daynum); } fputs("
%s/%s/%s
%s %s %s
\n",fp_ou3); if (write_html_trailer(fp_ou3)<0) debuga(_("Write error in the index %s\n"),dayindex); if (fclose(fp_ou3)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),dayindex,strerror(errno)); } fputs("\n",fp_ou2); if (write_html_trailer(fp_ou2)<0) debuga(_("Write error in the index %s\n"),monthindex); if (fclose(fp_ou2)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),monthindex,strerror(errno)); } fputs("\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in the index %s\n"),yearindex); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),yearindex,strerror(errno)); } static void make_file_index(void) { #define MAX_CREATION_DATE 15 FILE *fp_ou; DIR *dirp; struct dirent *direntp; char wdir[MAXLEN]; char data[80]; char ftime[128]; char day[6], mon[8], year[40], hour[10]; long long int tbytes; long long int media; int iyear, imonth, iday, ihour, iminute, isecond, idst; int nsort; int nallocated; int order; int i; int tuser; struct getwordstruct gwarea; struct sortstruct { int year, month, day, sortnum; char creationdate[MAX_CREATION_DATE]; char *dirname; char date[60]; } **sortlist, *item, **tempsort; sprintf(wdir,"%sindex.html",outdir); order=(strcmp(IndexSortOrder,"A") == 0) ? 1 : -1; if ((dirp = opendir(outdir)) == NULL) { debuga(_("Cannot open directory \"%s\": %s\n"),outdir,strerror(errno)); exit(EXIT_FAILURE); } nsort=0; nallocated=0; sortlist=NULL; while ((direntp = readdir( dirp )) != NULL) { if (strchr(direntp->d_name,'-') == 0) continue; if (obtdate(outdir,direntp->d_name,data)<0) { debuga(_("The directory \"%s%s\" looks like a report directory but doesn't contain a sarg-date file. You should delete it\n"),outdir,direntp->d_name); continue; } item=malloc(sizeof(*item)); if (!item) { debuga(_("not enough memory to sort the index\n")); exit(EXIT_FAILURE); } if(strcmp(df,"u") == 0) { item->year=atoi(direntp->d_name); item->month=conv_month(direntp->d_name+4); item->day=atoi(direntp->d_name+7); } else { item->year=atoi(direntp->d_name+5); item->month=conv_month(direntp->d_name+2); item->day=atoi(direntp->d_name); } item->sortnum=(item->year*16+item->month)*32+item->day; if (sscanf(data,"%d-%d-%d %d:%d:%d %d",&iyear,&imonth,&iday,&ihour,&iminute,&isecond,&idst)==7) { formatdate(data,sizeof(data),iyear,imonth,iday,ihour,iminute,isecond,idst); snprintf(item->creationdate,sizeof(item->creationdate),"%04d%02d%02d%02d%02d%02d",iyear,imonth,iday,ihour,iminute,isecond); } else { /* Old code to parse a date stored by sarg before 2.2.6.1 in the sarg-date file of each report directory. */ getword_start(&gwarea,data); if (getword_skip(16,&gwarea,' ')<0) { debuga(_("Invalid week day in file \"%s%s/sarg-date\"\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } if (getword_multisep(mon,sizeof(mon),&gwarea,' ')<0) { debuga(_("Invalid month in file \"%s%s/sarg-date\"\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } if (getword_multisep(day,sizeof(day),&gwarea,' ')<0) { debuga(_("Invalid day in file \"%s%s/sarg-date\"\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } if (getword_multisep(hour,sizeof(hour),&gwarea,' ')<0) { debuga(_("Invalid time in file \"%s%s/sarg-date\"\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } do { if (getword_multisep(year,sizeof(year),&gwarea,' ')<0) { debuga(_("Invalid year in file \"%s%s/sarg-date\"\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } } while (year[0] && !isdigit(year[0])); //skip time zone information with spaces until the year is found if (sscanf(hour,"%d:%d:%d",&ihour,&iminute,&isecond)!=3) { debuga(_("Invalid time in file \"%s%s/sarg-date\"\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } buildymd(day,mon,year,ftime,sizeof(ftime)); snprintf(item->creationdate,sizeof(item->creationdate),"%s%02d%02d%02d",ftime, ihour, iminute, isecond); } item->dirname=strdup(direntp->d_name); if (!item->dirname) { debuga(_("Not enough memory to store the directory name \"%s\" in the index\n"),direntp->d_name); exit(EXIT_FAILURE); } safe_strcpy(item->date,data,sizeof(item->date)); if (nsort+1>nallocated) { nallocated+=10; tempsort=realloc(sortlist,nallocated*sizeof(*item)); if (!tempsort) { debuga(_("not enough memory to sort the index\n")); exit(EXIT_FAILURE); } sortlist=tempsort; } for (i=nsort ; i>0 ; i--) { if (item->sortnum>sortlist[i-1]->sortnum) break; if (item->sortnum==sortlist[i-1]->sortnum) { if (strcmp(item->creationdate,sortlist[i-1]->creationdate)>=0) break; } sortlist[i]=sortlist[i-1]; } sortlist[i]=item; nsort++; } closedir( dirp ); if((fp_ou=fopen(wdir,"w"))==NULL) { debugapos("index",_("Cannot open file \"%s\": %s\n"),wdir,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,0,ngettext("SARG report","SARG reports",nsort),HTML_JS_SORTTABLE); close_html_header(fp_ou); fputs("
\n",fp_ou); fprintf(fp_ou,"\n",_("FILE/PERIOD"),_("CREATION DATE"),_("USERS"),_("BYTES"),_("AVERAGE")); for (i=0 ; i0) item=sortlist[i]; else item=sortlist[nsort-i-1]; tuser=obtuser(outdir,item->dirname); obttotal(outdir,item->dirname,tuser,&tbytes,&media); fputs("",item->dirname,ReplaceIndex,item->dirname); fputs("",item->date); fprintf(fp_ou,"",tuser); fputs("",fixnum(tbytes,1)); fputs("\n",fixnum(media,1)); } fputs("
%s%s%s%s%s
sortnum); fprintf(fp_ou,">%screationdate); fprintf(fp_ou,">%s%d%s%s
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in the index %s\n"),wdir); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),wdir,strerror(errno)); if (sortlist) { for (i=0 ; idirname); free(sortlist[i]); } free(sortlist); } } static void file_index_to_date_index(const char *entry) { int y1, y2, m1, m2, d1, d2; int i, j; int ndirlen; int monthlen; char sm1[8], sm2[8]; char olddir[MAXLEN], newdir[MAXLEN]; if(strlen(entry) < 19) return; y1=0; y2=0; memset(sm1,0,sizeof(sm1)); memset(sm2,0,sizeof(sm2)); d1=0; d2=0; i=0; if(strcmp(df,"u") == 0) { for (j=0 ; entry[i] && isdigit(entry[i]) ; j++) y1=y1*10+(entry[i++]-'0'); if (j!=4) return; for (j=0 ; jd_name[0]) || !isdigit(direntp2->d_name[1])) continue; i=0; str=direntp2->d_name; m1=0; for (j=0 ; j<2 && str[i] && isdigit(str[i]) ; j++) m1=(m1*10)+(str[i++]-'0'); if (j>=2) continue; sm1=conv_month_name(m1); if (str[i]=='-') { i++; m2=0; for (j=0 ; j<2 && str[i] && isdigit(str[i]) ; j++) m2=(m2*10)+(str[i++]-'0'); if (j>=2) continue; sm2=conv_month_name(m2); } else if (!str[i]) { sm2=sm1; } else { continue; } sprintf(val1+val1len,"/%s",direntp2->d_name); dirp3 = opendir(val1); if (!dirp3) continue; while ((direntp3 = readdir( dirp3 )) != NULL) { if(!isdigit(direntp3->d_name[0]) || !isdigit(direntp3->d_name[1])) continue; i=0; str=direntp3->d_name; d1=0; for (j=0 ; str[i] && isdigit(str[i]) ; j++) d1=d1*10+(str[i++]-'0'); if (j!=2) continue; if (str[i]=='-') { i++; d2=0; for (j=0 ; str[i] && isdigit(str[i]) ; j++) d2=d2*10+(str[i++]-'0'); if (j!=2) continue; } else if (!str[i]) { d2=d1; } else { continue; } if(strcmp(df,"u") == 0) sprintf(newdir,"%s%04d%s%02d-%04d%s%02d",outdir,y1,sm1,d1,y1,sm2,d2); else if(strcmp(df,"e") == 0) sprintf(newdir,"%s%02d%s%04d-%02d%s%04d",outdir,d1,sm1,y1,d2,sm2,y1); else continue; sprintf(olddir,"%s%04d/%s/%s",outdir,y1,direntp2->d_name,direntp3->d_name); if(rename(olddir,newdir)) { debugapos("index",_("Failed to rename \"%s\" into \"%s\": %s\n"),olddir,newdir,strerror(errno)); exit(EXIT_FAILURE); } } closedir( dirp3 ); } closedir( dirp2 ); /*! \bug The links to the images in the reports are broken after moving the directories as the the HTML files are not at the right level for the images any more. */ } sarg-2.3.11/indexonly.c000066400000000000000000000036251324060677300147250ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void index_only(const char *dirname,int debug) { DIR *dirp; struct dirent *direntp; char remove[MAXLEN]; if ((dirp = opendir(dirname)) == NULL) { debuga(_("Cannot open directory \"%s\": %s\n"),dirname,strerror(errno)); exit(EXIT_FAILURE); } while ( (direntp = readdir( dirp )) != NULL ){ if(strcmp(direntp->d_name,".") == 0 || strcmp(direntp->d_name,"..") == 0 || strcmp(direntp->d_name, "index.html") == 0) continue; if (snprintf(remove,sizeof(remove),"%s/%s",dirname,direntp->d_name)>=sizeof(remove)) { debuga(_("Name of the file to remove is too long: %s/%s\n"),dirname,direntp->d_name); continue; } if (unlink(remove) == -1) { debuga(_("Cannot delete \"%s\": %s\n"),remove,strerror(errno)); } } (void)closedir( dirp ); return; } sarg-2.3.11/ip2name.c000066400000000000000000000215451324060677300142500ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #include "include/ip2name.h" #include "include/dichotomic.h" //! Associate a name or alias to a module. struct Ip2NameModules { //! The name of the module const char *Name; //! The structure to access the module functions. struct Ip2NameProcess *Process; }; extern struct Ip2NameProcess Ip2NameDns; extern struct Ip2NameProcess Ip2NameExec; //! The list of the modules available to resolve an IP address into a name. static const struct Ip2NameModules ModulesList[]= { {"dns",&Ip2NameDns}, {"exec",&Ip2NameExec}, {"yes",&Ip2NameDns},//for historical compatibility {"no",NULL},//does nothing for compatibility with previous versions }; //! The chain of the configured modules to try to resolve an IP. static struct Ip2NameProcess *FirstModule=NULL; //! The list of the names found so far. static DichotomicObject KnownIp=NULL; /*! Add a new module to the list of the configured modules. */ static void ip2name_chainmodule(struct Ip2NameProcess *Module) { struct Ip2NameProcess *Chain; struct Ip2NameProcess *Last; if (debug) debuga(_("Chaining IP resolving module \"%s\"\n"),Module->Name); Last=NULL; for (Chain=FirstModule ; Chain ; Chain=Chain->Next) { if (Chain==Module) { debuga(_("Ignoring duplicate module \"%s\" to resolve an IP address\n"),Module->Name); return; } Last=Chain; } if (Last) Last->Next=Module; else { FirstModule=Module; Ip2Name=true; } } /*! Add a new module to the list of the configured modules. \param list The list of the modules name to chain. */ static void ip2name_buildmoduleslist(const char *list) { const char *candidate; int length; int ModuleIdx; while (*list) { candidate=list; while (*candidate && (unsigned char)*candidate<=' ') candidate++; for (length=0 ; (unsigned char)candidate[length]>' ' ; length++); for (ModuleIdx=0 ; ModuleIdx=sizeof(ModulesList)/sizeof(*ModulesList)) { debuga(_("Unknown module \"%.*s\" to resolve the IP addresses\n"),length,candidate); exit(EXIT_FAILURE); } list=candidate+length; } } /*! Configure a module whose name is given as an argument. The parameters to configure follow the module name after one or more space or tabs. \param module The name of the module, a space and the configuration options. */ static void ip2name_configmodule(const char *module) { int length; unsigned int ModuleIdx; for (length=0 ; module[length] && (unsigned char)module[length]>' ' ; length++); for (ModuleIdx=0 ; ModuleIdxConfigure) { debuga(_("No option to configure for module %s\n"),ModulesList[ModuleIdx].Name); exit(EXIT_FAILURE); } while (module[length] && (unsigned char)module[length]<=' ') length++; ModulesList[ModuleIdx].Process->Configure(ModulesList[ModuleIdx].Name,module+length); } break; } } } /*! Configure a module to resolve an IP address into a name. \param param The parameter found in the configuration file. It always begins after the "resolv_ip". \retval 1 Parameter processed. \retval 0 Parameter ignored. */ int ip2name_config(const char *param) { // module to add to the list if (*param==' ') { ip2name_buildmoduleslist(param); return(1); } // parameter for a module? if (*param=='_') { ip2name_configmodule(param+1); return(1); } return(0); } /*! Require the use of the DNS to resolve the IP addresses. */ void ip2name_forcedns(void) { struct Ip2NameProcess *DnsModule=NULL; int i; struct Ip2NameProcess *Chain; struct Ip2NameProcess *Last; // find the dns module for (i=0 ; iNext) { Last=Chain; } if (debug) debuga(_("Chaining IP resolving module \"%s\"\n"),DnsModule->Name); if (Last) Last->Next=DnsModule; else { FirstModule=DnsModule; Ip2Name=true; } } /*! Convert an IP address into a name. \param ip The IP address. It is replaced by the corresponding name if one can be found. \param ip_len The length of the \c ip buffer. The function does nothing if no module are configured. */ void ip2name(char *ip,int ip_len) { struct Ip2NameProcess *Module; enum ip2name_retcode Status; const char *Name; char OrigIp[80]; if (!KnownIp) { KnownIp=Dichotomic_Create(); if (!KnownIp) { debuga(_("Not enough memory to store the names corresponding to the IP address\n")); exit(EXIT_FAILURE); } } Name=Dichotomic_Search(KnownIp,ip); if (Name) { safe_strcpy(ip,Name,ip_len); return; } safe_strcpy(OrigIp,ip,sizeof(OrigIp)); for (Module=FirstModule ; Module ; Module=Module->Next) { if (Module->Resolve) { Status=Module->Resolve(ip,ip_len); if (Status==INRC_Found) break; } } Dichotomic_Insert(KnownIp,OrigIp,ip); } /*! Release the memory allocated to resolve the IP addresses into names. */ void ip2name_cleanup(void) { Dichotomic_Destroy(&KnownIp); } void name2ip(char *name,int name_size) { #ifdef HAVE_GETADDRINFO int error; char *port; struct addrinfo *res; char *addr; addr=name; if (name[0]=='[') { //IPv6 address port=strchr(name,']'); if (port) { //confirmed IPv6 address *port='\0'; addr++; } } else { //IPv4 address port=strchr(name,':'); if (port) *port='\0'; } error=getaddrinfo(addr,NULL,NULL,&res); if (error) { freeaddrinfo(res); debuga(_("Cannot resolve host name \"%s\": %s\n"),name,gai_strerror(error)); exit(EXIT_FAILURE); } if (res->ai_family==AF_INET) { struct sockaddr_in *s4=(struct sockaddr_in *)res->ai_addr; struct in_addr *sa=&s4->sin_addr; if (res->ai_addrlenai_addrlen,(int)sizeof(*s4)); exit(EXIT_FAILURE); } inet_ntop(res->ai_family,sa,name,name_size); } else if (res->ai_family==AF_INET6) { struct sockaddr_in6 *s6=(struct sockaddr_in6 *)res->ai_addr; struct in6_addr *sa6=&s6->sin6_addr; if (res->ai_addrlenai_addrlen,(int)sizeof(*s6)); exit(EXIT_FAILURE); } inet_ntop(res->ai_family,sa6,name,name_size); } else { debuga(_("Invalid address type %d returned when resolving host name \"%s\"\n"),res->ai_family,name); } freeaddrinfo(res); #else struct in_addr ia; struct hostent *hp; char *port; char n1[4]; char n2[4]; char n3[4]; char n4[4]; struct getwordstruct gwarea; port=strchr(name,':'); if (port) *port='\0'; if((hp=gethostbyname(name))==NULL) return; memcpy(&ia.s_addr,hp->h_addr_list[0],sizeof(ia.s_addr)); ia.s_addr=ntohl(ia.s_addr); getword_start(&gwarea,inet_ntoa(ia)); if (getword(n4,sizeof(n4),&gwarea,'.')<0 || getword(n3,sizeof(n3),&gwarea,'.')<0 || getword(n2,sizeof(n2),&gwarea,'.')<0 || getword(n1,sizeof(n1),&gwarea,0)<0) { debuga(_("Invalid record in IP address \"%s\"\n"),gwarea.beginning); exit(EXIT_FAILURE); } snprintf(name,name_size,"%s.%s.%s.%s",n1,n2,n3,n4); #endif return; } sarg-2.3.11/ip2name_dns.c000066400000000000000000000077131324060677300151150ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #include "include/ip2name.h" #ifdef HAVE_WS2TCPIP_H #include //define getnameinfo on windows #endif static enum ip2name_retcode ip2name_dns(char *ip,int ip_len); //! The functions to resolve an IP address through tne dns. struct Ip2NameProcess Ip2NameDns= { "dns", NULL,//no next item yet NULL,//no configuration ip2name_dns }; /*! Resolve the IP address using a reverse DNS entry. \param ip The IP address. It is replaced by the corresponding name if one can be found. \param ip_len The length of the \c ip buffer. \return One of the ::ip2name_retcode value. */ static enum ip2name_retcode ip2name_dns(char *ip,int ip_len) { #ifdef HAVE_GETNAMEINFO struct sockaddr_storage sa; int sockaddr_size; char host[NI_MAXHOST]; int n1,n2,n3,n4,next=0; int error; memset(&sa,0,sizeof(sa)); if (sscanf(ip,"%d.%d.%d.%d%n",&n1,&n2,&n3,&n4,&next)==4 && ip[next]=='\0') { struct sockaddr_in *s4=(struct sockaddr_in *)&sa; if (inet_pton(AF_INET,ip,&s4->sin_addr)!=1) return(INRC_Error); sa.ss_family=AF_INET; sockaddr_size=sizeof(*s4); } else { struct sockaddr_in6 *s6=(struct sockaddr_in6 *)&sa; if (inet_pton(AF_INET6,ip,&s6->sin6_addr)!=1) return(INRC_Error); sa.ss_family=AF_INET6; sockaddr_size=sizeof(*s6); } #ifdef HAVE_SOCKADDR_SA_LEN sa.ss_len=sockaddr_size; #endif error=getnameinfo((struct sockaddr *)&sa,sockaddr_size,host,sizeof(host),NULL,0,NI_NAMEREQD); if (error==EAI_AGAIN) { /* This is a temporary failure. According to the man page we should try again but it doesn't say if the program should wait before trying again nor how many attempts before it becomes a fatal error. I could find no clues on internet so I try once and leave it at that. Considering the number of IP addresses to resolve and the absence of serious consequences should some IP fail to be resolved properly, it is best not waste too much time on this. */ error=getnameinfo((struct sockaddr *)&sa,sizeof(sa),host,sizeof(host),NULL,0,NI_NAMEREQD); } if (error==EAI_NONAME) return(INRC_NotFound); if (error!=0) { debuga(_("IP to name resolution (getnameinfo) on IP address \"%s\" failed with error %d - %s\n"),ip,error,gai_strerror(error)); return(INRC_Error); } safe_strcpy(ip,host,ip_len); #else //HAVE_GETNAMEINFO struct in_addr addr; struct hostent *hp; char **p; #ifdef __linux extern int h_errno; #endif #ifdef HAVE_INET_ATON if (inet_aton(ip,&addr) == 0) return(INRC_Error); #else addr.s_addr=inet_addr(ip); if (addr.s_addr==-1) return(INRC_Error); #endif hp = gethostbyaddr((void *)&addr, sizeof (addr), AF_INET); if (hp == NULL) { if (h_errno==HOST_NOT_FOUND) return(INRC_NotFound); return(INRC_Error); } for (p = hp->h_addr_list; *p != 0; p++) { struct in_addr in; (void) memcpy(&in.s_addr, *p, sizeof (in.s_addr)); safe_strcpy(ip,hp->h_name,ip_len); } #endif return(INRC_Found); } sarg-2.3.11/ip2name_exec.c000066400000000000000000000066471324060677300152620ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #include "include/ip2name.h" //! The buffer size to store the command. #define CMD_BUFFER_SIZE 2048 static void ip2name_execconfig(const char *name,const char *param); static enum ip2name_retcode ip2name_exec(char *ip,int ip_len); //! The functions to resolve an IP address using an external executable. struct Ip2NameProcess Ip2NameExec= { "dns", NULL,//no next item yet ip2name_execconfig, ip2name_exec }; static char ExecCmd[CMD_BUFFER_SIZE]=""; /*! Configure the module to resolve an IP address using an external program. \param name The name of the module as invoked by the user in the configuration file. \param param The parameters passed to the module. */ static void ip2name_execconfig(const char *name,const char *param) { int len; len=strlen(param); if (len>=sizeof(ExecCmd)) { debuga(_("Command to execute to resolve the IP addresses is too long (maximum is %d bytes)\n"),(int)sizeof(ExecCmd)); exit(EXIT_FAILURE); } strcpy(ExecCmd,param); } /*! Run an external process to get the name of a computer. \param ip The ip address. \param ip_len The number of bytes in the IP address. \return One of the ::ip2name_retcode value. */ static enum ip2name_retcode ip2name_exec(char *ip,int ip_len) { char cmd[CMD_BUFFER_SIZE]; int i; int j; int len; FILE *cmd_in; char buffer[512]; size_t nread; if (ExecCmd[0]=='\0') { debuga(_("No command to run to resolve an IP address. Please configure it in sarg.conf\n")); exit(EXIT_FAILURE); } j=0; len=strlen(ip); for (i=0 ; i=sizeof(cmd)) { debuga(_("IP address \"%s\" too long for the command to run\n"),ip); return(INRC_Error); } strcpy(cmd+j,ip); j+=len; i+=2; } else { if (j>=sizeof(cmd)) { debuga(_("IP address \"%.*s\" too long for the command to run\n"),ip_len,ip); return(INRC_Error); } cmd[j++]=ExecCmd[i]; } } cmd[j]='\0'; cmd_in=popen(cmd,"r"); if (!cmd_in) { debuga(_("Cannot run command %s\n"),cmd); exit(EXIT_FAILURE); } nread=fread(buffer,1,sizeof(buffer),cmd_in); if (pclose(cmd_in)==-1) { debuga(_("Command failed: %s\n"),cmd); exit(EXIT_FAILURE); } if (nread==0) return(INRC_NotFound); safe_strcpy(ip,buffer,ip_len); return(INRC_Found); } sarg-2.3.11/lastlog.c000066400000000000000000000103741324060677300143600ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void mklastlog(const char *outdir) { FILE *fp_in, *fp_ou; DIR *dirp; struct dirent *direntp; char buf[MAXLEN]; char temp[MAXLEN]; char warea[MAXLEN]; char ftime[128]; int ftot=0; time_t t; struct tm *local; struct stat statb; int cstatus; struct getwordstruct gwarea; if(LastLog <= 0) return; if (snprintf(temp,sizeof(temp),"%s/lastlog1",tmp)>=sizeof(temp)) { debuga(_("Path too long: ")); debuga_more("%s/lastlog1\n",tmp); exit(EXIT_FAILURE); } if((fp_ou=fopen(temp,"w"))==NULL) { debugapos("lastlog",_("Cannot open file \"%s\": %s\n"),temp,strerror(errno)); exit(EXIT_FAILURE); } if ((dirp = opendir(outdir)) == NULL) { debuga(_("Cannot open directory \"%s\": %s\n"),outdir,strerror(errno)); exit(EXIT_FAILURE); } while ((direntp = readdir( dirp )) != NULL ){ if(strchr(direntp->d_name,'-') == 0) continue; snprintf(warea,sizeof(warea),"%s%s",outdir,direntp->d_name); if (stat(warea,&statb) == -1) { debuga(_("Failed to get the creation time of \"%s\": %s\n"),warea,strerror(errno)); continue; } t=statb.st_ctime; local = localtime(&t); strftime(ftime, sizeof(ftime), "%Y%m%d%H%M%S", local); fprintf(fp_ou,"%s\t%s\n",ftime,direntp->d_name); ftot++; } closedir( dirp ); fclose(fp_ou); if(ftot<=LastLog) { if (debug) { debuga(ngettext("No old reports to delete as only %d report currently exist\n", "No old reports to delete as only %d reports currently exists\n",ftot),ftot); } if (!KeepTempLog && unlink(temp)) { debuga(_("Cannot delete \"%s\": %s\n"),temp,strerror(errno)); exit(EXIT_FAILURE); } return; } snprintf(buf,sizeof(buf),"sort -n -t \"\t\" -k 1,1 -o \"%s/lastlog\" \"%s\"",tmp,temp); cstatus=system(buf); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),buf); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(temp)) { debuga(_("Cannot delete \"%s\": %s\n"),temp,strerror(errno)); exit(EXIT_FAILURE); } if (debug) debuga(ngettext("%d report directory found\n","%d report directories found\n",ftot),ftot); ftot-=LastLog; if (debug) debuga(ngettext("%d old report to delete\n","%d old reports to delete\n",ftot),ftot); snprintf(temp,sizeof(temp),"%s/lastlog",tmp); if((fp_in=fopen(temp,"r"))==NULL) { debugapos("lastlog",_("Cannot open file \"%s\": %s\n"),temp,strerror(errno)); exit(EXIT_FAILURE); } while(ftot>0 && fgets(buf,sizeof(buf),fp_in)!=NULL) { fixendofline(buf); getword_start(&gwarea,buf); if (getword(warea,sizeof(warea),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),temp); exit(EXIT_FAILURE); } if(debug) debuga(_("Removing old report file \"%s\"\n"),gwarea.current); if (snprintf(temp,sizeof(temp),"%s%s",outdir,gwarea.current)>=sizeof(temp)) { debuga(_("Path too long: ")); debuga_more("%s%s\n",outdir,gwarea.current); exit(EXIT_FAILURE); } unlinkdir(temp,0); ftot--; } fclose(fp_in); if (!KeepTempLog) { snprintf(temp,sizeof(temp),"%s/lastlog",tmp); if (unlink(temp) == -1) debuga(_("Cannot delete \"%s\": %s\n"),temp,strerror(errno)); } return; } sarg-2.3.11/log.c000066400000000000000000001502761324060677300135020ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" #ifdef HAVE_GETOPT_H #include #endif #define REPORT_EVERY_X_LINES 5000 #define MAX_OPEN_USER_FILES 10 struct userfilestruct { struct userfilestruct *next; struct userinfostruct *user; FILE *file; }; /*@null@*/static char *userfile=NULL; numlist weekdays = { { 0, 1, 2, 3, 4, 5, 6 }, 7 }; numlist hours = { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }, 24 }; //! Selected locale set through the environment variable. char *CurrentLocale=NULL; static void getusers(const char *pwdfile, int debug); int main(int argc,char *argv[]) { enum isa_col_id { ISACOL_Ip, ISACOL_UserName, ISACOL_Date, ISACOL_Time, ISACOL_TimeTaken, ISACOL_Bytes, ISACOL_Uri, ISACOL_Status, ISACOL_Last //last entry of the list ! }; enum InputLogFormat { ILF_Unknown, ILF_Squid, ILF_Common, ILF_Sarg, ILF_Isa, ILF_Last //last entry of the list ! }; FILE *fp_in = NULL, *fp_denied=NULL, *fp_authfail=NULL, *fp_log=NULL; char sz_Download_Unsort[ 20000 ] ; FILE * fp_Download_Unsort = NULL ; extern int optind; extern int optopt; extern char *optarg; char data[255]; char elap[255]; char ip[MAXLEN]; char tam[255]; char fun[MAXLEN]; char wuser[MAXLEN]; char smartfilter[MAXLEN]; char dia[128]; char mes[30]; char hora[30]; char date[255]; char arq[255]; char arq_log[255]; int hm, hmf, hmr; char hm_str[15]; char uagent[MAXLEN]; char hexclude[MAXLEN]; char csort[MAXLEN]; int cstatus; char tbuf2[128]; char *str; char tmp3[MAXLEN]; char denied_unsort[MAXLEN]; char denied_sort[MAXLEN]; char authfail_unsort[MAXLEN]; char start_hour[128]; char *linebuf; const char *url; char *full_url; char user[MAX_USER_LEN]; char splitprefix[MAXLEN]; enum InputLogFormat ilf; int ilf_count[ILF_Last]; int ch; int x; int errflg=0; int puser=0; bool fhost=false; bool dns=false; bool fuser=false; int idata=0; int mindate=0; int maxdate=0; int iarq=0; int isa_ncols=0,isa_cols[ISACOL_Last]; int lastlog=-1; long long int nbytes; long int elap_time; bool from_stdin; bool from_pipe; int blen; int maxopenfiles; int nopen; bool id_is_ip; long totregsl=0; long totregsg=0; long totregsx=0; bool totper=false; long int max_elapsed=0; long long int iyear, imonth, iday; bool realt; bool userip; struct tm tt; struct tm *t; unsigned long recs1=0UL; unsigned long recs2=0UL; unsigned long int lines_read=0UL; unsigned long int records_kept=0UL; unsigned long int nusers=0UL; int OutputNonZero = REPORT_EVERY_X_LINES ; bool download_flag=false; char download_url[MAXLEN]; struct getwordstruct gwarea; longline line; time_t tnum; time_t start_time; time_t end_time; time_t read_start_time; time_t read_end_time; time_t process_start_time; time_t process_end_time; double read_elapsed; double process_elapsed; struct stat logstat; struct userinfostruct *uinfo; struct userfilestruct *first_user_file, *ufile, *ufile1, *prev_ufile; static int split=0; static int convert=0; static int output_css=0; static int show_statis=0; int option_index; static struct option long_options[]= { {"convert",no_argument,&convert,1}, {"css",no_argument,&output_css,1}, {"help",no_argument,NULL,'h'}, {"lastlog",required_argument,NULL,2}, {"keeplogs",no_argument,NULL,3}, {"split",no_argument,&split,1}, {"splitprefix",required_argument,NULL,'P'}, {"statistics",no_argument,&show_statis,1}, {0,0,0,0} }; start_time=time(NULL); #ifdef HAVE_LOCALE_H setlocale(LC_TIME,""); #endif #if defined(ENABLE_NLS) && defined(HAVE_LOCALE_H) CurrentLocale=setlocale (LC_ALL, ""); if (!CurrentLocale) { fprintf(stderr,"SARG: Cannot set the locale LC_ALL to the environment variable\n"); exit(EXIT_FAILURE); } if (!bindtextdomain (PACKAGE_NAME, LOCALEDIR)) { fprintf(stderr,"SARG: Cannot bind to text domain %s in directory %s (%s)\n",PACKAGE_NAME,LOCALEDIR,strerror(errno)); exit(EXIT_FAILURE); } if (!textdomain (PACKAGE_NAME)) { fprintf(stderr,"SARG: Cannot set gettext domain for %s PACKAGE_NAME (%s)\n",PACKAGE_NAME,strerror(errno)); exit(EXIT_FAILURE); } #endif //ENABLE_NLS BgImage[0]='\0'; LogoImage[0]='\0'; LogoText[0]='\0'; PasswdFile[0]='\0'; OutputEmail[0]='\0'; UserAgentLog[0]='\0'; ExcludeHosts[0]='\0'; ExcludeUsers[0]='\0'; ConfigFile[0]='\0'; code[0]='\0'; LastLog=0; ReportType=0UL; UserTabFile[0]='\0'; BlockIt[0]='\0'; ExternalCSSFile[0]='\0'; RedirectorLogFormat[0]='\0'; NRedirectorLogs=0; for (ilf=0 ; ilf=MAXLOGS) { debuga(_("Too many log files passed on command line with option %s.\n"),"-l"); exit(EXIT_FAILURE); } if (strlen(optarg)>=MAX_LOG_FILELEN) { debuga(_("Log file name too long passed on command line with option %s: %s\n"),"-l",optarg); exit(EXIT_FAILURE); } strcpy(AccessLog[NAccessLog],optarg); NAccessLog++; AccessLogFromCmdLine++; break; case 'L': if (NRedirectorLogs>MAX_REDIRECTOR_LOGS) { debuga(_("Too many log files passed on command line with option %s.\n"),"-L"); exit(EXIT_FAILURE); } if (strlen(optarg)>=MAX_REDIRECTOR_FILELEN) { debuga(_("Log file name too long passed on command line with option %s: %s\n"),"-L",optarg); exit(EXIT_FAILURE); } strcpy(RedirectorLogs[NRedirectorLogs],optarg); NRedirectorLogs++; RedirectorLogFromCmdLine++; break; case 'm': debugm++; break; case 'n': dns=true; break; case 'o': safe_strcpy(outdir,optarg,sizeof(outdir)); break; case 'p': userip=true; break; case 'P': safe_strcpy(splitprefix,optarg,sizeof(splitprefix)); break; case 'r': realt=true; break; case 's': safe_strcpy(site,optarg,sizeof(site)); break; case 't': { int h1,m1,h2,m2; if(strstr(optarg,"-") == 0) { if(sscanf(optarg,"%d:%d",&h1,&m1)!=2) { debuga(_("Time period passed on the command line with option -t must be HH:MM\n")); exit(EXIT_FAILURE); } hm=h1*100+m1; hmf=hm; snprintf(hm_str,sizeof(hm_str),"%02d:%02d",h1,m1); } else { if(sscanf(optarg,"%d:%d-%d:%d",&h1,&m1,&h2,&m2)!=4) { debuga(_("Time range passed on the command line with option -t must be HH:MM-HH:MM\n")); exit(EXIT_FAILURE); } hm=h1*100+m1; hmf=h2*100+m2; snprintf(hm_str,sizeof(hm_str),"%02d:%02d-%02d:%02d",h1,m1,h2,m2); } break; } case 'u': safe_strcpy(us,optarg,sizeof(us)); break; case 'v': version(); break; case 'w': safe_strcpy(tmp,optarg,sizeof(tmp)); break; case 'x': debug++; break; case 'y': //unused option langcode++; break; case 'z': debugz++; break; case ':': debuga(_("Option -%c requires an argument\n"),optopt); exit(EXIT_FAILURE); case '?': usage(argv[0]); exit(EXIT_FAILURE); default: abort(); } } if (errflg>0) { usage(argv[0]); exit(2); } if (optind=MAXLOGS) { debuga(_("Too many log files passed on command line.\n")); exit(EXIT_FAILURE); } if (strlen(argv[iarq])>=MAX_LOG_FILELEN) { debuga(_("Log file name too long passed on command line: %s\n"),argv[iarq]); exit(EXIT_FAILURE); } strcpy(AccessLog[NAccessLog],argv[iarq]); NAccessLog++; AccessLogFromCmdLine++; } } if(debug) debuga(_("Init\n")); if(ConfigFile[0] == '\0') snprintf(ConfigFile,sizeof(ConfigFile),"%s/sarg.conf",SYSCONFDIR); if(access(ConfigFile, R_OK) != 0) { debuga(_("Cannot open file \"%s\": %s\n"),ConfigFile,strerror(errno)); exit(EXIT_FAILURE); } if(access(ConfigFile, R_OK) == 0) getconf(); if(userip) UserIp=true; if(dns) ip2name_forcedns(); if (lastlog>=0) LastLog=lastlog; if(outdir[0] == '\0') strcpy(outdir,OutputDir); if(outdir[0] != '\0') strcat(outdir,"/"); if(realt) { realtime(); exit(EXIT_SUCCESS); } if(IndexTree == INDEX_TREE_FILE) strcpy(ImageFile,"../images"); else strcpy(ImageFile,"../../../images"); dataonly=0; if(DataFile[0] != '\0') dataonly++; if(df[0] == '\0') strcpy(df,DateFormat); else strcpy(DateFormat,df); if(df[0] == '\0') { strcpy(df,"u"); strcpy(DateFormat,"u"); } if (df[0]=='w') IndexTree=INDEX_TREE_FILE; if(NAccessLog == 0) { strcpy(AccessLog[0],"/var/log/squid/access.log"); NAccessLog++; } if(output_css) { css_content(stdout); exit(EXIT_SUCCESS); } if(split) { for (iarq=0 ; iarqtm_year+1900)*10000+(logtime->tm_mon+1)*100+logtime->tm_mday0) { for (i=0 ; i=sizeof(arq_log)) { debuga(_("Path too long: ")); debuga_more("%s/sarg_temp.log\n",ParsedOutputLog); exit(EXIT_FAILURE); } if((fp_log=MY_FOPEN(arq_log,"w"))==NULL) { debugapos("log",_("Cannot open file \"%s\": %s\n"),arq_log,strerror(errno)); exit(EXIT_FAILURE); } fputs("*** SARG Log ***\n",fp_log); } recs2++; if( ShowReadStatistics && !from_stdin && !from_pipe && --OutputNonZero<=0) { double perc = recs2 * 100. / recs1 ; printf(_("SARG: Records in file: %lu, reading: %3.2lf%%"),recs2,perc); putchar('\r'); fflush (stdout); OutputNonZero = REPORT_EVERY_X_LINES ; } if(blen < 58) continue; if(strstr(linebuf,"HTTP/0.0") != 0) continue; if(strstr(linebuf,"logfile turned over") != 0) continue; if(linebuf[0] == ' ') continue; // exclude_string if(ExcludeString[0] != '\0') { bool exstring=false; getword_start(&gwarea,ExcludeString); while(strchr(gwarea.current,':') != 0) { if (getword_multisep(val1,sizeof(val1),&gwarea,':')<0) { debuga(_("Invalid record in exclusion string\n")); exit(EXIT_FAILURE); } if((str=(char *) strstr(linebuf,val1)) != (char *) NULL ) { exstring=true; break; } } if(!exstring && (str=(char *) strstr(linebuf,gwarea.current)) != (char *) NULL ) exstring=true; if(exstring) continue; } totregsl++; if(debugm) printf("BUF=%s\n",linebuf); t=NULL; if (ilf==ILF_Squid || ilf==ILF_Common || ilf==ILF_Unknown) { getword_start(&gwarea,linebuf); if (getword(data,sizeof(data),&gwarea,' ')<0) { debuga(_("Invalid time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if((str=(char *) strchr(data, '.')) != (char *) NULL && (str=(char *) strchr(str+1, '.')) != (char *) NULL ) { strcpy(ip,data); strcpy(elap,"0"); if(squid24) { if (getword(user,sizeof(user),&gwarea,' ')<0 || getword_skip(255,&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } } else { if (getword_skip(255,&gwarea,' ')<0 || getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } } if (getword(data,sizeof(data),&gwarea,']')<0 || getword_skip(MAXLEN,&gwarea,'"')<0 || getword(fun,sizeof(fun),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_ptr(linebuf,&full_url,&gwarea,' ')<0) { debuga(_("Invalid url in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_skip(MAXLEN,&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(code2,sizeof(code2),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(tam,sizeof(tam),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if((str=(char *) strchr(gwarea.current, ' ')) != (char *) NULL ) { if (getword(code,sizeof(code),&gwarea,' ')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } } else { if (getword(code,sizeof(code),&gwarea,'\0')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } } if ((str = strchr(code, ':')) != NULL) *str = '/'; if(strcmp(tam,"\0") == 0) strcpy(tam,"0"); ilf=ILF_Common; ilf_count[ilf]++; getword_start(&gwarea,data+1); if (getword_multisep(data,sizeof(data),&gwarea,':')<0){ debuga(_("Invalid date in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_multisep(hora,sizeof(hora),&gwarea,' ')<0){ debuga(_("Invalid date in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } getword_start(&gwarea,data); if (getword_atoll(&iday,&gwarea,'/')<0){ debuga(_("Invalid date in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(mes,sizeof(mes),&gwarea,'/')<0){ debuga(_("Invalid date in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&iyear,&gwarea,'/')<0){ debuga(_("Invalid date in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } imonth=month2num(mes)+1; idata=builddia(iday,imonth,iyear); computedate(iyear,imonth,iday,&tt); if (sscanf(hora,"%d:%d:%d",&tt.tm_hour,&tt.tm_min,&tt.tm_sec)!=3 || tt.tm_hour<0 || tt.tm_hour>=24 || tt.tm_min<0 || tt.tm_min>=60 || tt.tm_sec<0 || tt.tm_sec>=60) { debuga(_("Invalid time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } t=&tt; } if(ilf==ILF_Unknown || ilf==ILF_Squid) { if (getword(elap,sizeof(elap),&gwarea,' ')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } while(strcmp(elap,"") == 0 && gwarea.current[0] != '\0') if (getword(elap,sizeof(elap),&gwarea,' ')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if(strlen(elap) < 1) continue; if (getword(ip,sizeof(ip),&gwarea,' ')<0){ debuga(_("Invalid client IP address in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(code,sizeof(code),&gwarea,' ')<0){ debuga(_("Invalid result code in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(tam,sizeof(tam),&gwarea,' ')<0){ debuga(_("Invalid amount of data in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(fun,sizeof(fun),&gwarea,' ')<0){ debuga(_("Invalid request method in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_ptr(linebuf,&full_url,&gwarea,' ')<0){ debuga(_("Invalid url in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,' ')<0){ debuga(_("Invalid user ID in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } ilf=ILF_Squid; ilf_count[ilf]++; tnum=atoi(data); t=localtime(&tnum); if (t == NULL) { debuga(_("Cannot convert the timestamp from the squid log file\n")); exit(EXIT_FAILURE); } strftime(tbuf2, sizeof(tbuf2), "%H%M", t); idata=(t->tm_year+1900)*10000+(t->tm_mon+1)*100+t->tm_mday; } } if (ilf==ILF_Sarg) { getword_start(&gwarea,linebuf); if (getword(data,sizeof(data),&gwarea,'\t')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(hora,sizeof(hora),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_ptr(linebuf,&full_url,&gwarea,'\t')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(tam,sizeof(tam),&gwarea,'\t')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(code,sizeof(code),&gwarea,'\t')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(elap,sizeof(elap),&gwarea,'\t')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword(smartfilter,sizeof(smartfilter),&gwarea,'\0')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } getword_start(&gwarea,data); if (getword_atoll(&iday,&gwarea,'/')<0 || iday<1 || iday>31){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&imonth,&gwarea,'/')<0 || imonth<1 || imonth>12){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&iyear,&gwarea,'\0')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } idata=builddia(iday,imonth,iyear); computedate(iyear,imonth,iday,&tt); if (sscanf(hora,"%d:%d:%d",&tt.tm_hour,&tt.tm_min,&tt.tm_sec)!=3 || tt.tm_hour<0 || tt.tm_hour>=24 || tt.tm_min<0 || tt.tm_min>=60 || tt.tm_sec<0 || tt.tm_sec>=60) { debuga(_("Invalid time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } t=&tt; } if (ilf==ILF_Isa) { if (linebuf[0] == '#') { int ncols,cols[ISACOL_Last]; fixendofline(linebuf); getword_start(&gwarea,linebuf); // remove the #Fields: column at the beginning of the line if (getword_skip(1000,&gwarea,' ')<0){ debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } for (ncols=0 ; ncols=0) { isa_ncols=ncols; for (ncols=0 ; ncols=sizeof(ip)) { debuga(_("Invalid IP address in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(ip,str); } else if (x==isa_cols[ISACOL_UserName]) { if (strlen(str)>=sizeof(user)) { debuga(_("Invalid user ID in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(user,str); } else if (x==isa_cols[ISACOL_Date]) { if (strlen(str)>=sizeof(data)) { debuga(_("Invalid record in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(data,str); } else if (x==isa_cols[ISACOL_Time]) { if (strlen(str)>=sizeof(hora)) { debuga(_("Invalid time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(hora,str); } else if (x==isa_cols[ISACOL_TimeTaken]) { if (strlen(str)>=sizeof(elap)) { debuga(_("Invalid download duration in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(elap,str); } else if (x==isa_cols[ISACOL_Bytes]) { if (strlen(str)>=sizeof(tam)) { debuga(_("Invalid download size in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(tam,str); } else if (x==isa_cols[ISACOL_Uri]) { full_url=str; } else if (x==isa_cols[ISACOL_Status]) { if (strlen(str)>=sizeof(code)) { debuga(_("Invalid access code in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } strcpy(code,str); } } if(strcmp(code,"401") == 0 || strcmp(code,"403") == 0 || strcmp(code,"407") == 0) { sprintf(val1,"DENIED/%s",code); strcpy(code,val1); } getword_start(&gwarea,data); if (getword_atoll(&iyear,&gwarea,'-')<0){ debuga(_("Invalid year in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&imonth,&gwarea,'-')<0){ debuga(_("Invalid month in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&iday,&gwarea,'\0')<0){ debuga(_("Invalid day in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } idata=builddia(iday,imonth,iyear); computedate(iyear,imonth,iday,&tt); if (isa_cols[ISACOL_Time]>=0) { if (sscanf(hora,"%d:%d:%d",&tt.tm_hour,&tt.tm_min,&tt.tm_sec)!=3 || tt.tm_hour<0 || tt.tm_hour>=24 || tt.tm_min<0 || tt.tm_min>=60 || tt.tm_sec<0 || tt.tm_sec>=60) { debuga(_("Invalid time in file \"%s\"\n"),arq); exit(EXIT_FAILURE); } } t=&tt; } if (t==NULL) { debuga(_("Unknown input log file format\n")); break; } strftime(dia, sizeof(dia), "%d/%m/%Y", t); snprintf(hora,sizeof(hora),"%02d:%02d:%02d",t->tm_hour,t->tm_min,t->tm_sec); if(debugm) printf("DATE=%s IDATA=%d DFROM=%d DUNTIL=%d\n",date,idata,dfrom,duntil); if(date[0] != '\0'){ if(idata < dfrom || idata > duntil) continue; } // Record only hours usage which is required if (t) { if( bsearch( &( t -> tm_wday ), weekdays.list, weekdays.len, sizeof( int ), compar ) == NULL ) continue; if( bsearch( &( t -> tm_hour ), hours.list, hours.len, sizeof( int ), compar ) == NULL ) continue; } if(strlen(user) > MAX_USER_LEN) { if (debugm) printf(_("User ID too long: %s\n"),user); totregsx++; continue; } // include_users if(IncludeUsers[0] != '\0') { snprintf(val1,sizeof(val1),":%s:",user); if((str=(char *) strstr(IncludeUsers,val1)) == (char *) NULL ) continue; } if(vercode(code)) { if (debugm) printf(_("Excluded code: %s\n"),code); totregsx++; continue; } if(testvaliduserchar(user)) continue; #if 0 if((str = strstr(user,"%20")) != NULL) { /* This is a patch introduced to solve bug #1624251 reported at sourceforge but the side effect is to truncate the name at the first space and merge the reports of people whose name is identical up to the first space. The old code used to truncate the user name at the first % if a %20 was found anywhere in the string. That means the string could be truncated at the wrong place if another % occured before the %20. This new code should avoid that problem and only truncate at the space. There is no bug report indicating that anybody noticed this. */ *str='\0'; } /* Code prior to 2.2.7 used to replace any %xx by a dot as long as a %5c was found in the user name. */ while((str = strstr(user,"%5c")) != NULL) { *str='.'; for (x=3 ; str[x] ; x++) str[x-2]=str[x]; } #endif // replace any tab by a single space for (str=full_url ; *str ; str++) if (*str=='\t') *str=' '; for (str=code ; *str ; str++) if (*str=='\t') *str=' '; if(ilf!=ILF_Sarg) { /* The full URL is not saved in sarg log. There is no point in testing the URL to detect a downloaded file. */ download_flag=is_download_suffix(full_url); if (download_flag) { safe_strcpy(download_url,full_url,sizeof(download_url)); download_count++; } } else download_flag=false; url=process_url(full_url,LongUrl); if (!url || url[0] == '\0') continue; if(addr[0] != '\0'){ if(strcmp(addr,ip)!=0) continue; } if(fhost) { if(!vhexclude(url)) { if (debugm) printf(_("Excluded site: %s\n"),url); totregsx++; continue; } } if(hm >= 0 && hmf >= 0) { hmr=t->tm_hour*100+t->tm_min; if(hmr < hm || hmr > hmf) continue; } if(site[0] != '\0'){ if(strstr(url,site)==0) continue; } if(UserIp) { strcpy(user,ip); id_is_ip=true; } else { id_is_ip=false; if(strcmp(user,"-") == 0 || strcmp(user," ") == 0 || strcmp(user,"") == 0) { if(RecordsWithoutUser == RECORDWITHOUTUSER_IP) { strcpy(user,ip); id_is_ip=true; } if(RecordsWithoutUser == RECORDWITHOUTUSER_IGNORE) continue; if(RecordsWithoutUser == RECORDWITHOUTUSER_EVERYBODY) strcpy(user,"everybody"); } else { strlow(user); if(NtlmUserFormat == NTLMUSERFORMAT_USER) { if ((str=strchr(user,'+'))!=NULL || (str=strchr(user,'\\'))!=NULL || (str=strchr(user,'_'))!=NULL) { strcpy(warea,str+1); strcpy(user,warea); } } } } if(us[0] != '\0'){ if(strcmp(user,us)!=0) continue; } if(puser) { snprintf(wuser,sizeof(wuser),":%s:",user); if(strstr(userfile, wuser) == 0) continue; } if(fuser) { if(!vuexclude(user)) { if (debugm) printf(_("Excluded user: %s\n"),user); totregsx++; continue; } } if(strcmp(user,"-") ==0 || strcmp(user," ") ==0 || strcmp(user,"") ==0 || strcmp(user,":") ==0) continue; nbytes=atoll(tam); if (nbytes<0) nbytes=0; elap_time=atol(elap); if (elap_time<0) elap_time=0; if(max_elapsed) { if(elap_time>max_elapsed) { elap_time=0; } } if((str=(char *) strstr(linebuf, "[SmartFilter:")) != (char *) NULL ) { fixendofline(str); snprintf(smartfilter,sizeof(smartfilter),"\"%s\"",str+1); } else strcpy(smartfilter,"\"\""); nopen=0; prev_ufile=NULL; for (ufile=first_user_file ; ufile && strcmp(user,ufile->user->id)!=0 ; ufile=ufile->next) { prev_ufile=ufile; if (ufile->file) nopen++; } if (!ufile) { ufile=malloc(sizeof(*ufile)); if (!ufile) { debuga(_("Not enough memory to store user %s\n"),user); exit(EXIT_FAILURE); } memset(ufile,0,sizeof(*ufile)); ufile->next=first_user_file; first_user_file=ufile; uinfo=userinfo_create(user,ip); ufile->user=uinfo; uinfo->id_is_ip=id_is_ip; nusers++; } else { if (prev_ufile) { prev_ufile->next=ufile->next; ufile->next=first_user_file; first_user_file=ufile; } } #ifdef ENABLE_DOUBLE_CHECK_DATA if (strcmp(code,"TCP_DENIED/407")!=0) { ufile->user->nbytes+=nbytes; ufile->user->elap+=elap_time; } #endif if (ufile->file==NULL) { if (nopen>=maxopenfiles) { x=0; for (ufile1=first_user_file ; ufile1 ; ufile1=ufile1->next) { if (ufile1->file!=NULL) { if (x>=maxopenfiles) { if (fclose(ufile1->file)==EOF) { debuga(_("Failed to close file \"%s\": %s\n"),ufile1->user->id,strerror(errno)); exit(EXIT_FAILURE); } ufile1->file=NULL; } x++; } } } if (snprintf (tmp3, sizeof(tmp3), "%s/%s.user_unsort", tmp, ufile->user->filename)>=sizeof(tmp3)) { debuga(_("Path too long: ")); debuga_more("%s/%s.user_unsort\n", tmp, ufile->user->filename); exit(EXIT_FAILURE); } if ((ufile->file = MY_FOPEN (tmp3, "a")) == NULL) { debugapos("log",_("Cannot open file \"%s\": %s\n"), tmp3, strerror(errno)); exit (1); } } if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,(int64_t)nbytes,code,elap_time,smartfilter)<=0) { debuga(_("Write error in the log file of user %s\n"),user); exit(EXIT_FAILURE); } records_kept++; if(fp_log && ilf!=ILF_Sarg) fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,(int64_t)nbytes,code,elap_time,smartfilter); totregsg++; if(!dataonly && download_flag && strstr(code,"DENIED") == 0) { ndownload = 1; if ( ! fp_Download_Unsort ) { if ((fp_Download_Unsort = MY_FOPEN ( sz_Download_Unsort, "a")) == NULL) { debugapos("log",_("Cannot open file \"%s\": %s\n"),sz_Download_Unsort, strerror(errno)); exit (1); } } fprintf(fp_Download_Unsort,"%s\t%s\t%s\t%s\t%s\n",dia,hora,user,ip,download_url); } if((ReportType & REPORT_TYPE_DENIED) != 0) { if(fp_denied && strstr(code,"DENIED/403") != 0) { fprintf(fp_denied, "%s\t%s\t%s\t%s\t%s\n",dia,hora,user,ip,full_url); denied_count++; } } if((ReportType & REPORT_TYPE_AUTH_FAILURES) != 0) { if(fp_authfail && (strstr(code,"DENIED/401") != 0 || strstr(code,"DENIED/407") != 0)) { fprintf(fp_authfail, "%s\t%s\t%s\t%s\t%s\n",dia,hora,user,ip,full_url); authfail_count++; } } if (ilf!=ILF_Sarg) { if(!totper || idatamaxdate) { maxdate=idata; memcpy(&period.end,t,sizeof(*t)); } totper=true; } if(debugm){ printf("IP=\t%s\n",ip); printf("USER=\t%s\n",user); printf("ELAP=\t%ld\n",elap_time); printf("DATE=\t%s\n",dia); printf("TIME=\t%s\n",hora); printf("FUNC=\t%s\n",fun); printf("URL=\t%s\n",url); printf("CODE=\t%s\n",code); printf("LEN=\t%"PRIi64"\n",(int64_t)nbytes); } } if (!from_stdin) { if (from_pipe) pclose(fp_in); else { fclose(fp_in); if( ShowReadStatistics ) { printf(_("SARG: Records in file: %lu, reading: %3.2lf%%"),recs1,100.); putchar('\n'); } } } } read_end_time=time(NULL); read_elapsed=(double)read_end_time-(double)read_start_time; if (debug) debuga(_(" Records read: %ld, written: %ld, excluded: %ld\n"),totregsl,totregsg,totregsx); longline_destroy(&line); if ( fp_Download_Unsort ) fclose (fp_Download_Unsort); for (ufile=first_user_file ; ufile ; ufile=ufile1) { ufile1=ufile->next; if (ufile->file!=NULL) fclose(ufile->file); free(ufile); } free_download(); free_excludecodes(); free_exclude(); if(debug) { int totalcount=0; for (ilf=0 ; ilf0 && ilf_count[ILF_Squid]>0) debuga(_("Log with mixed records format (squid and common log)\n")); if(ilf_count[ILF_Common]>0 && ilf_count[ILF_Squid]==0) debuga(_("Common log format\n")); if(ilf_count[ILF_Common]==0 && ilf_count[ILF_Squid]>0) debuga(_("Squid log format\n")); if(ilf_count[ILF_Sarg]>0) debuga(_("Sarg log format\n")); if(totalcount==0 && totregsg) debuga(_("Log with invalid format\n")); } if(!totregsg){ debuga(_("No records found\n")); debuga(_("End\n")); if(fp_denied) fclose(fp_denied); if(fp_authfail) fclose(fp_authfail); userinfo_free(); if(userfile) free(userfile); close_usertab(); exit(EXIT_SUCCESS); } if (date[0]!='\0') { char date0[30], date1[30]; strftime(date0,sizeof(date0),"%d/%m/%Y",&period.start); strftime(date1,sizeof(date1),"%d/%m/%Y",&period.end); debuga(_("Period covered by log files: %s-%s\n"),date0,date1); getperiod_fromrange(&period,dfrom,duntil); } if (getperiod_buildtext(&period)<0) { debuga(_("Failed to build the string representation of the date range\n")); exit(EXIT_FAILURE); } if(debugz){ debugaz(_("date=%s\n"),dia); debugaz(_("period=%s\n"),period.text); } if(debug) { debuga(_("Period: %s"),period.text); debuga_more("\n"); } if(fp_denied) fclose(fp_denied); if(fp_authfail) fclose(fp_authfail); if(fp_log != NULL) { char end_hour[128]; char val2[40]; char val4[255];//val4 must not be bigger than arq_log without fixing the strcpy below fclose(fp_log); safe_strcpy(end_hour,tbuf2,sizeof(end_hour)); strftime(val2,sizeof(val2),"%d%m%Y",&period.start); strftime(val1,sizeof(val1),"%d%m%Y",&period.end); if (snprintf(val4,sizeof(val4),"%s/sarg-%s_%s-%s_%s.log",ParsedOutputLog,val2,start_hour,val1,end_hour)>=sizeof(val4)) { debuga(_("Path too long: ")); debuga_more("%s/sarg-%s_%s-%s_%s.log\n",ParsedOutputLog,val2,start_hour,val1,end_hour); exit(EXIT_FAILURE); } if (rename(arq_log,val4)) { debuga(_("Failed to rename \"%s\" into \"%s\": %s\n"),arq_log,val4,strerror(errno)); } else { strcpy(arq_log,val4); if(strcmp(ParsedOutputLogCompress,"nocompress") != 0 && ParsedOutputLogCompress[0] != '\0') { /* No double quotes around ParsedOutputLogCompress because it may contain command line options. If double quotes are necessary around the command name, put them in the configuration file. */ if (snprintf(val1,sizeof(val1),"%s \"%s\"",ParsedOutputLogCompress,arq_log)>=sizeof(val1)) { /* TRANSLATORS: The message is followed by the command that's too long. */ debuga(_("Command too long: ")); debuga_more("%s \"%s\"\n",ParsedOutputLogCompress,arq_log); exit(EXIT_FAILURE); } cstatus=system(val1); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("command: %s\n"),val1); exit(EXIT_FAILURE); } } } if(debug) debuga(_("Sarg parsed log saved as %s\n"),arq_log); } if(DataFile[0] == '\0' && (ReportType & REPORT_TYPE_DENIED) != 0) { if (snprintf(csort,sizeof(csort),"sort -T \"%s\" -t \"\t\" -k 3,3 -k 5,5 -o \"%s\" \"%s\"",tmp,denied_sort,denied_unsort)>=sizeof(csort)) { debuga(_("Command too long: ")); debuga_more("sort -T \"%s\" -t \"\t\" -k 3,3 -k 5,5 -o \"%s\" \"%s\"",tmp,denied_sort,denied_unsort); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(denied_unsort)) { debuga(_("Cannot delete \"%s\": %s\n"),denied_unsort,strerror(errno)); exit(EXIT_FAILURE); } } process_start_time=time(NULL); if(DataFile[0] != '\0') data_file(tmp); else gerarel(); process_end_time=time(NULL); process_elapsed=(double)process_end_time-(double)process_start_time; if((ReportType & REPORT_TYPE_DENIED) != 0) { if (!KeepTempLog && unlink(denied_sort) && errno!=ENOENT) debuga(_("Cannot delete \"%s\": %s\n"),denied_sort,strerror(errno)); } if(!KeepTempLog && strcmp(tmp,"/tmp") != 0) { unlinkdir(tmp,0); } ip2name_cleanup(); free_hostalias(); userinfo_free(); if(userfile) free(userfile); close_usertab(); end_time=time(NULL); if (show_statis) { double elapsed=(double)end_time-(double)start_time; debuga(_("Total execution time: %.0lf seconds\n"),elapsed); if (read_elapsed>0.) { debuga(_("Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n"),lines_read,read_elapsed,(double)lines_read/read_elapsed); } if (process_elapsed>0.) { debuga(_("Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n"),records_kept,process_elapsed,(double)records_kept/process_elapsed); debuga(_("Users: %lu users in %.0lf seconds (%.0lf users/s)\n"),nusers,process_elapsed,(double)nusers/process_elapsed); } } if(debug) debuga(_("End\n")); exit(EXIT_SUCCESS); } static void getusers(const char *pwdfile, int debug) { FILE *fp_usr; char buf[255]; char *str; long int nreg=0; if(debug) debuga(_("Loading password file from %s\n"),pwdfile); if ((fp_usr = fopen(pwdfile, "r")) == NULL) { debugapos("getusers",_("Cannot open file \"%s\": %s\n"),pwdfile,strerror(errno)); exit(EXIT_FAILURE); } if (fseek(fp_usr, 0, SEEK_END)==-1) { debuga(_("Failed to move till the end of file \"%s\": %s\n"),pwdfile,strerror(errno)); exit(EXIT_FAILURE); } nreg = ftell(fp_usr); if (nreg<0) { debuga(_("Cannot get the size of file \"%s\": %s\n"),pwdfile,strerror(errno)); exit(EXIT_FAILURE); } nreg = nreg+5000; if (fseek(fp_usr, 0, SEEK_SET)==-1) { debuga(_("Failed to rewind file \"%s\": %s\n"),pwdfile,strerror(errno)); exit(EXIT_FAILURE); } if((userfile=(char *) malloc(nreg))==NULL){ debuga(_("malloc failed to allocate %ld bytes\n"),nreg); exit(EXIT_FAILURE); } bzero(userfile,nreg); strcpy(userfile,":"); while(fgets(buf,sizeof(buf),fp_usr)!=NULL) { str=strchr(buf,':'); if (!str) { debuga(_("Invalid user in file \"%s\"\n"),pwdfile); exit(EXIT_FAILURE); } str[1]='\0'; strcat(userfile,buf); } fclose(fp_usr); return; } sarg-2.3.11/longline.c000066400000000000000000000120601324060677300145140ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" //! The size, in bytes, to allocate from the start. #define INITIAL_LINE_BUFFER_SIZE 32768 /*! The amount by which the line buffer size is increased when it turns out to be too small to accomodate the line to read. */ #define LINE_BUFFER_SIZE_INCREMENT 8192 /*! Maximum size of the line buffer. A text line read from the file must be smaller than this value or the functions fails and aborts the program. 10MB should not be a problem as most of the line is filled with the URL and squid 3 limits the URL to 4096 bytes (see MAX_URL). Squid has reportedly been tested with MAX_URL set up to 32KB so I'm not expecting URL much longer than that. Other proxies might handle longer URLs but certainly not longer than 10MB. Now, why put a limit? Sarg version 2.3 originaly had no limits until sarg 2.3.3. At that point a user with a defective network mount point reported that sarg was eating up 8GB of memory available on the server triggering the OOM killer. So the limit is here to prevent sarg from choking on an invalid file. */ #define MAX_LINE_BUFFER_SIZE (10*1024*1024) struct longlinestruct { //! The buffer to store the data read from the log file. char *buffer; //! The size of the buffer. size_t size; //! The number of bytes stored in the buffer. size_t length; //! The position of the beginning of the current string. size_t start; //! The position of the end of the current string. size_t end; }; longline longline_create(void) { longline line; line=malloc(sizeof(*line)); if (line==NULL) return(NULL); line->size=INITIAL_LINE_BUFFER_SIZE; line->buffer=malloc(line->size); if (line->buffer==NULL) { free(line); return(NULL); } line->start=0; line->end=0; line->length=0; return(line); } void longline_reset(longline line) { if (line!=NULL) { line->start=0; line->end=0; line->length=0; } } char *longline_read(FILE *fp_in,longline line) { int i; char *newbuf; size_t nread; if (line==NULL || line->buffer==NULL) return(NULL); while (true) { for (i=line->end ; ilength && (line->buffer[i]=='\n' || line->buffer[i]=='\r') ; i++); if (ilength) { line->end=i; break; } nread=(feof(fp_in)!=0) ? 0 : fread(line->buffer,1,line->size,fp_in); if (nread==0) return(NULL); line->length=nread; line->end=0; } line->start=line->end; while (true) { for (i=line->end ; ilength ; i++) { if ((unsigned char)line->buffer[i]>=' ') continue; if (line->buffer[i]=='\n' || line->buffer[i]=='\r') break; } line->end=i; if (line->endlength) break; if (line->start>0) { for (i=line->start ; ilength ; i++) line->buffer[i-line->start]=line->buffer[i]; line->length-=line->start; line->end-=line->start; line->start=0; } if (line->length>=line->size) { line->size+=LINE_BUFFER_SIZE_INCREMENT; if (line->size>=MAX_LINE_BUFFER_SIZE) { debuga(_("A text line is more than %d bytes long denoting a corrupted file\n"),MAX_LINE_BUFFER_SIZE); exit(EXIT_FAILURE); } newbuf=realloc(line->buffer,line->size); if (!newbuf) { debuga(_("Not enough memory to read one more line from the file\n")); exit(EXIT_FAILURE); } line->buffer=newbuf; } nread=(feof(fp_in)!=0) ? 0 : fread(line->buffer+line->length,1,line->size-line->length,fp_in); if (nread==0) { if (line->end<=line->start) return(NULL); if (line->end>=line->size) { line->end=line->size; line->size++; newbuf=realloc(line->buffer,line->size); if (!newbuf) { debuga(_("Not enough memory to read one more line from the file\n")); exit(EXIT_FAILURE); } line->buffer=newbuf; } line->buffer[line->end]='\0'; return(line->buffer+line->start); } line->length+=nread; } line->buffer[line->end++]='\0'; return(line->buffer+line->start); } void longline_destroy(longline *line_ptr) { longline line; if (line_ptr==NULL || *line_ptr==NULL) return; line=*line_ptr; *line_ptr=NULL; if (line->buffer!=NULL) free(line->buffer); free(line); } sarg-2.3.11/po/000077500000000000000000000000001324060677300131605ustar00rootroot00000000000000sarg-2.3.11/po/ChangeLog000066400000000000000000000007161324060677300147360ustar00rootroot000000000000002010-02-09 gettextize * Makefile.in.in: New file, from gettext-0.17. * boldquot.sed: New file, from gettext-0.17. * en@boldquot.header: New file, from gettext-0.17. * en@quot.header: New file, from gettext-0.17. * insert-header.sin: New file, from gettext-0.17. * quot.sed: New file, from gettext-0.17. * remove-potcdate.sin: New file, from gettext-0.17. * Rules-quot: New file, from gettext-0.17. * POTFILES.in: New file. sarg-2.3.11/po/LINGUAS000066400000000000000000000001161324060677300142030ustar00rootroot00000000000000bg ca cs da de el es fr hu id it ja lv nl pl pt pt_BR ro ru sk sr tr uk zh_CN sarg-2.3.11/po/Makefile.in.in000066400000000000000000000422511324060677300156360ustar00rootroot00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. # # Origin: gettext-0.19.8 GETTEXT_MACRO_VERSION = 0.19 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SED = @SED@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ # When building gettext-tools, we prefer to use the built programs # rather than installed programs. However, we can't do that when we # are cross compiling. CROSS_COMPILING = @CROSS_COMPILING@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot POFILESDEPS_yes = $(POFILESDEPS_) POFILESDEPS_no = POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) DISTFILESDEPS_ = update-po DISTFILESDEPS_yes = $(DISTFILESDEPS_) DISTFILESDEPS_no = DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. CHECK_MACRO_VERSION = \ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. # The determination of whether the package xyz is a GNU one is based on the # heuristic whether some file in the top level directory mentions "GNU xyz". # If GNU 'find' is available, we avoid grepping through monster files. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed package_gnu="$(PACKAGE_GNU)"; \ test -n "$$package_gnu" || { \ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ -size -10000000c -exec grep 'GNU @PACKAGE@' \ /dev/null '{}' ';' 2>/dev/null; \ else \ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ fi; \ } | grep -v 'libtool:' >/dev/null; then \ package_gnu=yes; \ else \ package_gnu=no; \ fi; \ }; \ if test "$$package_gnu" = "yes"; then \ package_prefix='GNU '; \ else \ package_prefix=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_prefix}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot-header; then \ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ rm -f $(DOMAIN).1po; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(POFILESDEPS) @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: # Recreate Makefile by invoking config.status. Explicitly invoke the shell, # because execution permission bits may not work on the current file system. # Use @SHELL@, which is the shell determined by autoconf for the use by its # scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: sarg-2.3.11/po/Makevars000066400000000000000000000065521324060677300146640ustar00rootroot00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --flag='debuga:1:c-format' # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This tells whether or not to prepend "GNU " prefix to the package # name that gets inserted into the header of the $(DOMAIN).pot file. # Possible values are "yes", "no", or empty. If it is empty, try to # detect it automatically by scanning the files in $(top_srcdir) for # "GNU packagename" string. PACKAGE_GNU = # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = fmarchal@users.sourceforge.net # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = # This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' # context. Possible values are "yes" and "no". Set this to yes if the # package uses functions taking also a message context, like pgettext(), or # if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. USE_MSGCTXT = no # These options get passed to msgmerge. # Useful options are in particular: # --previous to keep previous msgids of translated messages, # --quiet to reduce the verbosity. MSGMERGE_OPTIONS = # These options get passed to msginit. # If you want to disable line wrapping when writing PO files, add # --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and # MSGINIT_OPTIONS. MSGINIT_OPTIONS = # This tells whether or not to regenerate a PO file when $(DOMAIN).pot # has changed. Possible values are "yes" and "no". Set this to no if # the POT file is checked in the repository and the version control # program ignores timestamps. PO_DEPENDS_ON_POT = yes # This tells whether or not to forcibly update $(DOMAIN).pot and # regenerate PO files on "make dist". Possible values are "yes" and # "no". Set this to no if the POT file and PO files are maintained # externally. DIST_DEPENDS_ON_UPDATE_PO = yes sarg-2.3.11/po/POTFILES.in000066400000000000000000000007041324060677300147360ustar00rootroot00000000000000auth.c authfail.c btree_cache.c charset.c convlog.c css.c dansguardian_log.c dansguardian_report.c datafile.c decomp.c denied.c dichotomic.c download.c email.c exclude.c getconf.c grepday.c html.c index.c indexonly.c ip2name.c ip2name_dns.c ip2name_exec.c lastlog.c log.c longline.c realtime.c redirector.c repday.c report.c siteuser.c smartfilter.c sort.c splitlog.c topsites.c topuser.c totday.c url.c usage.c useragent.c userinfo.c usertab.c util.c sarg-2.3.11/po/Rules-quot000066400000000000000000000042331324060677300151650ustar00rootroot00000000000000# This file, Rules-quot, can be copied and used freely without restrictions. # Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ ;; \ *) \ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ ;; \ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ ; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header sarg-2.3.11/po/bg.gmo000066400000000000000000000006301324060677300142530ustar00rootroot00000000000000Þ•$,8^9Project-Id-Version: sarg 2.3-pre1 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/bg.po000066400000000000000000002235211324060677300141150ustar00rootroot00000000000000# Bulgarian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Ivan Minchev , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3-pre1\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Период" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "Потребител" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/Име" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "Дата/Време" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "ÐдреÑ" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Сортировка на файловете" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Изтриване на ÑÑ‚Ð°Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Четене на log файла" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Сортировка на файловете" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Създаване на файла" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Файла не е намерен" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Ðрхивиране на log файла" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Разархивиране на log файла" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Отчет за доÑтъпа на потребителите на Squid" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "ÐизходÑщо (байтове)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Период" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "No" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "Включване" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "Байтове" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "Общо време" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "МилиÑек." #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "Време" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "Ð’Ñичко" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "Средно" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "отчети" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Зарежда файла Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñта от" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Зарежда файла Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñта от" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Зарежда файла Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñта от" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "грешка malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Потребител" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Файла не е намерен" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "отчети" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Четене на log файла" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Потребител" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Създаване на отчета" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "ЗÐБРÐÐЕÐО" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Създаване на index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "отчети" msgstr[1] "отчети" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "Период" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "Дата на Ñъздаване" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "Потребители" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Сортировка на файловете" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "ЗапиÑите не Ñа намерени" msgstr[1] "ЗапиÑите не Ñа намерени" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Изтриване на ÑÑ‚Ð°Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Параметри" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Име или IP-адреÑ" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-mail Ð°Ð´Ñ€ÐµÑ Ð·Ð° изпращане на отчета" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Да" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Ðе" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Име или IP-адреÑ" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Име или IP-адреÑ" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ИÑползвайте Ip-Ð°Ð´Ñ€ÐµÑ Ð²Ð¼ÐµÑто име на потребителÑ" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "верÑиÑ" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Четене на log файла" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Ðрхивиране на log файла" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Четене на log файла" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log-а Ñъдържа запиÑи Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ð¸ формати (squid и др.)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Log Ñ Ð´Ñ€ÑƒÐ³ формат" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Log в Squid-формат" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log Ñ Ð³Ñ€ÐµÑˆÐµÐ½ формат" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "ЗапиÑите не Ñа намерени" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Завършено" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Четене на log файла" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Период" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Зарежда файла Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð¸Ñ‚Ðµ от" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Файла не е намерен" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Четене на log файла" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Разархивиране на log файла" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Разархивиране на log файла" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Разархивиране на log файла" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Четене на log файла" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "Дата/Време" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Отчета е генериран в:" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Отчета е генериран и изпратен" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Създаване на файла" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Седмици" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html
tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Генерирано от" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Ñайтове" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Четене на log файла" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Име или IP-адреÑ" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Конвертиране на access.log файла към четливи дати" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "E-mail Ð°Ð´Ñ€ÐµÑ Ð·Ð° изпращане на отчета" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Отчет по потребители и IP-адреÑи" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "ВходÑщ log" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Работни ÑъобщениÑ" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Ðамиране на IP-адреÑа" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "ИÑползвайте Ip-Ð°Ð´Ñ€ÐµÑ Ð²Ð¼ÐµÑто име на потребителÑ" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "РазделÑне на log файла по датите в параметър -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Временена директориÑ" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Контролни ÑообщениÑ" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Работни ÑъобщениÑ" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Четене на log-а на браузерите" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "ЗапиÑите Ñа прочетени" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Създаване на отчета по браузери" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Отчет Squid по браузери" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "Браузер" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "вече ÑъщеÑтвува, премеÑтен в" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Изтриване на временните файлове" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Разархивиране на log файла" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Report" #~ msgstr "Отчет" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "грешка malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Sort" #~ msgstr "Сортирано" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "грешка malloc" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "on" #~ msgstr "на" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Четене на log файла" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Log на браузерите" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Файл Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Изходна директориÑ" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "грешка malloc" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Създаване на файла за периода" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "OUT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "грешка malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topsites" #, fuzzy #~ msgid "Usage" #~ msgstr "Използован" #, fuzzy #~ msgid "options" #~ msgstr "параметри" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Дата от-до" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "E-mail Ð°Ð´Ñ€ÐµÑ Ð·Ð° изпращане на отчета" #, fuzzy #~ msgid "stdout for console" #~ msgstr "ÑÑ‚.изход на конзолата" #, fuzzy #~ msgid "Config file" #~ msgstr "Файл Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸" #, fuzzy #~ msgid "Date format" #~ msgstr "Формат на датите" #, fuzzy #~ msgid "Europe" #~ msgstr "Европа" #, fuzzy #~ msgid "USA" #~ msgstr "Ðмерика" #, fuzzy #~ msgid "Accessed site" #~ msgstr "ÐдреÑ" #, fuzzy #~ msgid "Time" #~ msgstr "Време" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Четене на log файла" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "End" #~ msgstr "Завършено" #, fuzzy #~ msgid "File" #~ msgstr "Файл" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "доÑтигнат лимита" #, fuzzy #~ msgid "Added to file" #~ msgstr "Добавен към файла" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Име или IP-адреÑ" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "E-mail Ð°Ð´Ñ€ÐµÑ Ð·Ð° изпращане на отчета" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "ИÑползвайте Ip-Ð°Ð´Ñ€ÐµÑ Ð²Ð¼ÐµÑто име на потребителÑ" #, fuzzy #~ msgid "written" #~ msgstr "запиÑано" #, fuzzy #~ msgid "excluded" #~ msgstr "изключениÑ" #, fuzzy #~ msgid "IP report" #~ msgstr "IP отчет" sarg-2.3.11/po/boldquot.sed000066400000000000000000000003311324060677300155030ustar00rootroot00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g sarg-2.3.11/po/ca.gmo000066400000000000000000000006231324060677300142500ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/ca.po000066400000000000000000002132651324060677300141140ustar00rootroot00000000000000# Catalan translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Leonardo A. D'Angelo , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Fallides d'autenticació" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Report d'Accesos d'Usuaris de l'Squid" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "Accés Decreixent (bytes)" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "DATA/HORA" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "el" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "Usuari" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "reports" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "reports" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Creant index.html" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "reports" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "normal" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Llegint arxiu del log d'accesos" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Creant index.html" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "No es pot obrir l'arxiu de log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "No es pot obrir l'arxiu de log" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Report generat satisfactoriament i enviat a" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Compactant arxiu de log" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Descompactant arxiu de log" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Creant report" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "No es pot carregar, fallida de la memòria" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "PROMITGE" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Report d'Accesos d'Usuaris de l'Squid" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "HORA" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "LLOC ACCEDIT" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "CONEXIÓ" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "BYTES" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "TEMPS UTILITZAT" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "USERID" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "reports" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "AGENT" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "MILISEC" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Reports per usuario i direcció IP" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Llegint log de l'agent d'usuari" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Llegint log de l'agent d'usuari" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "reports" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "reports" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Llegint log de l'agent d'usuari" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "Carregant configuració desde" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "reports" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Període" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Compactant arxiu de log" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "reports" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "Reports per usuario i direcció IP" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "reports" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Llegint arxiu del log d'accesos" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Període" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "FiltreInteligent" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Carregant arxiu de paraules de pas desde" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "No es pot obrir arxiu" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "ja existeix, renombrant-lo com a" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Reports per usuario i direcció IP" msgstr[1] "Reports per usuario i direcció IP" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "NUM" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "ARXIU/PERÃODE" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "DATA CREACIÓ" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "reports" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Creant index.html" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "reports" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "No s'han trobat registres" msgstr[1] "No s'han trobat registres" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "normal" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Paràmetres" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Nom de host o direcció IP" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "opcions" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Si" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "No" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Nom de host o direcció IP" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Nom de host o direcció IP" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Report IP" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "Creant report d'agent d'usuari" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Llegint arxiu del log d'accesos" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Descompactant arxiu de log" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Llegint arxiu del log d'accesos" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "reports" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "reports" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "El log té formats de registre barrejats (squid i common log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Format Common log" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Format Squid log" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log amb format invàlid" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "No s'han trobat registres" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Fi" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Llegint arxiu del log d'accesos" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Report d'Accesos d'Usuaris de l'Squid" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "error malloc" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "reports" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Compactant arxiu de log" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Llegint arxiu del log d'accesos" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Creant report" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Creant report" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Creant report" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Llegint arxiu del log d'accesos" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "No es pot obrir l'arxiu de log" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "REGLA" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "el" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "DENEGAT" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Report generat satisfactoriament a" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Report generat satisfactoriament i enviat a" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "reports" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "reports" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Llocs" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "FiltreInteligent" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "TOTAL" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Màxim" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "reports" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Llegint arxiu del log d'accesos" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Nom de host o direcció IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Afegint a l'arxiu" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "opcions" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "stdout per a consola" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Missatges de procesos" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Missatges de depuració" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Arxiu no trobat" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Report IP" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Converteix l'arxiu access.log a una data llegible" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Versió de l'Squid" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Directori temporal" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Missatges de depuració" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Resolguent direcció IP" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "reports" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Registres llegits" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Log de l'agent d'usuari" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Clasificat per" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "Report d'Agent d'Usuari Squid" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Llocs i Usuaris" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Llocs i Usuaris" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Llocs i Usuaris" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "reports" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "reports" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Arxiu" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "reports" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "reports" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Esborrant arxiu vell de report" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Creant report" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Report" #~ msgstr "Ordenant arxiu" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "Carregant configuració desde" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Sort" #~ msgstr "USUARIS" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "Carregant configuració desde" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Carregant taula d'usuaris" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "on" #~ msgstr "Generat per" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Llegint arxiu del log d'accesos" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Arxiu de configuració" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "excluit" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Log d'entrada" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Carregant taula d'usuaris" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "reports" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "reports" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "Carregant configuració desde" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Creant arxiu" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "reports" #, fuzzy #~ msgid "IN" #~ msgstr "SORTIDA" #, fuzzy #~ msgid "CACHE" #~ msgstr "ENTRADA" #, fuzzy #~ msgid "OUT" #~ msgstr "IP/NOM" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Carregant taula d'usuaris" #, fuzzy #~ msgid "malloc error" #~ msgstr "Carregant configuració desde" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topsites" #, fuzzy #~ msgid "Usage" #~ msgstr "Directori de sortida" #, fuzzy #~ msgid "options" #~ msgstr "Mode d'ús" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Data desde-fins a" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "opcions" #, fuzzy #~ msgid "stdout for console" #~ msgstr "Direcció de correu on enviar els reports" #, fuzzy #~ msgid "Config file" #~ msgstr "Arxiu d'exclusions" #, fuzzy #~ msgid "Date format" #~ msgstr "Format de data" #, fuzzy #~ msgid "Europe" #~ msgstr "Formato de fecha" #, fuzzy #~ msgid "USA" #~ msgstr "Europa" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Fa anar direcció IP en cop de userid" #, fuzzy #~ msgid "Time" #~ msgstr "Lloc accedit" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Top" #~ msgstr "Esborrant arxius temporals" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "No es pot obrir l'arxiu temporal" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Llegint arxiu del log d'accesos" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "End" #~ msgstr "Fi" #, fuzzy #~ msgid "File" #~ msgstr "Creant arxiu de període" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "versió" #, fuzzy #~ msgid "Added to file" #~ msgstr "límit excedit" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Nom de host o direcció IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "opcions" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Report IP" #, fuzzy #~ msgid "written" #~ msgstr "escrits" #, fuzzy #~ msgid "excluded" #~ msgstr "Carregant arxiu d'exclusions desde" #, fuzzy #~ msgid "IP report" #~ msgstr "USA" sarg-2.3.11/po/cs.gmo000066400000000000000000000006231324060677300142720ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/cs.po000066400000000000000000002146031324060677300141330ustar00rootroot00000000000000# Czech translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Josef Karliak , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Období" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "ID UŽIVATELE" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/JMÉNO" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "datum/Äas" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "NAVÅ TÃVENà SERVER" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Třídím soubor" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Odstraňuji starý soubor s pÅ™ehledem" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "ÄŒtu přístupový žurnál" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Třídím soubor" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Nemohu otevřít žurnál" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Nemohu otevřít žurnál" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Vytvářím soubor" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Soubor nenalezen" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Balím žurnálový soubor" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Rozbaluji žurnálový soubor" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "PÅ™ehled o využití Squidu podle uživatelů" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Klesající přístup (bytů)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Období" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "POŘADÃ" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "SPOJENÃ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTÅ®" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "POUŽITà ČAS" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "ÄŒAS" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "CELKEM" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "PRÅ®MÄšR" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "pÅ™ehledy" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "NaÄítám soubor vyjímek z" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "NaÄítám soubor vyjímek z" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "NaÄítám soubor vyjímek z" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "chyba malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Uživatel" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Soubor nenalezen" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "pÅ™ehledy" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "ÄŒtu přístupový žurnál" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Uživatel" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Vytvářím zprávu" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "Zakázáno" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Vytvářím index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "pÅ™ehledy" msgstr[1] "pÅ™ehledy" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "SOUBOR/OBDOBÃ" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "DATUM VZNIKU" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "UŽIVATELÉ" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Třídím soubor" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "NenaÅ¡el jsem žádné záznamy" msgstr[1] "NenaÅ¡el jsem žádné záznamy" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Odstraňuji starý soubor s pÅ™ehledem" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametry" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Jméno hostitele nebo IP adresa" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Emailová adresa, na kterou se mají poslat pÅ™ehledy" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Ano" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Ne" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Jméno hostitele nebo IP adresa" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Jméno hostitele nebo IP adresa" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Použij IP Adresu místo ID uživatele" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "verze" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "ÄŒtu přístupový žurnál" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Balím žurnálový soubor" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "ÄŒtu přístupový žurnál" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Žurnál má smíchané oba žurnálové formáty (obecný a squid žurnál)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Obecný formát žurnálu" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid formát žurnálu" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Žurnál s neplatným formátem" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "NenaÅ¡el jsem žádné záznamy" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Konec" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "ÄŒtu přístupový žurnál" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Období" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "NaÄítám heslo ze souboru" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Soubor nenalezen" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "ÄŒtu přístupový žurnál" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Rozbaluji žurnálový soubor" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Rozbaluji žurnálový soubor" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Rozbaluji žurnálový soubor" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "ÄŒtu přístupový žurnál" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Nemohu otevřít žurnál" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "datum/Äas" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "PÅ™ehled úspěšnÄ› generován" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "PÅ™ehled úspěšnÄ› generován a odeslán na adresu" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Vytvářím soubor" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Nemohu otevřít soubor" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Nemohu otevřít soubor" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Týdny" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Generoval" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "serverů" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "ÄŒtu přístupový žurnál" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Jméno hostitele nebo IP adresa" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "PÅ™evede soubor access.log na správné datum" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Emailová adresa, na kterou se mají poslat pÅ™ehledy" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "PÅ™ehledy podle uživatele a IP adresy" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Vstupní žurnál" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Zprávy o zpracování" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "PÅ™evádí IP adresu na jméno" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Použij IP Adresu místo ID uživatele" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "RozdÄ›lí žurnálový soubor podle data v parametru -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "DoÄasnný adresář" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Ladicí zprávy" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Zprávy o zpracování" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "ÄŒtu žurnál s pÅ™ehledem klientů" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Nemohu otevřít soubor" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Záznamů pÅ™eÄteno" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Vytvářím pÅ™ehled o klientech" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "PÅ™ehled o použitých klientech pro Squid" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "KLIENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Nemohu otevřít soubor" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Nemohu otevřít soubor" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Nemohu otevřít žurnál" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Nemohu otevřít žurnál" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "už existuje, pÅ™esouvám do" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Nemohu otevřít soubor" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nemohu otevřít soubor" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nemohu otevřít žurnál" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Odstraňuji pÅ™echodný soubor" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Rozbaluji žurnálový soubor" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Report" #~ msgstr "PÅ™ehled" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Sort" #~ msgstr "TřídÄ›ní" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "on" #~ msgstr "dne" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "ÄŒtu přístupový žurnál" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Žurnál s pÅ™ehledem klientů" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Soubor vyjímek" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Výstupní adresář" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Vytvářím soubor období" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "IN" #~ msgstr "VSTUP" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "VÃSTUP" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topsites" #, fuzzy #~ msgid "Usage" #~ msgstr "Použití" #, fuzzy #~ msgid "options" #~ msgstr "volby" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Datum od-do" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Emailová adresa, na kterou se mají poslat pÅ™ehledy" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout pro konzolu" #, fuzzy #~ msgid "Config file" #~ msgstr "KonfiguraÄní soubor" #, fuzzy #~ msgid "Date format" #~ msgstr "Formát data" #, fuzzy #~ msgid "Europe" #~ msgstr "Evropa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "NavÅ¡tívený server" #, fuzzy #~ msgid "Time" #~ msgstr "ÄŒas" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Top" #~ msgstr "Nejlepších" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Nemohu otevřít pÅ™echodný soubor" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "ÄŒtu přístupový žurnál" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "End" #~ msgstr "Konec" #, fuzzy #~ msgid "File" #~ msgstr "Soubor" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limit pÅ™ekroÄen" #, fuzzy #~ msgid "Added to file" #~ msgstr "PÅ™idáno do souboru" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Jméno hostitele nebo IP adresa" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Emailová adresa, na kterou se mají poslat pÅ™ehledy" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Použij IP Adresu místo ID uživatele" #, fuzzy #~ msgid "written" #~ msgstr "zapsáno" #, fuzzy #~ msgid "excluded" #~ msgstr "vyjmuto" #, fuzzy #~ msgid "IP report" #~ msgstr "IP zpráva" sarg-2.3.11/po/da.gmo000066400000000000000000001523171324060677300142610ustar00rootroot00000000000000Þ•î0 ¡”)¬)À)¼*Ÿ½*+]++‰++µ++á++ ,+9,<e,@¢,9ã,+-+I-+u-+¡-+Í-+ù-+%.+Q.+}.+©.+Õ.A/+C/o/:/>È/>0YF0- 0?Î0=1;L1Yˆ1Iâ1B,2Mo2½22Û23-,33Z3+Ž3>º3Iù3EC44‰4'¾4"æ4$ 5+.5Z52p5£5 »5Ç5#Ö5 ú5+636z96l´6e!7[‡7aã72E87x8A°8 ò8999@&9<g9 ¤9±95·97í9%:+: 3:A:a:5€:>¶:!õ:R;j;‚;%¢;:È;&<Q*<%|<$¢<Ç<ç<'=/*=1Z=*Œ="·=Ú=ñ=">*>Q>>>£>%¶>'Ü>$?)? .?8?=? D?6Q?Yˆ?#â?!@ (@$3@1X@Š@"¤@Ç@Î@4Þ@/A CAdA5ƒA ¹A ÃAÐA$ÕA'úA"B5BHB [BgB<‚B¿B2ÞB"C'4C0\C,CºC-ÚC"D +D+LD$xDD½D!ÝD'ÿD('EPEeE~E ”E¡E7©E%áEF3 F8AF/zF ªF2·F0êF.G'JGQrGÄG_ÌG8,HeHH-…HS³H`IchI ÌI2íI! J!BJ?dJ$¤JEÉJ%K5K UK'vKžK,»K9èK"L*=LhL%‚L1¨L'ÚL#M"&MIM*eM%M#¶M%ÚMN'N(DN%mN'“N)»N%åN( O)4O'^O)†O4°O"åO#P,P%IP%oP$•P!ºPÜP÷P Q3QSQsQ&ŽQ µQ!ÖQ#øQ.RKRgRRŸR ½RÞRùR-S*GSrS&SU´S! T,T DT7OT‡T¥T½TÜT#ûTU>U/\UAŒU2ÎUV V59V$oV”VV£V¼VÏVâV*ôVNW'nW–W.šWÉWMÌWXl9X7¦XyÞX%XY~Y;Y@ÌY% Z$3Z6XZ'Z0·Z@èZ-)[6W[=Ž[4Ì[N\EP\#–\$º\#ß\ ]`$] …]>’]Ñ]á]#è] ^B^$Z^^#„^¨^$Å^ê^!_*_E_a_ j_ w_‚_4”_É_ è_ `"`5`E`W`^` e`-s`¡`°`,É`6ö`-a 2a?>a~aa¬aTËaT bub ˆb2–bBÉb cc +c8c;Jc†c™c¸cÑcêc+üc"(dKdPdVd[dCld?°d'ðd e#9eR]e0°e!áeSfYWfn±f< g/]gWg/åg$hJ:hb…h=èh!&i#Hi/li'œi4Äi6ùiO0j$€j!¥jDÇjI k!Vk'xkA k3âk!l8l)Tl:~l+¹lCål4)m ^m km;um.±m àm$êmFnCVnCšn Þnÿno8 oAEoÓ‡o[p2zp­p7Åp/ýp+-q!Yq {q&œq Ãqäq+üq(r3-r-arr&¥r,Ìr(ùr "s4.scs ls2vsK©sCõs9tMtgt'„t ¬tÍtÒtÖt.Üt u %u2uÕ:uv!v*v*>v9iv@£v)äv"w$1wVwiw$pw •wÏ wpxxxx¢x§xÆxÏØx{¨y$z)zÙ.z›|0¤|0Õ|0}07}0h}0™}EÊ}K~>\~0›~1Ì~0þ~0/1`0’0Ã0ô1%€0W€1ˆ€Cº€'þ€&&<MJŠ>Õ]‚1r‚B¤‚Aç‚?)ƒSiƒQ½ƒQ„Ta„&¶„:Ý„…-7…0e…#–…Eº…Q†RR†9¥†%߆)‡"/‡0R‡ƒ‡3™‡͇ å‡ñ‡#ˆ $ˆ01ˆbˆihˆdÒˆf7‰bž‰oŠ:qŠ0¬ŠGÝŠ %‹3‹ 9‹D‹:U‹C‹Ô‹ç‹;ì‹:(ŒcŒjŒrŒ#‚Œ"¦Œ4ÉŒCþŒ#BPf· Ó1ô;&Ž,bŽ\Ž3ìŽ. !O q1’2Ä<÷44'i‘#­ÑðX‘_‘v‘)‰‘+³‘#ß‘’’’’ ’0+’Y\’¶’*Õ’ “# “:0“k“!‚“¤“¬“B½“)” *”4K”@€” Á” ϔݔ+å”-•?•S•g• }• ‰•Aª•"ì•5–,E–4r–;§–:ã–—2>—#q—!•—.·—)æ—)˜$:˜"_˜-‚˜1°˜â˜!™#™ 9™E™>L™+‹™·™@½™Dþ™0Cš tš=š;¿š0ûš/,›V\›³›m»›?)œiœ…œ/‹œ^»œ`d{"à,ž#0ž#TžBxž'»ž\ãž1@Ÿ&rŸ'™Ÿ)ÁŸëŸ)  44 i /† ¶ 'Ò .ú ,)¡.V¡%…¡«¡%Ê¡(ð¡+¢*E¢p¢*¢&º¢#á¢%£)+£&U£%|£,¢£/Ï£.ÿ£7.¤"f¤!‰¤«¤)Ȥ%ò¤,¥$E¥j¥"ˆ¥(«¥ Ô¥õ¥¦'1¦"Y¦'|¦'¤¦-̦#ú¦%§!D§!f§%ˆ§®§#ͧ-ñ§*¨J¨'g¨S¨%㨠© (©>6©*u© ©»©#Û©-ÿ© -ªNª,nªU›ªBñª4«R«1k«$««Ë«Ò«ï«¬¬7+¬_c¬'ìë¬6ï¬&­Z*­"…­„¨­A-®}o®*í®¯B-¯Hp¯+¹¯.å¯=°*R°7}°?µ°:õ°=0±Gn±8¶±Xï±FH²*²*º²-å²"³i6³  ³j¬³´&´#.´ R´B^´%¡´Ç´$Í´ò´ µ$-µ"Rµuµ“µ²µ ºµ ǵÔµ7éµ!!¶C¶_¶{¶¶ ¶²¶¹¶ À¶)ζø¶ ·/#·9S· · ˜·I¤·î·þ·¸U>¸U”¸ê¸¹C¹TU¹ ª¹¶¹ʹÙ¹Jí¹8º Pºqºº¬º"½ºàºúºþº» »C»;b»$ž»!û#å»\ ¼/f¼!–¼j¸¼s#½b—½?ú½0:¾ak¾.;!ü¾F¿me¿=Ó¿$À"6À0YÀ(ŠÀ9³À/íÀKÁ&iÁ!ÁH²ÁNûÁ)JÂ0tÂ8¥Â2ÞÂ&Ã#8Ã)\Ã<†Ã-ÃÃ<ñÃ:.Ä iÄvÄ<Ä;¼Ä øÄ#ÅR'ÅMzÅPÈÅ2ÆLÆUÆ<]ÆTšÆØïÆ ÈÇ3éÇÈ94È7nÈ:¦ÈáÈ#É*%ÉPÉmÉ0„ɵÉN¼É1 Ê=Ê-UÊ<ƒÊ8ÀÊ ùÊCË KË VË:bËWËMõËCÌ]ÌxÌ$’Ì ·ÌØÌÜÌßÌ5äÌÍ 9ÍGÍØOÍ(Î:ÎCÎ/WÎA‡Î>ÉÎ,Ï+5Ï$aφϘÏ,ŸÏ ÌÏÒØÏ«Ð²ÐÈÐÜÐ*áÐ ÑÒ$Ñ|÷ÑtÒxÒAbîBj’›éj“sJ„Q#"Â¥{i’K)!”E¯?AºÕ”óºWå/d"|²š­7v&Mk%ì¬6=×w®IK>ÌÛñë~Ío m\¢„«Ó;Hž&ˆFG[…äT] ÓÏŠ v ÃnoÉ2Wãâ“.˜ø°7U'à ¥ÑÑÐP³ õ¡¨g?}Ž`]ì§ @ÄZëg¿;òa:£ÄÔUDY²>^‘—Å Fe}›X¤»æËm¦­Úß HpÈc3b@é†LäOî_‡Vïµ)©Ø¼öRúD¤1JIª¢É9Ýæ~\M¸-ڽߵ(Þ3B0‰Ùyç`Ærлܕû fàÀʹS5N±{8%ü-xôf±,c ¾ØqV[Îu×´ðÏ©L‚=Æ£P‚Œ9ù¦t^n6|4‹pá½*† …·Ç<le‘ÒuᚬŠqÛËÅ•$⎇ˆh®w‹¡Õ¶è«³èÝr¯ªÇ'´Îƒ1¾Ô™€:iÿ¨8 kã0,ža¸h–<ZÌ+sGX¹lÁà§Tç·å/Ÿ—œíC5QE™C.Nx z€êy4‰#SÈ_íÖ÷¼À$–ÖÙœtYÞ¶ŒÁŸý°ÜRêþdO2ʘ¿(Í*Òz!ƒ+Ò†ÒÒÔ)è)ü)*,*H*\*p*„* *”Òÿÿÿÿ¶Ò3ÿÿÿÿëÒ3ÿÿÿÿ Ó "ÿÿÿÿjÓ "ÿÿÿÿ°ÓÿÿÿÿÏÓ3ÿÿÿÿÔ4ÿÿÿÿ:Ô ÿÿÿÿ‡Ô ÿÿÿÿ For the translation to work, a valid message file should be installed as "%s//LC_MESSAGES/%s.mo" where is derived from the effective locale. Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Keep temporary files (-k) = %s Hostname or IP address (-a) = %s --convert Convert the access.log file to a legible date --css Output the internal CSS --help This help --keeplogs Keep every previously generated report --lastlog Set the number of previous reports to keep --split Split the log file by date in -d parameter --splitprefix PREFIX Prepend a prefix to the splitted file names --statistics Print run time statistics -P PREFIX Prepend a prefix to the splitted file names -a NAME|IP Create report for host name or IP address -c FILE Exclude connected hosts from the report -d DATE Date range to include in the report: from-until dd/mm/yyyy-dd/mm/yyyy -e MAIL Email address to send reports to (stdout for console) -f FILE Config file to read (default is %s/sarg.conf) -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy] -h This help -i Reports by user and IP address -l FILE Input log -m Advanced process messages -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages -z Process messages Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Previous reports to keep (--lastlog) = %d %02dH%d error found in the log file. Some entries may be missing.%d errors found in the log file. Some entries may be missing.%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…%d more redirector entry not shown here…%d more redirector entries not shown here…%d old report to delete %d old reports to delete %d report directory found %d report directories found A text line is more than %d bytes long denoting a corrupted file ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty Authentication failures report not requested in report_type Auto refreshBYTESBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create a temporary file name to produce the report: %s Cannot create directory "%s": %s Cannot create the output directory name containing the period as part of the name Cannot delete "%s": %s Cannot enumerate the user list Cannot get disk size with command %s Cannot get disk space because the path "%s%s" is too long Cannot get disk space with command %s Cannot get the modification time of input log file "%s": %s Processing it anyway Cannot get the size of file "%s": %s Cannot load "%s": not enough memory Cannot open directory "%s": %s Cannot open file "%s": %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot prepare ldap URI for server %s on port %d Cannot read host name alias file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Cannot stat "%s": %s Chaining IP resolving module "%s" Command failed: %s Command to execute to resolve the IP addresses is too long (maximum is %d bytes) Command too long: Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d Currently effective locale is "%s". DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Dansguardian report not produced because no dansguardian configuration file was provided Datafile "%s" written successfully Date too long or invalid in "%s" Day reportDecompressing log file "%s" with %s Decompression command too long for log file "%s" Decreasing Access (bytes)Deleting temporary directory "%s" DeniedDenied accessesDenied accesses report not requested in report_type Denied report not produced because it is empty Destination directory too long: Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed "tail" command: %s Failed to build the string representation of the date range Failed to close file "%s": %s Failed to compile the regular expression "%s": %s Failed to copy image "%s" to "%s" Failed to create link "%s" to "%s": %s Failed to get the %d trailing lines of "%s": %s Failed to get the creation time of "%s": %s Failed to get the current time Failed to move till the end of file "%s": %s Failed to open directory "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s Failed to rewind file "%s": %s Failed to write a line in "%s" Failed to write the date in "%s" Failed to write the total line in "%s" File "%s" already exists, moved to "%s" File "%s" not found Fontname "%s" not found Generated by %s on %sGraph reportGraphicGraphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" H:M:SHost name alias "%*s" must not end with a wildcard Host name alias "%s*%s" contains too many wildcards (*) Hour string too long in redirector log file %s IN-CACHE-OUTIP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP address too long in redirector log file %s IP address too long or invalid in "%s" IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIf this message is in English, then your language is not supported or not correctly installed. Ignoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Integer overflow detected in %s in line "%s" Invalid "redirector_log_format" option in your sarg.conf (missing # at end of tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters before first tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters in column separator) Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid access type in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid amount of data in file "%s" Invalid buffer length passed to the function to safely copy a string Invalid buffer passed to getword_ptr Invalid cache hit size in "%s" Invalid cache miss size in "%s" Invalid client IP address in file "%s" Invalid data returned by %s Invalid date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date in file "%s" Invalid date range passed on command line Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid day index found in the hourly statistics Invalid download duration in file "%s" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid in-cache column in file "%s" Invalid in-cache size in file "%s" Invalid in-cache volume in file "%s" Invalid month in file "%s" Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of users in file "%s" Invalid number of weeks in -d parameter Invalid out-of-cache column in file "%s" Invalid out-of-cache size in file "%s" Invalid out-of-cache volume in file "%s" Invalid path "%s". Please, use absolute paths only. Invalid record in IP address "%s" Invalid record in exclusion string Invalid record in file "%s" Invalid redirected list in file "%s" Invalid redirected source in file %s Invalid request method in file "%s" Invalid result code in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid source IP in file "%s" Invalid time column in file %s Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid total cache hit in "%s" Invalid total cache miss in "%s" Invalid total elapsed time in "%s" Invalid total number of accesses in file "%s" Invalid total size in "%s" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user found in file "%s" Invalid user in file "%s" Invalid useragent in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s" Invalid year in file "%s%s/sarg-date" January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Line="%s" Lines read: %lu lines in %.0lf seconds (%.0lf lines/s) List of host names to alias: Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Loading user table from LDAP Locale is not set in the environment variable. Log file name too long passed on command line with option %s: %s Log file name too long passed on command line: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) Loop detected in %s after %d bytes. MILLISECMONTHMaking Useragent report Making file %s/%s Making index.html Making report %s Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No graphs available as sarg was not compiled with libgd. Set "graphs" to "no" in %s to disable this warning No known module to resolve an IP address using the DNS No old reports to delete as only %d report currently exist No old reports to delete as only %d reports currently exists No option to configure for module %s No records found No redirector logs provided to produce that kind of report No top users report because it is not configured in report_type Not enough memory to read a log file Not enough memory to read file "%s" Not enough memory to read one more line from the file Not enough memory to read the log file Not enough memory to store the daily statistics Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the host name aliasing directives Not enough memory to store the key/value pair %s/%s Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Not enough memory to store user %s Option -%c requires an argument PCRE not compiled in therefore the regular expressions are not available in the host alias file Parameters: Parsing of tag "%s" in redirector log "%s" returned no result Path too long: PeriodPeriod covered by log files: %s-%s Period: %sProcessed records: %lu records in %.0lf seconds (%.0lf records/s) Purging temporary file sarg-general RULEReading DansGuardian log file "%s" Reading access log file: %s Reading access log file: from stdin Reading host alias file "%s" Reading redirector log file "%s" Reading user file "%s/%s" Reading useragent log "%s" RealtimeRecord="%s" RedirectorRedirector reportRedirector report not generated because it is empty Removing old report file "%s" Report output directory name=%s SARG reportSARG reportsSARG report for %sSARG report, %cSARG version: %s SARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERSarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Sending mail with command: %s Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSites & users report not requested in report_type Sites and users report not generated because privacy option is on SmartFilterSmartFilter reportSort: %s, %sSort: %s, %sSorted file doesn't exist (to produce the download report) Sorting file "%s" Sorting log %s/%s.user_unsort Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETable of contentTemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The command to compute the occupied disk size (%s) returned the unknown string %s The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The internal list of month names is invalid. Please report this bug to the translator. The list of the users is too long in file "%s" The name of the file is invalid: %s The output directory "%s" must be outside of the temporary directory "%s" The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The time stamp decimal part at column 1 is too long The total of the in-cache and cache-miss is not 100%% The total of the in-cache and cache-miss is not 100%% at position %d (user %s) The user ID at column 8 is too long The user at column 9 is too long Time period passed on the command line with option -t must be HH:MM Time range passed on the command line with option -t must be HH:MM-HH:MM Time too long or invalid in "%s" Too many codes to exclude in file "%s" Too many day directories in %s Supernumerary entries are ignored Too many different dates for the hourly statistics Too many different dates in "%s" Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option %s. Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop sites report not produced because privacy option is on Top sites report not requested in report_type Top usersTotal execution time: %.0lf seconds Total statistics mismatch when reading %s to produce the email report Total statistics mismatch when reading %s to produce the top sites Total statistics mismatch when reading %s to produce the top users URL too long or invalid in "%s" USERIDUSERSUnable to connect to LDAP server %s on port %d: %d (%s) Unknown color "%s" requested for the graph. Using orange instead Unknown file "%s" found in temporary directory "%s". It is not one of our files. Please check the temporary directory you gave to sarg. Adjust the path to a safe directory or manually delete the content of "%s" Unknown input log file format Unknown module "%.*s" to resolve the IP addresses Unknown path type "%s" Unknown path type "%s". Check your temporary directory Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser %s limit exceeded (%d MB). Added to file "%s" User ID too long in redirector log file "%s" User ID too long: %s User name too long or invalid in "%s" User name too long to manufacture file name User name too long to sort with command User reportUser's detailed report not requested in report_type User: %sUseragentUsers: %lu users in %.0lf seconds (%.0lf users/s) Using the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in file "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYesbytescannot build the sort command to sort file %s command return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s getword backtrace: iconv cannot convert from %s to UTF-8: %s iconv failed to convert string "%s" from %s to UTF-8: %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s looking for "%s" at or below "%s" malloc failed to allocate %ld bytes mkstemp error: %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesearching for 'x%x' setrlimit error: %s sitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg 2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2015-03-29 12:12+0200 Last-Translator: Joe Hansen Language-Team: Danish Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=2; plural=(n != 1); For at oversættelsen kan fungere, skal en gyldig beskedfil installeres som »%s//LC_MESSAGES/%s.mo« hvor er afledt fra det aktive sprog. Tid (-t) = %s Bruger (-u) = %s IP-rapport (-i) = %s Inddatalog (-l) = %s Uddatamappe (-o) = %s Konfigurationsfil (-f) = %s Datoformat (-g) = Europa (dd/mm/åååå) Datoformat (-g) = Sider & brugere (åååå/ww) Datoformat (-g) = USA (mm/dd/yyyy) Ekskluder fil (-c) = %s TilgÃ¥et side (-s) = %s Midlertidig mappe (-w) = %s Log for brugeragent (-b) = %s Fejlsøgningsbeskeder (-x) = %s Omdirigeringslog (-L) = %s Dato fra-til (-d) = %s Behandl beskeder (-z) = %s SlÃ¥ IP-adresse op (-n) = %s Bevar midlertidige filer (-k) = %s Værtsnavn eller IP-adresse (-a) = %s --convert Konverter filen access.log til en læselig dato --css Vis den interne CSS --help Denne hjælpetekst --keeplogs Bevar alle tidligere oprettede rapporter --lastlog Angiv antallet af tidligere rapporter der skal bevares --split Opdel logfilen efter dato i parameteren -d --splitprefix PRÆFIKS Foranstil et præfiks til de opdelte filnavne --statistics Vis statistik for kørselstid -P PRÆFIKS Foranstil et præfiks til de opdelte filnavne -a NAVN|IP Opret rapport for værtsnavn eller IP-adresse -c FIL Ekskluder tilsluttede værter fra rapporten -d DATO Datointerval i rapporten: fra-til dd/mm/åååå-dd/mm/åååå -e E-POST E-post-adresse som skal modtage rapporter (stdout for konsol) -f FIL Konfigurationsfil der skal læses (standard er %s/sarg.conf) -g FMT Datoformat [e=Europa -> dd/mm/åååå, u=USA -> mm/dd/åååå] -h Denne hjælpetekst -i Rapporterer efter bruger og IP-adresse -l FIL Inddatalog -m Avancerede procesbeskeder -n SlÃ¥ IP-adresser op med RDNS -o MAPPE Vis uddatamappe -p Brug IP-adresse i stedet for bruger-id (rapporter) -s SIDE Begræns rapport til tilgÃ¥et side [f.eks. www.microsoft.com] -t TID Begræns rapport til tidsintervallet [TT:MM eller TT:MM-TT:MM] -u BRUGER Rapporter kun denne brugers aktivitet -w MAPPE Midlertidig mappe -x Fejlsøgningsbeskeder -z Procesbeskeder E-post-adresse at sende rapporter (-e) = %s Poster læst: %ld Poster læst: %ld, skrevet: %ld, udelukket: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Tidligere rapporter at bevare (--lastlog) = %d %02dT%d fejl fundet i logfilen. Nogle punkter kan mangle.%d fejl fundet i logfilen. Nogle punkter kan mangle.%d mere godkendelsesfejl er ikke vist her…%d flere godkendelsesfejl er ikke vist her…%d mere dansguardianpost er ikke vist her…%d flere dansguardianposter er ikke vist her…%d mere nægtet adgang er ikke vist her…%d flere nægtede adgange er ikke vist her…%d mere videresendelsesadgang er ikke vist her…%d flere videresendelsesadgange er ikke vist her…%d gammel rapport at slette %d gamle rapporter at slette %d rapportmappe fundet %d rapportmapper fundet En tekstlinje er mere end %d byte lang hvilket angiver en ødelagt fil TILGÃ…ET SIDEAGENTGENNEMSNITGodkendelsesfejlRapport for godkendelsesfejl er ikke lavet, da den er tom Der er ikke anmodet om rapport over godkendelsesfejl i report_type Opdater automatiskBYTEKarantænelistenavnet er for langt i redirectorlogfilen %s Karantænekildenavn er for langt i redirector-logfilen %s Ã…RSAGFORBINDOPRETTELSESDATOKan ikke binde til LDAP-server: %s Kan ikke konvertere lokal tid: %s Kan ikke konvertere tidsstemplet fra squid-logfilen Kan ikke oprette et midlertidigt filnavn for at lave rapporten: %s Kan ikke oprette mappen »%s«: %s Kan ikke oprette uddatamappenavnet der indeholder perioden som en del af navnet Kan ikke slette »%s«: %s Kan ikke enumerere brugerlisten Kan ikke indhente diskstørrelse med kommando %s Kan ikke indhente diskplads, da stien »%s%s« er for lang Kan ikke indhente diskplads med kommando %s Kan ikke indhente ændringstidspunkt pÃ¥ inddatalogfilen »%s«: %s Behandler den alligevel Kan ikke indhente størrelsen pÃ¥ filen »%s«: %s Kan ikke indlæse »%s«: ikke nok hukommelse Kan ikke Ã¥bne mappen »%s«: %s Kan ikke Ã¥bne filen »%s«: %s Kan ikke Ã¥bne squidGuards konfigurationsfil: %s Kan ikke fortolke linjen igen da den blev ændret Kan ikke forberede LDAP-adresse for serveren %s pÃ¥ port %d Kan ikke læse aliasfilen for værtsnavn »%s«: %s Kan ikke slÃ¥ værtsnavn op »%s«: %s Kan ikke køre kommando %s Kan ikke køre stat pÃ¥ »%s«: %s Kæder IP-opslagsmodul »%s« Kommando fejlede: %s Kommando der skal køres for at slÃ¥ IP-adresserne op er for lang (maksimum er %d byte) Kommando er for lang: Normalt logformat Kunne ikke deaktivere LDAP_OPT_REFERRALS Kunne ikke angive LDAP-protokol version %d Nuværende aktive sprog er »%s«. DATODATO/TIDDAGENÆGTETDansGuardianDansguardianrapport ikke oprettet da den er tom Dansguardianrapport ikke lavet, da ingen konfigurationsfil for dansguardian blev leveret Datafilen »%s« blev skrevet Datoen er for lang eller ugyldig i »%s« DagsrapportDekomprimerer logfil »%s« med %s Dekomprimeringskommandoen er for lang for logfilen »%s« Faldende adgang (byte)Sletter midlertidig mappe »%s« NægtetNægtede adgangeDer er ikke anmodet om rapport for nægtede adgange i report_type Nægtet rapport ikke lavet da den er tom Destinationsmappen er for lang: Liste for filendelser, der skal hentes, er for lang Der er ikke anmodet om rapport over hentede filer i report_type Hentede filerFORLØBET TIDAfslut Fejl: Ugyldig syntaks i mærket for timer! Fejl: Ugyldig syntaks i mærket for ugedage! Udelukket kode: %s Udelukket side: %s Udelukket bruger: %s FIL/PERIODEMislykket »tail«-kommando: %s Kunne ikke kompilere strengrepræsentationen pÃ¥ datointervallet Kunne ikke lukke filen »%s«: %s Kunne ikke kompilere det regulære udtryk »%s«: %s Kan ikke kopiere billedet »%s« til »%s« Kunne ikke oprette henvisning »%s« til »%s«: %s Kunne ikke indhente %d efterfølgende linjer af »%s«: %s Kunne ikke indhente oprettelsestidspunktet for »%s«: %s Kunne ikke indhente aktuel tid Kunne ikke gÃ¥ til slutningen af filen »%s«: %s Kunne ikke Ã¥bne mappen »%s«: %s Kunne ikke læse datoen i »%s« Kunne ikke læse antallet af brugere i »%s« Kunne ikke omdøbe »%s« til »%s«: %s Kunne ikke tilbagespole filen »%s«: %s Kunne ikke skrive en linje i »%s« Kunne ikke skrive datoen i »%s« Kunne ikke skrive den samlede linje i »%s« Filen »%s« findes allerede, flyttet til »%s« Filen »%s« blev ikke fundet Skriftnavn »%s« er ikke fundet Oprettet af %s den %sGrafrapportGrafikGrafer deaktiveret da ingen skriftnavne blev angivet i »%s« Grafer deaktiveret som anmodet om i »%s« T:M:SAlias for værtsnavnet »%*s« mÃ¥ ikke slutte med et jokertegn Alias for værtsnavnet »%s*%s« indeholder for mange jokertegn (*) Timestreng er for lang i redirector-logfilen %s IN-CACHE-OUTIP-adressen »%.*s« er for lang til at kommandoen kan køre IP-adressen »%s« er for lang til at kommandoen kan køre IP-adresse er for lang i redirector-logfilen %s IP-adressen er for lang eller ugyldig i »%s« IP til navneopslag (getnameinfo) pÃ¥ IP-adresse »%s« mislykkedes med fejlen %d - %s IP/NAVNHvis denne besked er pÃ¥ engelsk, sÃ¥ er dit sprog ikke understøttet eller det er ikke korrekt installeret. Ignorerer duplikeret modul »%s« til at slÃ¥ en IP-adresse op Ignorerer gammel logfil %s Init Heltalsoverløb detekteret i %s i linje »%s« Ugyldigt tilvalg »redirector_log_format« i din sarg.conf (mangler # i slutningen af mærke) Ugyldigt tilvalg »redirector_log_format« i din sarg.conf (for mange tegn før første mærke) Ugyldigt tilvalg »redirector_log_format« i din sarg.conf (for mange tegn før kolonneadskillelse) Ugyldig IP-adresse i filen »%s« Ugyldigt NUL-tegn fundet i regulært udtryk Ugyldig adgangskode i filen »%s« Ugyldig adgangstype i filen »%s« Ugyldig adressetype %d returneret nÃ¥r værtsnavn »%s« slÃ¥s op Ugyldig mængde af data i filen »%s« Ugyldig længde for mellemlager videresendt til funktionen for sikkert at kopiere en streng Ugyldigt mellemlager videresendt til getword_ptr Ugyldig cache hit-størrelse i »%s« Ugyldig cache miss-størrelse i »%s« Ugyldig klient-IP-adresse i filen »%s« Ugyldig dato returneret af %s Ugyldig dato »%s« for timestatistikken Ugyldig datokomponent i »%s« for timestatistikken Ugyldig dato i filen »%s« Ugyldigt datointerval givet pÃ¥ kommandolinjen Ugyldig dag i filen »%s« Ugyldig dag i filen »%s%s/sarg-date« Ugyldigt datoindeks fundet i timestatistikken Ugyldig overførselsvarighed i filen »%s« Ugyldig overførselsstørrelse i filen »%s« Ugyldig forløbet tid i filen »%s« Ugyldigt punkt i filen »%s« Ugyldig time %d for timestatistikken Ugyldig in-cache-kolonne i filen »%s« Ugyldig in-cache-størrelse i filen »%s« Ugyldig in-cache-diskenhed i filen »%s« Ugyldig mÃ¥ned i filen »%s« Ugyldig mÃ¥ned i filen »%s%s/sarg-date« Ugyldigt antal adgange i filen »%s« Ugyldigt antal byte i filen »%s« Ugyldigt antal dage i parameteren -d Ugyldigt antal mÃ¥neder i parameteren -d Ugyldigt antal brugere i filen »%s« Ugyldigt antal uger i parameteren -d Ugyldig out-of-cache-kolonne i filen »%s« Ugyldig out-of-cache-størrelse i filen »%s« Ugyldig out-of-cache-diskenhed i filen »%s« Ugyldig sti »%s«. Brug venligst kun absolutte stier. Ugyldig post i IP-adressen »%s« Ugyldig post i eksklusionsstreng Ugyldig post i filen »%s« Ugyldig omdirigeret liste i filen »%s« Ugyldig omdirigeret kilde i filen %s Ugyldig forespørgselsmetode i filen »%s« Ugyldig resultatkode i filen »%s« Ugyldig regel i filen »%s« Ugyldig størrelse i filen »%s« Ugyldig smartinformation i filen »%s« Ugyldig kilde-IP i filen »%s« Ugyldig tidskolonne i filen %s Ugyldig tid i filen »%s« Ugyldig tid i filen »%s%s/sarg-date« Ugyldig samlet cache hit i »%s« Ugyldig samlet mellemlagertab i »%s« Ugyldigt samlet forløbet tid i »%s« Ugyldigt samlet antal adgange i filen »%s« Ugyldig samlet størrelse i »%s« Ugyldig adresse (url) i filen »%s« Ugyldig bruger-id i filen »%s« Ugyldig bruger-ip i filen »%s« Ugyldig bruger fundet i filen »%s« Ugyldig bruger i filen »%s« Ugyldig brugeragent i filen »%s« Ugyldig værdi i »date_format«-parameteren Ugyldig ugedag i filen »%s%s/sarg-date« Ugyldigt Ã¥r i filen »%s« Ugyldig Ã¥r i filen »%s%s/sarg-date« januar,februar,marts,april,maj,juni,juli,august,september,oktober,november,decemberLDAP-modul er ikke kompileret i sarg LDAP-søgning mislykkedes: %s Linje=»%s« Læste linjer: %lu linjer pÃ¥ %.0lf sekunder (%.0lf linjer/s) Liste af værtsnavne der skal have alias: Indlæser brugertabel: %s Indlæser konfiguration fra %s Indlæser ekskluderingsfil fra: %s Indlæser værtsfil for ekskludering fra: %s Indlæser adgangskodefil fra %s Indlæser brugertabel fra LDAP Sproget (locale) angives i miljøvariablen. Logfilnavnet er for langt til at blive givet pÃ¥ kommandolinjen med tilvalget %s: %s Logfilnavn er for langt til at blive givet pÃ¥ kommandolinjen: %s Log er fra Microsoft ISA: %s Log med ugyldigt format Log med blandet postformat (squid og normal log) Loop detekteret i %s efter %d byte. MILLISEKMÃ…NEDDanner brugeragentrapporter Danner filen %s/%s Danner index.html Danner rapporten %s Mangler dobbelt anførelsestegn efter parameter »%s« Mangler dobbelte anførelsestegn efter parameter »%s«, eller værdi er mere end %d byte lang Mangler andet ord for parameter »%s« NUMNavnet pÃ¥ filen der skal fjernes er for langt: %s/%s NejIngen kommando at køre for at slÃ¥ en IP-adresse op. Konfigurer den venligst i sarg.conf Ingen hentede filer at rapportere Ingen grafer tilgængelige da sarg ikke blev kompileret med libgd. Sæt »graphs« til »no« i %s for at deaktivere denne advarsel Intet kendt modul til at sÃ¥ en IP-adresse op med brug af DNS'en Ingen gamle rapporter at slette da der kun findes %d rapport Ingen gamle rapporter at slette da der kun findes %d rapporter Ingen tilvalg at konfigurere for modul %s Ingen poster fundet Ingen videresendelseslogge er tilgængelige for sÃ¥dan en rapport Ingen rapport over topbrugere da den ikke er konfigureret i report_type Ikke nok hukommelse til at læse en logfil Ikke nok hukommelse til at læse filen »%s« Ikke nok hukommelse til at læse yderligere linjer fra filen Ikke nok hukommelse til at læse logfilen Ikke nok hukommelse til at gemme den daglige statistik Ikke nok hukommelse til at gemme mappenavnet »%s« i indekset Ikke nok hukommelse til at gemme de ekskluderede adresser Ikke nok hukommelse til at gemme de ekskluderede IP-adresser Ikke nok hukommelse til at gemme aliasingdirektiverne for værtsnavnet Ikke nok hukommelse til at gemme nøgle/værdipar %s/%s Ikke nok hukommelse til at gemme navnet pÃ¥ den nye redirector-log som skal læses - %s Ikke nok hukommelse til at gemme navnene der svarer til IP-adresserne Ikke nok hukommelse til at gemme adressen Ikke nok hukommelse til at gemme brugeren Ikke nok hukommelse til at gemme brugeren %s Tilvalget -%c kræver et argument PCRE er ikke kompileret ind, og de regulære udtryk er derfor ikke tilgængelige i filen for værtsalias Parametre: Fortolkning af mærke »%s« i videresendelseslog (redirector log) »%s« returnerede ikke noget resultat Sti for lang: PeriodePeriode dækket af logfiler: %s-%s Periode: %sBehandlede poster: %lu poster pÃ¥ %.0lf sekunder (%.0lf poster/s) Fjerner midlertidig fil sarg-general REGELLæser DansGuardians logfil: »%s« Læser adgangslogfil: %s Læser adgangslogfil: fra stdin Læser filen for værtsalias »%s« Læser redirector-logfilen »%s« Læser brugerfilen »%s/%s« Læser brugeragentlog: »%s« RealtidPost=»%s« OmdirigeringOmdirigeringsrapportVideresendelsesrapport er ikke oprettet, da den er tom Fjerner gammel rapportfil »%s« Mappenavn for rapporter=%s SARG-rapportSARG-rapporterSARG-rapport for %sSARG-rapport, %cSARG-version: %s SARG, SARG: SARG: (info) SARG: Poster i fil: %lu, læser: %3.2lf%%SARG: MÆRKE: %s SARG: Ukendt tilvalg %s SARG: Rapport for %04dSARG: Rapporter for %04dSARG: Rapport for %04d/%02dSARG: Rapporter for %04d/%02dSTØRRELSESMARTFILTERSarg kompileret til at rapportere advarsler hvis uddata er inkonsistente Sarg logformat Sarg-fortolket log gemt som %s Sender post med kommandoen: %s Kort struktur returneret af getaddrinfo for en IPv4-adresse: %d byte i stedet for %d Kort struktur returneret af getaddrinfo for en IPv6-adresse: %d byte i stedet for %d Rapport for sideadgangSider & brugereDer er ikke anmodet om rapport over sider og brugere i report_type Rapport om sider og brugere ikke genereret, da tilvalget for privatliv er aktiveret SmartFilterSmartFilter-rapportSorter: %s, %sSorter: %s, %sSorteret fil findes ikke (til udarbejdelse af rapport over hentede filer) Sorteringsfilen »%s« Sorteringslog %s/%s.user_unsort Adgangsrapport for SquidbrugerSquids brugeragentrapporterSquid logformat Rapport genereret og sendt til %s Rapport genereret pÃ¥ %s TIDSAMLETTYPEIndholdsfortegnelseSkabelonfilnavn er for lang i parameteren »AuthUserTemplateFile« Parameteren »byte_cost« i konfigurationsfilen er ugyldig IP-adressen i kolonne 3 er for lang Adressen i kolonne 7 er for lang Handlingen i kolonne 6 er for lang Kommandoen til at beregne den optagne diskstørrelse (%s) returnerede den ukendte streng %s Forbindelsesvarigheden i kolonne 2 er for lang Dataene i kolonne 8 er for lange Datoen videresendt som argument er ikke formateret som dd/mm/åååå eller dd/mm/åååå-dd/mm/åååå Datointervallet videresendt som argument er ikke formateret som dd/mm/åååå eller dd/mm/åååå-dd/mm/åååå Mappen »%s%s« ligner en rapportmappe men indeholder ikke filen sarg-date. Du bør slette mappen Det første ord for parameter »%s« er mere end %d byte langt Heltalsværdien for parameter »%s« er ugyldig Den interne liste over mÃ¥nedsnavne er ugyldig. Rapporter venligst denne fejl til oversætteren. Listen af brugere er for lang i filen »%s«. Navnet pÃ¥ filen er ugyldigt: %s Uddatamappen »%s« skal være uden for den midlertidige mappe »%s« Det anmodede antal tal videresendt til my_lltoa (%d) er større end størrelsen pÃ¥ uddatamellemlageret (%d) Det andet ord for parameter »%s« er mere end %d byte langt Størrelsen i kolonne 5 er for lang Statussen i kolonne 4 er for lang Strengværdien for parameter »%s« er for lang Tidsstemplingen i kolonne 1 er for lang Decimaldelen for tidsstemplingen i kolonne 1 er for lang Summen af in-cache og cache-miss er ikke 100%% Summen af in-cache og cache-miss er ikke 100%% pÃ¥ position %d (bruger %s) Bruger-id'et i kolonne 8 er for langt Brugeren i kolonne 9 er for lang Tidsperioden givet pÃ¥ kommandolinjen med tilvalget -t skal være TT:MM Tidsperioden givet pÃ¥ kommandolinjen med tilvalget -t skal være TT:MM-TT:MM Tiden er for lang eller ugyldig i »%s« For mange kodelinjer at udelukke i filen »%s« For mange dagmapper i %s Overskydende punkter ignoreres For mange forskellige datoer for timestatistikken For mange forskellige datoer i »%s« For mange filendelser til hentning For mange logfiler i konfigurationsfilen For mange logfiler givet pÃ¥ kommandolinjen med tilvalg %s. For mange logfiler givet pÃ¥ kommandolinjen. For mange mÃ¥nedsmapper i %s Overskydende punkter ignoreres For mange logfiler for omdirigering i konfigurationsfilen Top %d siderTopsiderTopside-rapport ikke lavet da privatlivstilvalget er aktivt Der er ikke anmodet om rapport over topsider i report_type TopbrugereSamlet kørsesltid: %.0lf sekunder Uoverensstemmelse i samlet statistik, nÃ¥r %s læses for at lave e-post-rapporten Uoverensstemmelse i samlet statistik ved læsning af %s for at lave topsider Uoverensstemmelse mellem statistikker nÃ¥r der læses %s for at lave topbrugere Adressen (url) er for lang eller ugyldig i »%s« BRUGERIDBRUGEREKan ikke forbinde til LDAP-serveren %s pÃ¥ port %d: %d (%s) Der blev anmodet om en ukendt farve, »%s«, til grafen. Bruger orange i stedet for Ukendt fil »%s« fundet i midlertidig mappe »%s«. Det er ikke en af vores filer. Kontroller venligst den midlertidige mappe du gav til sarg. Juster stien til en sikker mappe eller slet manuelt indholdet af »%s« Ukendt inddataformat for logfil Ukendt modul »%.*s« til at slÃ¥ IP-adresserne op Ukendt stitype »%s« Ukendt stitype »%s«. Kontroller din midlertidige mappe Ukendt sorteringskriterium »%s« for parameter »%s« Ukendt sorteringsrækkefølge »%s« for parameter »%s« Ukendt type %d for Y-akseskala Ukendt bruger-id %s i filen »%s« Ukendt værdi »%s« for parameter »%s« Uafsluttet regulært udtryk Brug: %s [tilvalg...] Brug Ip-adresse i stedet for brugerid (-p) = %s BrugerBegrænsning for bruger %s er overskredet (%d MB). Tilføjet til filen »%s« Bruger-id for langt i redirector-logfilen »%s« Bruger-id for lang: %s Brugernavn for langt eller ugyldigt i »%s« Brugernavnet er for langt til at kunne fremstille filnavnet Brugernavnet er for langt til at sortere med kommandoen BrugerrapportDer er ikke anmodet om rapport over brugers detaljer i report_type Bruger: %sBrugeragentBrugere: %lu brugere pÃ¥ %.0lf sekunder (%.0lf brugere/s) Bruger logfilen »%s« for dansguardian som blev fundet i din konfigurationsfil »%s« Værdien »%s« er i konflikt med andre valgte værdier for parameter »%s« Under læsning af »%s« Skrivefejl i filen »%s« Skrivefejl i indekset %s Skrivefejl i logfilen for bruger %s Skrivefejl i topbrugerlisten %s Ã…RJabytekan ikke bygge kommandoen sort til at sortere fil %s kommando returnerer status %d kommando: %s forbinddansguardian_ignore_date er forældet og er blevet erstattet af dansguardian_filter_out_date, som udfører handlingen som antydet af dens navn modsat dansguardian_ignore_date. Opdater venligst din konfigurationsfil. dato-/tidsrapportdato=%s getword backtrace: iconv kan ikke konvertere fra %s til UTF-8: %s iconv kunne ikke konvertere strengen »%s« fra %s til UTF-8: %s libgd kunne ikke beregne omkredsboksen for teksten »%s«: %s libgd kunne ikke optegne teksten »%s«: %s kigger efter »%s« ved eller under »%s« malloc kunne ikke allokere %ld byte mkstemp-fejl: %s normalikke nok hukommelse til at sortere indekset periode=%s redirector_ignore_date er forældet og er blevet erstattet af redirector_filter_out_date, som udfører handlingen som antydet af dens navn modsat redirector_ignore_date. Opdater venligst din konfigurationsfil. omvendsøger efter »x%x« setrlimit-fejl: %s sidereturstatus for sorteringskommando var %d sorteringskommando: %s squidguard_ignore_date er forældet og er blevet erstattet af redirector_filter_out_date, som udfører handlingen som antydet af dens navn modsat squidguard_ignore_date. Opdater venligst din konfigurationsfil. squidguard_log_format er forældet og er blevet erstattet af redirector_log_format. Opdater venligst din konfigurationsfil. tidbrugerPRIu64PRId64PRIi64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % Total downloaded bytes is % instead of % in the hourly report of user %s Total elapsed time is % instead of % in the hourly report of user %s realloc-fejl (% byte krævet) Minimum for grafens Y-skala er uden for interval: % Maksimum for grafens Y-skala er uden for interval: % Samlet antal hentede byte er % i stedet for % i timerapporten for bruger %s Samlet forløbet tid er % i stedet for % i timerapporten for bruger %s sarg-2.3.11/po/da.po000066400000000000000000003163651324060677300141220ustar00rootroot00000000000000# Danish translation sarg. # Copyright (C) 2015 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Joe Hansen , 2011, 2012, 2015. # # broken -> ugyldig # garbage -> rest (affald) # in-cache -> i-mellemlager (mÃ¥ske bedre uoversat, gjort indtil videre) # Nu tror jeg jeg forstÃ¥r. Dele af filen ligger i mellemlageret, og den # del af filen som ligger der er "in-cache size", mens størrelsen af # resten af filen er "cache-miss size". De skal naturligvis give 100% # af filens størrelse nÃ¥r man lægger dem sammen. Jeg tror løsningen er # at omskrive lidt mere (i-mellemlager -> delen af filen i mellemlageret # el. lign.) hvis man vil have den pÃ¥ dansk # loop -> loop (evt. løkke?) # making -> danner # passed on -> givet # record -> post # redirector log -> omdirigeringslog eller vidersendelseslog (afklar/udestÃ¥r). # stat -> kan ikke køre stat pÃ¥ # msgid "" msgstr "" "Project-Id-Version: sarg 2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2015-03-29 12:12+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Sti for lang: " #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Kan ikke Ã¥bne filen »%s«: %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "%d mere godkendelsesfejl er ikke vist her…" msgstr[1] "%d flere godkendelsesfejl er ikke vist her…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Kan ikke slette »%s«: %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "Rapport for godkendelsesfejl er ikke lavet, da den er tom\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "returstatus for sorteringskommando var %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "sorteringskommando: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Godkendelsesfejl" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Periode: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "BRUGERID" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NAVN" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "DATO/TID" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "TILGÃ…ET SIDE" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Ikke nok hukommelse til at læse filen »%s«\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Ugyldig dato i filen »%s«\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Ugyldig tid i filen »%s«\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Ugyldig bruger i filen »%s«\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Ugyldig IP-adresse i filen »%s«\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Ugyldig adresse (url) i filen »%s«\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Ukendt bruger-id %s i filen »%s«\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Skrivefejl i filen »%s«\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Kunne ikke lukke filen »%s«: %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Ugyldig post i filen »%s«\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "Bruger logfilen »%s« for dansguardian som blev fundet i din " "konfigurationsfil »%s«\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Læser DansGuardians logfil: »%s«\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Sorteringsfilen »%s«\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d mere dansguardianpost er ikke vist her…" msgstr[1] "%d flere dansguardianposter er ikke vist her…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Dansguardianrapport ikke oprettet da den er tom\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "Ã…RSAG" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Ugyldig regel i filen »%s«\n" # http://www.denstoredanske.dk/Samfund,_jura_og_politik/Sprog/Fremmedord/el-er/enumerere #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Kan ikke enumerere brugerlisten\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Læser brugerfilen »%s/%s«\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Ugyldig smartinformation i filen »%s«\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Ikke nok hukommelse til at gemme adressen\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Datafilen »%s« blev skrevet\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "Filen »%s« blev ikke fundet\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Dekomprimerer logfil »%s« med %s\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Dekomprimeringskommandoen er for lang for logfilen »%s«\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "%d mere nægtet adgang er ikke vist her…" msgstr[1] "%d flere nægtede adgange er ikke vist her…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "Nægtet rapport ikke lavet da den er tom\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Nægtet" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Ikke nok hukommelse til at gemme nøgle/værdipar %s/%s\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Kommando er for lang: " #: download.c:117 msgid "No downloaded files to report\n" msgstr "Ingen hentede filer at rapportere\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" "Sorteret fil findes ikke (til udarbejdelse af rapport over hentede filer)\n" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Hentede filer" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "Liste for filendelser, der skal hentes, er for lang\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "For mange filendelser til hentning\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Uoverensstemmelse i samlet statistik, nÃ¥r %s læses for at lave e-post-" "rapporten\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Adgangsrapport for Squidbruger" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "Faldende adgang (byte)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Periode" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "FORBIND" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "BYTE" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "FORLØBET TID" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "MILLISEK" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "TID" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Ugyldig bruger-id i filen »%s«\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Ugyldigt antal byte i filen »%s«\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Ugyldigt antal adgange i filen »%s«\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Ugyldig forløbet tid i filen »%s«\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "SAMLET" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "GENNEMSNIT" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "SARG-rapport, %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Sender post med kommandoen: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "kommando returnerer status %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "kommando: %s\n" # engelsk fejl exlcluded -> excluded #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "Ikke nok hukommelse til at gemme de ekskluderede IP-adresser\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Ikke nok hukommelse til at gemme de ekskluderede adresser\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Indlæser værtsfil for ekskludering fra: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "Under læsning af »%s«\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Indlæser ekskluderingsfil fra: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Kunne ikke gÃ¥ til slutningen af filen »%s«: %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Kan ikke indhente størrelsen pÃ¥ filen »%s«: %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Kunne ikke tilbagespole filen »%s«: %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "malloc kunne ikke allokere %ld byte\n" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "Strengværdien for parameter »%s« er for lang\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Mangler dobbelt anførelsestegn efter parameter »%s«\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "Mangler dobbelte anførelsestegn efter parameter »%s«, eller værdi er mere " "end %d byte lang\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Det første ord for parameter »%s« er mere end %d byte langt\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Mangler andet ord for parameter »%s«\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Det andet ord for parameter »%s« er mere end %d byte langt\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "Heltalsværdien for parameter »%s« er ugyldig\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Ukendt værdi »%s« for parameter »%s«\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" "Værdien »%s« er i konflikt med andre valgte værdier for parameter »%s«\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Ukendt sorteringskriterium »%s« for parameter »%s«\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Ukendt sorteringsrækkefølge »%s« for parameter »%s«\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: MÆRKE: %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "Ugyldig værdi i »date_format«-parameteren\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Fejl: Ugyldig syntaks i mærket for timer!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Fejl: Ugyldig syntaks i mærket for ugedage!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "For mange logfiler i konfigurationsfilen\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "For mange logfiler for omdirigering i konfigurationsfilen\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "Skabelonfilnavn er for lang i parameteren »AuthUserTemplateFile«\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" "Ingen grafer tilgængelige da sarg ikke blev kompileret med libgd. Sæt " "»graphs« til »no« i %s for at deaktivere denne advarsel\n" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "squidguard_log_format er forældet og er blevet erstattet af " "redirector_log_format. Opdater venligst din konfigurationsfil.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "redirector_ignore_date er forældet og er blevet erstattet af " "redirector_filter_out_date, som udfører handlingen som antydet af dens navn " "modsat redirector_ignore_date. Opdater venligst din konfigurationsfil.\n" # engelsk fejl her? redirector -> squidguard #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date er forældet og er blevet erstattet af " "redirector_filter_out_date, som udfører handlingen som antydet af dens navn " "modsat squidguard_ignore_date. Opdater venligst din konfigurationsfil.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "dansguardian_ignore_date er forældet og er blevet erstattet af " "dansguardian_filter_out_date, som udfører handlingen som antydet af dens " "navn modsat dansguardian_ignore_date. Opdater venligst din " "konfigurationsfil.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "Parameteren »byte_cost« i konfigurationsfilen er ugyldig\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: Ukendt tilvalg %s\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Indlæser konfiguration fra %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "realloc-fejl (% byte krævet)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "iconv kunne ikke konvertere strengen »%s« fra %s til UTF-8: %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd kunne ikke beregne omkredsboksen for teksten »%s«: %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd kunne ikke optegne teksten »%s«: %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "Minimum for grafens Y-skala er uden for interval: %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "Maksimum for grafens Y-skala er uden for interval: %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Ukendt type %d for Y-akseskala\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" "Der blev anmodet om en ukendt farve, »%s«, til grafen. Bruger orange i " "stedet for\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Bruger: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "Brugernavnet er for langt til at kunne fremstille filnavnet " #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Grafer deaktiveret som anmodet om i »%s«\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "Grafer deaktiveret da ingen skriftnavne blev angivet i »%s«\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "Skriftnavn »%s« er ikke fundet\n" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "iconv kan ikke konvertere fra %s til UTF-8: %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Ugyldigt punkt i filen »%s«\n" #: grepday.c:750 msgid "Graph report" msgstr "Grafrapport" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "DAGE" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Destinationsmappen er for lang: " #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Kan ikke oprette mappen »%s«: %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Ugyldig overførselsstørrelse i filen »%s«\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Ugyldig adgangskode i filen »%s«\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Ugyldig in-cache-diskenhed i filen »%s«\n" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Ugyldig out-of-cache-diskenhed i filen »%s«\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Brugerrapport" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Bruger" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Sorter: %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "SmartFilter-rapport" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "IN-CACHE-OUT" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "Danner rapporten %s\n" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Ugyldig in-cache-kolonne i filen »%s«\n" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Ugyldig out-of-cache-kolonne i filen »%s«\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "dato-/tidsrapport" #: html.c:327 msgid "DENIED" msgstr "NÆGTET" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Ugyldig bruger-ip i filen »%s«\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Ugyldig dag i filen »%s«\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Ugyldig størrelse i filen »%s«\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" "Begrænsning for bruger %s er overskredet (%d MB). Tilføjet til filen »%s«\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Danner index.html\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Kunne ikke Ã¥bne mappen »%s«: %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "SARG-rapport" msgstr[1] "SARG-rapporter" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "Ã…R" #: index.c:151 msgid "SIZE" msgstr "STØRRELSE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "For mange mÃ¥nedsmapper i %s\n" "Overskydende punkter ignoreres\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: Rapport for %04d" msgstr[1] "SARG: Rapporter for %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "MÃ…NED" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Kan ikke Ã¥bne mappen »%s«: %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "For mange dagmapper i %s\n" "Overskydende punkter ignoreres\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG: Rapport for %04d/%02d" msgstr[1] "SARG: Rapporter for %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Skrivefejl i indekset %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "Mappen »%s%s« ligner en rapportmappe men indeholder ikke filen sarg-date. Du " "bør slette mappen\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "ikke nok hukommelse til at sortere indekset\n" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Ugyldig ugedag i filen »%s%s/sarg-date«\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Ugyldig mÃ¥ned i filen »%s%s/sarg-date«\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Ugyldig dag i filen »%s%s/sarg-date«\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Ugyldig tid i filen »%s%s/sarg-date«\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Ugyldig Ã¥r i filen »%s%s/sarg-date«\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "Ikke nok hukommelse til at gemme mappenavnet »%s« i indekset\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "FIL/PERIODE" #: index.c:432 msgid "CREATION DATE" msgstr "OPRETTELSESDATO" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "BRUGERE" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Kunne ikke omdøbe »%s« til »%s«: %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Kunne ikke oprette henvisning »%s« til »%s«: %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Navnet pÃ¥ filen der skal fjernes er for langt: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "Kæder IP-opslagsmodul »%s«\n" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "Ignorerer duplikeret modul »%s« til at slÃ¥ en IP-adresse op\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "Ukendt modul »%.*s« til at slÃ¥ IP-adresserne op\n" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "Ingen tilvalg at konfigurere for modul %s\n" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "Intet kendt modul til at sÃ¥ en IP-adresse op med brug af DNS'en\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" "Ikke nok hukommelse til at gemme navnene der svarer til IP-adresserne\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Kan ikke slÃ¥ værtsnavn op »%s«: %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "Kort struktur returneret af getaddrinfo for en IPv4-adresse: %d byte i " "stedet for %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "Kort struktur returneret af getaddrinfo for en IPv6-adresse: %d byte i " "stedet for %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "Ugyldig adressetype %d returneret nÃ¥r værtsnavn »%s« slÃ¥s op\n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Ugyldig post i IP-adressen »%s«\n" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "IP til navneopslag (getnameinfo) pÃ¥ IP-adresse »%s« mislykkedes med fejlen " "%d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" "Kommando der skal køres for at slÃ¥ IP-adresserne op er for lang (maksimum er " "%d byte)\n" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "Ingen kommando at køre for at slÃ¥ en IP-adresse op. Konfigurer den venligst " "i sarg.conf\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "IP-adressen »%s« er for lang til at kommandoen kan køre\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "IP-adressen »%.*s« er for lang til at kommandoen kan køre\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "Kan ikke køre kommando %s\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "Kommando fejlede: %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Kunne ikke indhente oprettelsestidspunktet for »%s«: %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "Ingen gamle rapporter at slette da der kun findes %d rapport\n" msgstr[1] "Ingen gamle rapporter at slette da der kun findes %d rapporter\n" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "%d rapportmappe fundet\n" msgstr[1] "%d rapportmapper fundet\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "%d gammel rapport at slette\n" msgstr[1] "%d gamle rapporter at slette\n" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "Fjerner gammel rapportfil »%s«\n" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "For mange logfiler givet pÃ¥ kommandolinjen med tilvalg %s.\n" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" "Logfilnavnet er for langt til at blive givet pÃ¥ kommandolinjen med tilvalget " "%s: %s\n" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "Tidsperioden givet pÃ¥ kommandolinjen med tilvalget -t skal være TT:MM\n" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "Tidsperioden givet pÃ¥ kommandolinjen med tilvalget -t skal være TT:MM-TT:MM\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "Tilvalget -%c kræver et argument\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "For mange logfiler givet pÃ¥ kommandolinjen.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "Logfilnavn er for langt til at blive givet pÃ¥ kommandolinjen: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Init\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "Uddatamappen »%s« skal være uden for den midlertidige mappe »%s«\n" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Sletter midlertidig mappe »%s«\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "Parametre:\n" # I denne og nedenstÃ¥ende tror jeg linjerne skal stÃ¥ sÃ¥dan at # lighedstegnene stÃ¥r over hinanden # engelsk fejl, ikke nok plads til dansk. Jeg har flyttet alle lidt ekstra ud. #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Værtsnavn eller IP-adresse (-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Log for brugeragent (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Ekskluder fil (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Dato fra-til (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " E-post-adresse at sende rapporter (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " Konfigurationsfil (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Datoformat (-g) = Europa (dd/mm/åååå)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Datoformat (-g) = USA (mm/dd/yyyy)\n" # hvad stÃ¥r ww for? #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Datoformat (-g) = Sider & brugere (åååå/ww)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " IP-rapport (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Ja" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "Nej" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Bevar midlertidige filer (-k) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " Inddatalog (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Omdirigeringslog (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " SlÃ¥ IP-adresse op (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Uddatamappe (-o) = %s\n" # bruger-id (men beholdt pÃ¥ grund af pladsproblem). #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Brug Ip-adresse i stedet for brugerid (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " TilgÃ¥et side (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " Tid (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " Bruger (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Midlertidig mappe (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Fejlsøgningsbeskeder (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Behandl beskeder (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Tidligere rapporter at bevare (--lastlog) = %d\n" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "SARG-version: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" "Sarg kompileret til at rapportere advarsler hvis uddata er inkonsistente\n" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "setrlimit-fejl: %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "Ikke nok hukommelse til at læse en logfil\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Læser adgangslogfil: fra stdin\n" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" "Kan ikke indhente ændringstidspunkt pÃ¥ inddatalogfilen »%s«: %s\n" "Behandler den alligevel\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignorerer gammel logfil %s\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "Læser adgangslogfil: %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Poster i fil: %lu, læser: %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log er fra Microsoft ISA: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "Navnet pÃ¥ filen er ugyldigt: %s\n" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "Ugyldig post i eksklusionsstreng\n" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Ugyldig klient-IP-adresse i filen »%s«\n" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Ugyldig resultatkode i filen »%s«\n" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Ugyldig mængde af data i filen »%s«\n" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Ugyldig forespørgselsmetode i filen »%s«\n" # jeg ville foretrække 'squid-logfilen' (selvom de fleste tilsyneladende # refererer til specifikke filer, sÃ¥ squid risikere at være et program # f.eks.) #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Kan ikke konvertere tidsstemplet fra squid-logfilen\n" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Ugyldig overførselsvarighed i filen »%s«\n" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Ugyldigt Ã¥r i filen »%s«\n" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Ugyldig mÃ¥ned i filen »%s«\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "Ukendt inddataformat for logfil\n" # id blev brugt med fælleskøn et par gange tidligere. Personligt er jeg # ligeglad; jeg tror mest vi bruger intetkøn. #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "Bruger-id for lang: %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "Udelukket kode: %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "Udelukket side: %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "Udelukket bruger: %s\n" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "Ikke nok hukommelse til at gemme brugeren %s\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Skrivefejl i logfilen for bruger %s\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " Poster læst: %ld, skrevet: %ld, udelukket: %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log med blandet postformat (squid og normal log)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "Normalt logformat\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "Squid logformat\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "Sarg logformat\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "Log med ugyldigt format\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "Ingen poster fundet\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Afslut\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Periode dækket af logfiler: %s-%s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "Kunne ikke kompilere strengrepræsentationen pÃ¥ datointervallet\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "dato=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "periode=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg-fortolket log gemt som %s\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Samlet kørsesltid: %.0lf sekunder\n" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "Læste linjer: %lu linjer pÃ¥ %.0lf sekunder (%.0lf linjer/s)\n" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "Behandlede poster: %lu poster pÃ¥ %.0lf sekunder (%.0lf poster/s)\n" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "Brugere: %lu brugere pÃ¥ %.0lf sekunder (%.0lf brugere/s)\n" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "Indlæser adgangskodefil fra %s\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" "En tekstlinje er mere end %d byte lang hvilket angiver en ødelagt fil\n" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Ikke nok hukommelse til at læse yderligere linjer fra filen\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Kan ikke oprette et midlertidigt filnavn for at lave rapporten: %s\n" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "mkstemp-fejl: %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "Ikke nok hukommelse til at læse logfilen\n" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Kunne ikke indhente %d efterfølgende linjer af »%s«: %s\n" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Mislykket »tail«-kommando: %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "Ugyldig dato returneret af %s\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "Tidsstemplingen i kolonne 1 er for lang\n" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "Decimaldelen for tidsstemplingen i kolonne 1 er for lang\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "Forbindelsesvarigheden i kolonne 2 er for lang\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "IP-adressen i kolonne 3 er for lang\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "Statussen i kolonne 4 er for lang\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "Størrelsen i kolonne 5 er for lang\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "Handlingen i kolonne 6 er for lang\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "Adressen i kolonne 7 er for lang\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "Bruger-id'et i kolonne 8 er for langt\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "Dataene i kolonne 8 er for lange\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "Brugeren i kolonne 9 er for lang\n" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "Ugyldig tidskolonne i filen %s\n" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Ugyldig adgangstype i filen »%s«\n" #: realtime.c:314 msgid "Realtime" msgstr "Realtid" #: realtime.c:315 msgid "Auto refresh" msgstr "Opdater automatisk" #: realtime.c:316 msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" "Ugyldigt tilvalg »redirector_log_format« i din sarg.conf (for mange tegn før " "første mærke)\n" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" "Ugyldigt tilvalg »redirector_log_format« i din sarg.conf (mangler # i " "slutningen af mærke)\n" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" "Ugyldigt tilvalg »redirector_log_format« i din sarg.conf (for mange tegn før " "kolonneadskillelse)\n" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" "Fortolkning af mærke »%s« i videresendelseslog (redirector log) »%s« " "returnerede ikke noget resultat\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Timestreng er for lang i redirector-logfilen %s\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Karantænekildenavn er for langt i redirector-logfilen %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "Karantænelistenavnet er for langt i redirectorlogfilen %s\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "IP-adresse er for lang i redirector-logfilen %s\n" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Bruger-id for langt i redirector-logfilen »%s«\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "Ugyldig omdirigeret kilde i filen %s\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Ugyldig omdirigeret liste i filen »%s«\n" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Ugyldig kilde-IP i filen »%s«\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Læser redirector-logfilen »%s«\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" "Ikke nok hukommelse til at gemme navnet pÃ¥ den nye redirector-log som skal " "læses - %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "Ingen videresendelseslogge er tilgængelige for sÃ¥dan en rapport\n" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Kan ikke Ã¥bne squidGuards konfigurationsfil: %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "%d mere videresendelsesadgang er ikke vist her…" msgstr[1] "%d flere videresendelsesadgange er ikke vist her…" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "Videresendelsesrapport er ikke oprettet, da den er tom\n" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "Omdirigeringsrapport" #: redirector.c:478 msgid "RULE" msgstr "REGEL" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Ugyldig bruger fundet i filen »%s«\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "%d fejl fundet i logfilen. Nogle punkter kan mangle." msgstr[1] "%d fejl fundet i logfilen. Nogle punkter kan mangle." #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "For mange forskellige datoer i »%s«\n" #: repday.c:127 msgid "Day report" msgstr "Dagsrapport" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "%02dT" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" "Samlet antal hentede byte er % i stedet for % i " "timerapporten for bruger %s\n" #: repday.c:194 msgid "H:M:S" msgstr "T:M:S" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" "Samlet forløbet tid er % i stedet for % i timerapporten for " "bruger %s\n" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" "Kan ikke oprette uddatamappenavnet der indeholder perioden som en del af " "navnet\n" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "Mappenavn for rapporter=%s\n" #: report.c:258 msgid "Site access report" msgstr "Rapport for sideadgang" #: report.c:268 msgid "DATE" msgstr "DATO" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" "Dansguardianrapport ikke lavet, da ingen konfigurationsfil for dansguardian " "blev leveret\n" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "Der er ikke anmodet om rapport over hentede filer i report_type\n" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "Der er ikke anmodet om rapport over topsider i report_type\n" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "Der er ikke anmodet om rapport over sider og brugere i report_type\n" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "Der er ikke anmodet om rapport for nægtede adgange i report_type\n" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "Der er ikke anmodet om rapport over godkendelsesfejl i report_type\n" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "Der er ikke anmodet om rapport over brugers detaljer i report_type\n" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "Rapport genereret pÃ¥ %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapport genereret og sendt til %s\n" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "Danner filen %s/%s\n" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Kunne ikke skrive en linje i »%s«\n" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Kunne ikke skrive den samlede linje i »%s«\n" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Ugyldigt samlet antal adgange i filen »%s«\n" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Ugyldig samlet størrelse i »%s«\n" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Ugyldigt samlet forløbet tid i »%s«\n" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Ugyldig samlet cache hit i »%s«\n" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Ugyldig samlet mellemlagertab i »%s«\n" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Brugernavn for langt eller ugyldigt i »%s«\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "Adressen (url) er for lang eller ugyldig i »%s«\n" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "IP-adressen er for lang eller ugyldig i »%s«\n" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "Tiden er for lang eller ugyldig i »%s«\n" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "Datoen er for lang eller ugyldig i »%s«\n" # Jeg kan ikke helt finde ud af den her og den efterfølgende. Jeg ville # nok beholde "cache-hit-størrelse" pÃ¥ engelsk. Hit skal forstÃ¥s som at # noget blev fundet, i modsætning til at det ikke blev fundet i cachen. # Men i den næste, hvor der er en størrelse af et "cache miss" (noget # som ikke var der), giver det ingen mening for mig. #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Ugyldig cache hit-størrelse i »%s«\n" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Ugyldig cache miss-størrelse i »%s«\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" "Rapport om sider og brugere ikke genereret, da tilvalget for privatliv er " "aktiveret\n" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Sider & brugere" # var kompilere # (er ikke sikker pÃ¥ om de bare mener "bygge" den ud af # kommandolinjetilvalg. MÃ¥ske er det bedst at bruge bygge her) #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "kan ikke bygge kommandoen sort til at sortere fil %s\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "SMARTFILTER" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "Oprettet af %s den %s" # navneord eller udsagnsord? Sorterer log eller Sorteringslog #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sorteringslog %s/%s.user_unsort\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "Brugernavnet er for langt til at sortere med kommandoen " #: sort.c:163 topuser.c:171 msgid "connect" msgstr "forbind" #: sort.c:165 msgid "site" msgstr "side" #: sort.c:167 topuser.c:174 msgid "time" msgstr "tid" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "byte" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "omvend" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "Topside-rapport ikke lavet da privatlivstilvalget er aktivt\n" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" "Uoverensstemmelse i samlet statistik ved læsning af %s for at lave topsider\n" # hvad er dette, top, bedste, øverste #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Topsider" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "Top %d sider" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Ugyldigt antal brugere i filen »%s«\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" "Uoverensstemmelse mellem statistikker nÃ¥r der læses %s for at lave " "topbrugere\n" #: topuser.c:168 msgid "user" msgstr "bruger" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "SARG-rapport for %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Sorter: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Topbrugere" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Indholdsfortegnelse" #: topuser.c:239 msgid "Redirector" msgstr "Omdirigering" #: topuser.c:241 msgid "Denied accesses" msgstr "Nægtede adgange" #: topuser.c:244 msgid "Useragent" msgstr "Brugeragent" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" "Ingen rapport over topbrugere da den ikke er konfigureret i report_type\n" # Jeg kan ikke helt finde ud af den her og den efterfølgende. Jeg ville # nok beholde "cache-hit-størrelse" pÃ¥ engelsk. Hit skal forstÃ¥s som at # noget blev fundet, i modsætning til at det ikke blev fundet i cachen. # Men i den næste, hvor der er en størrelse af et "cache miss" (noget # som ikke var der), giver det ingen mening for mig. #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Ugyldig in-cache-størrelse i filen »%s«\n" # Jeg kan ikke helt finde ud af den her og den efterfølgende. Jeg ville # nok beholde "cache-hit-størrelse" pÃ¥ engelsk. Hit skal forstÃ¥s som at # noget blev fundet, i modsætning til at det ikke blev fundet i cachen. # Men i den næste, hvor der er en størrelse af et "cache miss" (noget # som ikke var der), giver det ingen mening for mig. #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Ugyldig out-of-cache-størrelse i filen »%s«\n" #: topuser.c:353 msgid "Graphic" msgstr "Grafik" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "Summen af in-cache og cache-miss er ikke 100%% pÃ¥ position %d (bruger %s)\n" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "Summen af in-cache og cache-miss er ikke 100%%\n" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Skrivefejl i topbrugerlisten %s\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Ikke nok hukommelse til at gemme den daglige statistik\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "Ugyldig dato »%s« for timestatistikken\n" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "Ugyldig datokomponent i »%s« for timestatistikken\n" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "Ugyldig time %d for timestatistikken\n" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "For mange forskellige datoer for timestatistikken\n" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ugyldigt datoindeks fundet i timestatistikken\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "Alias for værtsnavnet »%s*%s« indeholder for mange jokertegn (*)\n" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "Alias for værtsnavnet »%*s« mÃ¥ ikke slutte med et jokertegn\n" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" "Ikke nok hukommelse til at gemme aliasingdirektiverne for værtsnavnet\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Ugyldigt NUL-tegn fundet i regulært udtryk\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Uafsluttet regulært udtryk\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Kunne ikke kompilere det regulære udtryk »%s«: %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" "PCRE er ikke kompileret ind, og de regulære udtryk er derfor ikke " "tilgængelige i filen for værtsalias\n" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Læser filen for værtsalias »%s«\n" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Kan ikke læse aliasfilen for værtsnavn »%s«: %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "Liste af værtsnavne der skal have alias:\n" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr " %s*%s => %s\n" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr " %s => %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr " *%s => %s\n" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr " %d.%d.%d.%d/%d => %s\n" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "Brug: %s [tilvalg...]\n" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr " -a NAVN|IP Opret rapport for værtsnavn eller IP-adresse" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr " -c FIL Ekskluder tilsluttede værter fra rapporten" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr " --convert Konverter filen access.log til en læselig dato" #: usage.c:37 msgid " --css Output the internal CSS" msgstr " --css Vis den interne CSS" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" " -d DATO Datointerval i rapporten: fra-til dd/mm/åååå-dd/mm/åååå" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e E-POST E-post-adresse som skal modtage rapporter (stdout for " "konsol)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" " -f FIL Konfigurationsfil der skal læses (standard er %s/sarg." "conf)\n" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" " -g FMT Datoformat [e=Europa -> dd/mm/åååå, u=USA -> mm/dd/åååå]" #: usage.c:42 msgid " -h This help" msgstr " -h Denne hjælpetekst" #: usage.c:43 msgid " --help This help" msgstr " --help Denne hjælpetekst" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Rapporterer efter bruger og IP-adresse" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr " --keeplogs Bevar alle tidligere oprettede rapporter" #: usage.c:46 msgid " -l FILE Input log" msgstr " -l FIL Inddatalog" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" " --lastlog Angiv antallet af tidligere rapporter der skal bevares" #: usage.c:48 msgid " -m Advanced process messages" msgstr " -m Avancerede procesbeskeder" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n SlÃ¥ IP-adresser op med RDNS" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o MAPPE Vis uddatamappe" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr " -p Brug IP-adresse i stedet for bruger-id (rapporter)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr " -P PRÆFIKS Foranstil et præfiks til de opdelte filnavne" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s SIDE Begræns rapport til tilgÃ¥et side [f.eks. www.microsoft." "com]" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr " --split Opdel logfilen efter dato i parameteren -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" " --splitprefix PRÆFIKS\n" " Foranstil et præfiks til de opdelte filnavne" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr " --statistics Vis statistik for kørselstid" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" " -t TID Begræns rapport til tidsintervallet [TT:MM eller TT:MM-" "TT:MM]" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u BRUGER Rapporter kun denne brugers aktivitet" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w MAPPE Midlertidig mappe" #: usage.c:61 msgid " -x Debug messages" msgstr " -x Fejlsøgningsbeskeder" #: usage.c:62 msgid " -z Process messages" msgstr " -z Procesbeskeder" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Læser brugeragentlog: »%s«\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Ugyldig brugeragent i filen »%s«\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Poster læst: %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "Danner brugeragentrapporter\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Squids brugeragentrapporter" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "Ikke nok hukommelse til at gemme brugeren\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "Kan ikke indlæse »%s«: ikke nok hukommelse\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "Listen af brugere er for lang i filen »%s«.\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "Kan ikke forberede LDAP-adresse for serveren %s pÃ¥ port %d\n" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "Kan ikke forbinde til LDAP-serveren %s pÃ¥ port %d: %d (%s)\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "Kunne ikke deaktivere LDAP_OPT_REFERRALS\n" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "Kunne ikke angive LDAP-protokol version %d\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "Kan ikke binde til LDAP-server: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "LDAP-søgning mislykkedes: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "kigger efter »%s« ved eller under »%s«\n" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "Indlæser brugertabel fra LDAP\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "LDAP-modul er ikke kompileret i sarg\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Indlæser brugertabel: %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "getword backtrace:\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "Kan ikke fortolke linjen igen da den blev ændret\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "Loop detekteret i %s efter %d byte.\n" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "Linje=»%s«\n" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "Post=»%s«\n" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "søger efter »x%x«\n" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Heltalsoverløb detekteret i %s i linje »%s«\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Ugyldigt mellemlager videresendt til getword_ptr\n" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "Ugyldig sti »%s«. Brug venligst kun absolutte stier.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" "Det anmodede antal tal videresendt til my_lltoa (%d) er større end " "størrelsen pÃ¥ uddatamellemlageret (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "januar,februar,marts,april,maj,juni,juli,august,september,oktober,november," "december" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" "Den interne liste over mÃ¥nedsnavne er ugyldig. Rapporter venligst denne fejl " "til oversætteren.\n" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Kunne ikke læse datoen i »%s«\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Kunne ikke læse antallet af brugere i »%s«\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "brugernavn for langt for %s/%s/%s\n" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Kan ikke køre stat pÃ¥ »%s«: %s\n" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Kan ikke kopiere billedet »%s« til »%s«\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Filen »%s« findes allerede, flyttet til »%s«\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Kunne ikke skrive datoen i »%s«\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" "Ugyldig længde for mellemlager videresendt til funktionen for sikkert at " "kopiere en streng\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" "Datoen videresendt som argument er ikke formateret som dd/mm/åååå eller dd/" "mm/åååå-dd/mm/åååå\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "Datointervallet videresendt som argument er ikke formateret som dd/mm/åååå " "eller dd/mm/åååå-dd/mm/åååå\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "Kunne ikke indhente aktuel tid\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Ugyldigt antal dage i parameteren -d\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Kan ikke konvertere lokal tid: %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Ugyldigt antal uger i parameteren -d\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Ugyldigt antal mÃ¥neder i parameteren -d\n" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Ugyldigt datointerval givet pÃ¥ kommandolinjen\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Fjerner midlertidig fil sarg-general\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "For mange kodelinjer at udelukke i filen »%s«\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "Kan ikke indhente diskplads, da stien »%s%s« er for lang\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Kan ikke indhente diskplads med kommando %s\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Kan ikke indhente diskstørrelse med kommando %s\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" "Kommandoen til at beregne den optagne diskstørrelse (%s) returnerede den " "ukendte streng %s\n" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" "\n" "For at oversættelsen kan fungere, skal en gyldig beskedfil installeres som " "»%s//LC_MESSAGES/%s.mo« hvor er afledt fra det aktive sprog.\n" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "Nuværende aktive sprog er »%s«.\n" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "Sproget (locale) angives i miljøvariablen.\n" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" "Hvis denne besked er pÃ¥ engelsk, sÃ¥ er dit sprog ikke understøttet eller det " "er ikke korrekt installeret.\n" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "Ukendt stitype »%s«\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" "Ukendt fil »%s« fundet i midlertidig mappe »%s«. Det er ikke en af vores " "filer. Kontroller venligst den midlertidige mappe du gav til sarg. Juster " "stien til en sikker mappe eller slet manuelt indholdet af »%s«\n" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "Ukendt stitype »%s«. Kontroller din midlertidige mappe\n" #~ msgid "Log file name too long passed on command line with opton %s: %s\n" #~ msgstr "" #~ "Logfilnavnet er for langt til at blive givet pÃ¥ kommandolinjen med " #~ "tilvalget %s: %s\n" #~ msgid "File name too long: %s/%s/.htaccess\n" #~ msgstr "Filnavn er for langt: %s/%s/.htaccess\n" #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "(auth) Kan ikke Ã¥bne fil: %s - %s\n" #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "(auth) Kan ikke Ã¥bne skabelonfil: %s - %s\n" #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "(authfail) Kan ikke Ã¥bne fil %s\n" #~ msgid "There is a broken date in file %s\n" #~ msgstr "Der er en ugyldig dato i filen %s\n" #~ msgid "There is a broken time in file %s\n" #~ msgstr "Der er et ugyldigt tidspunkt i filen %s\n" #~ msgid "There is a broken user ID in file %s\n" #~ msgstr "Der er en ugyldig bruger-id i filen %s\n" #~ msgid "There is a broken IP address in file %s\n" #~ msgstr "Der er en ugyldig IP-adresse i filen %s\n" #~ msgid "There is a broken url in file %s\n" #~ msgstr "Der er en ugyldig adresse i filen %s\n" #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "(convlog) Kan ikke Ã¥bne logfilen %s - %s\n" #~ msgid "Not enough memory to read the log file %s\n" #~ msgstr "Ikke nok hukommelse til at læse logfilen %s\n" #~ msgid "Maybe you have a broken record or garbage in file %s\n" #~ msgstr "MÃ¥ske har du en ugyldig post eller rest i fil %s\n" #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Kan ikke Ã¥bne DansGuardians konfigurationsfil: %s\n" #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "(dansguardian) Kan ikke Ã¥bne logfil: %s\n" #~ msgid "Maybe you have a broken record or garbage in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig post eller rest i din %s-fil\n" #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Ugyldig dato fundet i din logfil for dansguardian %s\n" #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Ugyldig tid fundet i logfilen for dansguardian %s\n" #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Ugyldig bruger fundet i logfilen for dansguardian %s\n" #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Ugyldig IP-adresse fundet i logfilen for dansguardian %s\n" #~ msgid "Maybe you have a broken url in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig adresse i din %s-fil\n" #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "(dansguardian_report) Kan ikke Ã¥bne logfil %s\n" #~ msgid "Maybe you have a broken rule in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig regel i din %s-fil\n" #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "(datafile) mappesti er for lang: %s/%s.user_log\n" #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "(datafile) Kan ikke Ã¥bne filen %s\n" #~ msgid "Not enough memory to read the downloaded files.\n" #~ msgstr "Ikke nok hukommelse til at læse de hentede filer.\n" #~ msgid "There is a broken record or garbage in file %s\n" #~ msgstr "Der er en ugyldig post eller rest i filen %s\n" #~ msgid "There is an invalid smart info in file %s\n" #~ msgstr "Der er ugyldig smart-info i filen %s\n" #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Dekomprimerer logfilen »%s« med bzcat\n" #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "(denied) Kan ikke Ã¥bne logfilen %s\n" #~ msgid "Not enough memory to read the denied accesses\n" #~ msgstr "Ikke nok hukommelse til at læse de nægtede adgange\n" #~ msgid "Path too long to sort the file: %s/download.int_unsort\n" #~ msgstr "Sti for lang til at sortere filen: %s/download.int_unsort\n" #~ msgid "Path too long for %s/download.int_unsort\n" #~ msgstr "Sti for lang for %s/download.int_unsort\n" #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "(download) Kan ikke Ã¥bne logfilen %s\n" #~ msgid "Not enough memory to read the downloaded files\n" #~ msgstr "Ikke nok hukommelse til at læse de hentede filer\n" #~ msgid "(email) Cannot open file %s\n" #~ msgstr "(email) Kan ikke Ã¥bne filen %s\n" #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "Sorteringskommando for lang nÃ¥r filen »%s« sorteres til »%s«\n" #~ msgid "There is an invalid user ID in file %s\n" #~ msgstr "Der er en ugyldig bruger-id i filen %s\n" #~ msgid "There is an invalid number of bytes in file %s\n" #~ msgstr "Der er et ugyldigt antal byte i filen %s\n" #~ msgid "There is an invalid number of access in file %s\n" #~ msgstr "Der er et ugyldigt antal adgange i filen %s\n" #~ msgid "There is an invalid elapsed time in file %s\n" #~ msgstr "Der er en ugyldig angivelse af forløbet tid i filen %s\n" #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Kan ikke Ã¥bne exclude_hosts-fil: %s - %s\n" #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "(gethexclude) Kan ikke Ã¥bne fil %s - %s\n" #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "" #~ "Kunne ikke flytte til slutningen af filen for ekskluderede brugere %s: " #~ "%s\n" #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Kunne ikke tilbagespole filen for ekskluderede brugere %s: %s\n" #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc-fejl (%ld byte krævet)\n" #~ msgid "" #~ "Maybe you have a broken record or garbage in \"date_format\" parameter\n" #~ msgstr "" #~ "MÃ¥ske har du en ugyldig post eller rest i parameteren »date_format«\n" #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "(getconf) Kan ikke Ã¥bne filen %s\n" #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "(grepday) Kan ikke Ã¥bne logfil %s\n" #~ msgid "user name too long for %s/%s.day\n" #~ msgstr "brugernavn for langt for %s/%s.day\n" #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "(grepday) Kan ikke Ã¥bne uddatafil %s\n" #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "Filnavnet er for langt: %s/sargtmp.int_unsort\n" #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "Filnavnet er for langt: %s/sargtmp.int_log\n" #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "Inddatafilnavnet er for langt: %s/htmlrel.txt\n" #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "(html3) Kan ikke Ã¥bne filen %s\n" #~ msgid "Output file name too long: %s/%s/%s.html\n" #~ msgstr "Uddatafilnavnet er for langt: %s/%s/%s.html\n" #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "Filnavnet er for langt: %s/denied_%s.html\n" # evt. beskadigt #~ msgid "There is a broken number of access in file %s\n" #~ msgstr "Der er et ugyldigt antal adgange i filen %s\n" #~ msgid "There is a broken downloaded size in file %s\n" #~ msgstr "Der er en ugyldig størrelse for overførsel i filen %s\n" #~ msgid "There is a broken access code in file %s\n" #~ msgstr "Der er en ugyldig adgangskode i filen %s\n" #~ msgid "There is a broken elapsed time in file %s\n" #~ msgstr "Der er en ugyldig forløbet tid i filen %s\n" #~ msgid "There is a broken in-cache volume in file %s\n" #~ msgstr "Der er en ugyldig in-cache-enhed i filen %s\n" #~ msgid "There is a broken out-cache volume in file %s\n" #~ msgstr "Der er en ugyldig out-cache-enhed i filen %s\n" #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "(html5) Kan ikke Ã¥bne filen %s\n" #~ msgid "There is a broken number of bytes in file %s\n" #~ msgstr "Der er et ugyldig antal byte i filen %s\n" # engelsk fejl in-cache de andre steder #~ msgid "There is a broken in cache column in file %s\n" #~ msgstr "Der er en ugyldig kolonne for in-cache i filen %s\n" #~ msgid "There is a broken out of cache column in file %s (%d)\n" #~ msgstr "Der er en ugyldig kolonne for out-cache i filen %s (%d)\n" #~ msgid "File name too long: %s/%s.ip\n" #~ msgstr "Filnavnet er for langt: %s/%s.ip\n" #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "(html6) Kan ikke Ã¥bne filen %s\n" #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "(html7) Kan ikke Ã¥bne filen %s\n" #~ msgid "Maybe you have a broken user IP in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig bruger-ip i din %s-fil\n" #~ msgid "Maybe you have a broken day in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig dag i din %s-fil\n" #~ msgid "Maybe you have a broken time in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig tid i din %s-fil\n" #~ msgid "Maybe you have a broken size in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig størrelse i din %s-fil\n" #~ msgid "Maybe you have a broken elapsed time in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig forløbet tid i din %s-fil\n" #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "(html8) Kan ikke Ã¥bne filen %s\n" #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "(html9) Kan ikke Ã¥bne filen %s\n" #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "(html10) Kan ikke Ã¥bne filen %s\n" #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "(index) Kan ikke Ã¥bne filen %s - %s\n" #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Kunne ikke lukke indeksfilen %s - %s\n" #~ msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" #~ msgstr "MÃ¥ske har du en ugyldig ugedag i din fil %s%s/sarg-date\n" #~ msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" #~ msgstr "MÃ¥ske har du en ugyldig mÃ¥ned i din fil %s%s/sarg-date\n" #~ msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" #~ msgstr "MÃ¥ske har du en ugyldig dag i din fil %s%s/sarg-date\n" #~ msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" #~ msgstr "MÃ¥ske har du en ugyldig tid i din fil %s%s/sarg-date\n" #~ msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" #~ msgstr "MÃ¥ske har du et ugyldig Ã¥r i din fil %s%s/sarg-date\n" #~ msgid "(index) Cannot open file %s\n" #~ msgstr "(index) Kan ikke Ã¥ben filen %s\n" #~ msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" #~ msgstr "(index) omdøb fejl fra »%s« til »%s« - %s\n" #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "(lastlog) Kan ikke Ã¥bne midlertidig fil %s\n" #~ msgid "Directory name too long: %s%s\n" #~ msgstr "Mappenavn for langt: %s%s\n" #~ msgid "Too many redirector logs passed on command line with option -L.\n" #~ msgstr "" #~ "For mange omdirigeringslogge er givet pÃ¥ kommandolinjen med tilvalget -" #~ "L.\n" # engelsk fejl opton -> option. #~ msgid "" #~ "Redirector log file name too long passed on command line with opton -L: " #~ "%s\n" #~ msgstr "" #~ "Filnavnet pÃ¥ omdirigeringsloggen givet pÃ¥ kommandolinjen med tilvalget -L " #~ "er for langt: %s\n" #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Kan ikke Ã¥bne konfigurationsfil: %s - %s\n" #~ msgid "sarg version: %s\n" #~ msgstr "sargversion: %s\n" #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "(log) Kan ikke Ã¥bne fil: %s - %s\n" #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "(log) Kan ikke Ã¥bne logfil: %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%" #~ msgstr "SARG: Poster i fil: %lu, læser: %3.2f%%" #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "Filnavnet er for langt: %s/sarg_temp.log\n" #~ msgid "Maybe you have a broken record or garbage in your exclusion string\n" #~ msgstr "MÃ¥ske har du en ugyldig post eller rest i din udelukkelsesstreng\n" #~ msgid "Maybe you have a broken time in your access.log file\n" #~ msgstr "MÃ¥ske har du en ugyldig tid i din fil access.log\n" #~ msgid "Maybe you have a broken date in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig dato i din fil %s\n" #~ msgid "Invalid time found in %s\n" #~ msgstr "Ugyldig tid fundet i %s\n" #~ msgid "Maybe you have a broken client IP address in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig klient-IP-adresse i din fil %s\n" #~ msgid "Maybe you have a broken result code in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig resultatkode i din fil %s\n" #~ msgid "Maybe you have a broken amount of data in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig mængde data i din fil %s\n" #~ msgid "Maybe you have a broken request method in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig forespørgselsmetode i din fil %s\n" #~ msgid "Maybe you have a broken user ID in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig bruger-id i din fil %s\n" #~ msgid "Maybe you have a broken IP in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig IP i din fil %s\n" #~ msgid "Maybe you have a broken download duration in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig overførselsvarighed i din fil %s\n" #~ msgid "Maybe you have a broken download size in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig overførselsstørrelse i din fil %s\n" #~ msgid "Maybe you have a broken access code in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig adgangskode i din fil %s\n" #~ msgid "Maybe you have a broken year in your %s file\n" #~ msgstr "MÃ¥ske har du et ugyldig Ã¥r i din fil %s\n" #~ msgid "Maybe you have a broken month in your %s file\n" #~ msgstr "MÃ¥ske har du en ugyldig mÃ¥ned i din fil %s\n" #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Kunne ikke lukke logfilen for bruger %s - %s\n" #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "Midlertidigt brugerfilnavn er for langt: %s/%s.user_unsort\n" #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "(log) Kan ikke Ã¥bne midlertidig fil: %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" #~ msgstr "SARG: Poster i fil: %lu, læser: %3.2f%%\n" #~ msgid "Period: %s\n" #~ msgstr "Periode: %s\n" #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "Filnavn er for langt: %s/sarg-%s_%s-%s_%s.log\n" #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "(getusers) Kan ikke Ã¥bne fil %s - %s\n" #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc-fejl (%ld)\n" #~ msgid "You have an invalid user in your %s file\n" #~ msgstr "Du har en ugyldig bruger i din fil %s\n" #~ msgid "Maybe a broken record or garbage was returned by %s\n" #~ msgstr "MÃ¥ske en ugyldig post eller rest blev returneret af %s\n" #~ msgid "(realtime) open error %s - %s\n" #~ msgstr "(realtime) Ã¥bn fejl %s - %s\n" #~ msgid "Invalid URL in file %s\n" #~ msgstr "Ugyldig adresse i filen %s\n" #~ msgid "Invalid time found in file %s\n" #~ msgstr "Ugyldig tid fundet i filen %s\n" #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "(squidguard) Kan ikke Ã¥bne logfil %s\n" #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Ikke nok hukommelse til at læse redirector-loggen\n" #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "Ikke nok hukommelse til at læse den behandlede omdirigeringslog\n" #~ msgid "Output file name too long: %s/%s/d%s.html\n" #~ msgstr "Uddatafilnavn er for langt: %s/%s/d%s.html\n" #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "(repday) Kan ikke Ã¥bne logfil %s\n" #~ msgid "outdirname=%s\n" #~ msgstr "udmappenavn=%s\n" #~ msgid "(report) Cannot open file %s\n" #~ msgstr "(report) Kan ikke Ã¥bne fil %s\n" #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "(report) mappepunkt er for langt: %s/%s.user_log\n" #~ msgid "There is a broken smart info in file %s\n" #~ msgstr "Der er ugyldig smart-info i fil %s\n" #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Kunne ikke lukke midlertidig fil for bruger %s - %s\n" #~ msgid "Temporary file name too long: %s/%s.utmp\n" #~ msgstr "Midlertidigt filnavn er for langt: %s/%s.utmp\n" #~ msgid "Invalid number of bytes in %s\n" #~ msgstr "Ugyldigt antal byte i %s\n" #~ msgid "Invalid elapsed time in %s\n" #~ msgstr "Ugyldig forløbet tid i %s\n" #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "Filnavnet er for langt for: %s/smartfilter.int_unsort\n" #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "(siteuser) Kan ikke Ã¥bne logfil %s\n" #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "Filnavnet er for langt: %s/smartfilter.int_unsort\n" #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "Filnavnet er for langt: %s/sarg-sites\n" #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "Filnavnet er for langt: %s/smartfilter.int_log\n" #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "Filnavnet er for langt: %s/smartfilter.html\n" #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "(smartfilter) Kan ikke Ã¥bne logfil %s\n" #~ msgid "on" #~ msgstr "den" #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "(smartfilter) Kan ikke Ã¥bne fil %s\n" #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "Filnavnet er for langt: %s/%s.utmp\n" #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "Filnavnet er for langt: %s/htmlrel.txt\n" #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "brugernavn for langt for %s/%s.user_unsort\n" #~ msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" #~ msgstr "(splitlog) Uddatasti er for lang: %s%s-Ã…Ã…Ã…Ã…-mm-dd\n" #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "(splitlog) Kan ikke Ã¥bne logfil %s - %s\n" #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "(splitlog) Kan ikke Ã¥bne uddatalogfil %s - %s\n" #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "(topsites) Kan ikke Ã¥bne logfilen %s\n" #~ msgid "The number of users is invalid in file %s\n" #~ msgstr "Antallet af brugere er ugyldigt i filen %s\n" #~ msgid "The url is invalid in file %s\n" #~ msgstr "Adressen er ugyldig i filen %s\n" #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "(topuser) Kan ikke Ã¥bne filen %s\n" #~ msgid "Not enough memory to read the file %s\n" #~ msgstr "Ikke nok hukommelse til at læse filen %s\n" #~ msgid "There is a broken user in file %s\n" #~ msgstr "Der er en ugyldig bruger i filen %s\n" #~ msgid "There is a broken elpased time in file %s\n" #~ msgstr "Der er en ugyldig forløbet tid i filen %s\n" #~ msgid "There is a broken in-cache size in file %s\n" #~ msgstr "Der er en ugyldig størrelse for in-cache i filen %s\n" #~ msgid "There is a broken out-of-cache size in file %s\n" #~ msgstr "Der er en ugyldig størrelse for ikke-nok-mellemlager i filen %s\n" #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Kunne ikke lukke topbrugerlisten %s - %s\n" #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "Filnavn er for langt: %s/%s%s\n" #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "(totday) Kan ikke Ã¥bne logfilen %s\n" #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Ikke nok hukommelse til at læse aliasserne for værtsnavnene\n" #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "(useragent) Kan ikke Ã¥bne filen %s\n" #~ msgid "Maybe you have a broken useragent entry in your %s file\n" #~ msgstr "MÃ¥ske har du et ugyldig brugeragentpunkt i din %s-fil\n" #~ msgid "There is an invalid IP address in file %s\n" #~ msgstr "Der er en ugyldig IP-adresse i fil %s\n" #~ msgid "There is an invalid useragent in file %s\n" #~ msgstr "Der er en ugyldig brugeragent i filen %s\n" #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "(usertab) Kan ikke Ã¥bne filen %s - %s\n" # gad vide om usertab er et filnavn. MÃ¥ske bedst at bruge # "usertab-filen", sÃ¥ kan det ikke gÃ¥ helt galt # engelsk fejl, forklaring pÃ¥ hvad usertab er? #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Kunne ikke flytte til slutningen af usertab-filen %s: %s\n" #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Kunne ikke tilbagespole usertab-filen %s: %s\n" #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "FEJL: Kan ikke indlæse. Hukommelsesfejl\n" #~ msgid "getword_multisep loop detected.\n" #~ msgstr "getword_multisep-loop detekteret.\n" #~ msgid "getword_skip loop detected after %d bytes.\n" #~ msgstr "getword_skip-loop detekteret efter %d byte.\n" #~ msgid "Integer overflow detected in getword_atoll in line %s\n" #~ msgstr "Heltalsoverløb detekteret i getword_atoll i linje %s\n" #~ msgid "getword_atoll loop detected after %d bytes.\n" #~ msgstr "getword_atoll-loop deteketeret efter %d byte.\n" #~ msgid "getword_atoi loop detected after %d bytes.\n" #~ msgstr "getword_atoi-loop detekteret efter %d byte.\n" #~ msgid "directory name too long: %s\n" #~ msgstr "mappenavn er for langt: %s\n" #~ msgid "There is a invalid user in file %s\n" #~ msgstr "Der er en ugyldig bruger i fil %s\n" #~ msgid "There a broken total number of access in file %s\n" #~ msgstr "Der er et ugyldigt antal adgange i filen %s\n" #~ msgid "Cannot copy images to target directory %simages\n" #~ msgstr "Kan ikke kopiere billeder til mÃ¥lmappe %simages\n" #~ msgid "Cannot open file" #~ msgstr "Kan ikke Ã¥bne fil" #~ msgid "cannot open %s for writing\n" #~ msgstr "kan ikke Ã¥bne %s til skrivning\n" #~ msgid "(removetmp) directory too long to remove %s/sarg-period\n" #~ msgstr "(removetmp) mappe er for lang til at fjerne %s/sarg-period\n" #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "(removetmp) Kan ikke Ã¥bne fil %s\n" #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Kunne ikke lukke %s efter skrivning af samlet linje - %s\n" #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "(util) Kan ikke Ã¥bne fil %s (exclude_codes)\n" #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "" #~ "Kunne ikke flytte til slutningen pÃ¥ filen for ekskluderede kodelinjer %s: " #~ "%s\n" #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "Kunne ikke tilbagespole filen for ekskluderede kodelinjer %s: %s\n" #~ msgid "The command %s failed\n" #~ msgstr "Kommandoen %s fejlede\n" #~ msgid "directory name to delete too long: %s/%s\n" #~ msgstr "mappenavn at slette er for langt: %s/%s\n" #~ msgid "cannot stat %s\n" #~ msgstr "kan ikke køre stat pÃ¥ %s\n" #~ msgid "cannot stat \"%s\"\n" #~ msgstr "kan ikke køre stat pÃ¥ »%s«\n" sarg-2.3.11/po/de.gmo000066400000000000000000000347171324060677300142700ustar00rootroot00000000000000Þ•Ÿß ˆ ‰ I§ ñ 23B+v>¢Iá4+'`"ˆl«e[~ Úèîö "!0Rj%а"Ëî ,6; B6O#†$ª1Ï  9 C P\ {+œ$Èí7%S2y0¬QÝ/87 p2‘!Ä?æ&A%[#"¥È*ä'(7%`†£¾ Ùú&<Vt’-­*Û&-L#k˜ž'±Ù.ÝM Z7y$±EÖ#$@eu |#‡«Æßò  7< [ ivˆ›´¹¿<Ð/ ==3{)¯ Ù æ ðú &( Op,u(¢ Ë×Kà, Fgl.r¡ »È*Ðû   . @ E J $b"\‡"ä"9#2:#;m#P©#Yú#GT$3œ$#Ð$Žô$ˆƒ%s &€&“& ™&¦&¿&Å& Í&Ú&6ë&)"'*L'=w'/µ':å'* (K(f( (Š( ( š(>§()æ(+)A<) ~)‰)ž) ½)Ç)×),æ)'*/;*0k*(œ*+Å*Eñ* 7+7X+5+ZÆ+!,K),&u,8œ,(Õ,Gþ,"F- i-,Š-+·-/ã-$.18..j./™.+É.$õ.!/#»8ú8 9 9B*9m9 t9‚9%ˆ9®9Á9Æ9%PgŠ€NnU:rF O{X>` }*( Wsy“Œ&?cI\Bž|LZ•f‰„”™‘H;"Dj1lE.›C_[ub7/]† vdqS,pi=T<Yœ‚~m!K2‹x—e…@089z‡–o4Vw) ƒ3JGŸ k#+Ah'ŽQš˜tˆMR-a$’6^5 --help This help -e MAIL Email address to send reports to (stdout for console) -h This help -i Reports by user and IP address -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…ACCESSED SITEAGENTAVERAGEAuthentication FailuresBYTESCAUSECONNECTCREATION DATECannot create directory "%s": %s Cannot delete "%s": %s Cannot enumerate the user list Cannot get the size of file "%s": %s Cannot open file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Command failed: %s Command too long: DATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Datafile "%s" written successfully Decompressing log file "%s" with %s Decompression command too long for log file "%s" DeniedDenied accessesDestination directory too long: DownloadsELAPSED TIMEFILE/PERIODFailed to close file "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s File "%s" not found Fontname "%s" not found Graphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" IP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIgnoring duplicate module "%s" to resolve an IP address Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid date in file "%s" Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid record in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s%s/sarg-date" Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s MILLISECMONTHMaking index.html Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s No command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No known module to resolve an IP address using the DNS Not enough memory to read file "%s" Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Path too long: PeriodPeriod: %sReading DansGuardian log file "%s" Reading user file "%s/%s" SARG reportSARG reportsSARG report for %sSARG report, %cSARG, SARG: SARG: (info) SARG: Unknown option %s SIZESending mail with command: %s Sites & UsersSort: %s, %sSort: %s, %sSorting file "%s" Squid User Access ReportTIMETOTALTable of contentThe first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The second word of parameter "%s" is more than %d bytes long Too many different dates for the hourly statistics Too many log files in configuration file Top %d sitesTop sitesTop usersUSERIDUSERSUnknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression UserUser name too long to manufacture file name User name too long to sort with command User reportUser: %sUsing the dansguardian log file "%s" found in your configuration file "%s" Write error in file "%s" Write error in top user list %s YEARbytescannot build the sort command to sort file %s command return status %d command: %s connecticonv cannot convert from %s to UTF-8: %s normalreversesitesort command return status %d sort command: %s timeuserProject-Id-Version: sarg 2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2016-09-08 20:28+0200 Last-Translator: Mario Blättermann Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.9 --help Diese Hilfeseite -e E-Mail-Adresse E-Mail-Adresse für Empfangsberichte (stdout für die Konsole) -h Diese Hilfeseite -i Berichte nach Benutzer und IP-Adresse -n IP-Adressen mit RDNS auflösen -o VERZEICHNIS Ausgabeverzeichnis für Bericht -p IP-Adresse anstelle der Benutzerkennung verwenden (Berichte) -s SEITE Berichte nur auf folgende Seiten eingrenzen [z.B. www.microsoft.com] -u BENUTZER Nur Berichte für angegebenen Benutzer anzeigen -w VERZEICHNIS Temporäres Verzeichnis -x Debug-Meldungen%d weiterer Authentifizierungsfehler wird hier nicht angezeigt…%d weitere Authentifizierungsfehler werden hier nicht angezeigt…%d weiterer DansGuardian-Eintrag wird hier nicht angezeigt…%d weitere DansGuardian-Einträge werden hier nicht angezeigt…%d verweigerter Zugriff wird hier nicht angezeigt…%d verweigerte Zugriffe werd hier nicht angezeigt…ZUGEGRIFFENE SEITEAGENTDURCHSCHNITTAuthentifizierungsfehlerBYTESURSACHEVerbindungenERSTELLUNGSDATUMDas Verzeichnis »%s« kann nicht angelegt werden: %s »%s« konnte nicht gelöscht werden: %s Benutzer können nicht aufgelistet werden Die Größe der Datei »%s« kann nicht ermittelt werden: %s Datei »%s« konnte nicht geöffnet werden: %s Rechnername »%s« konnte nicht aufgelöst werden: »%s« Befehl %s konnte nicht ausgeführt werden Befehl fehlgeschlagen: %s Der Befehl ist zu lang: DATUM/ZEITTAGEVERWEIGERTDansGuardianDer DansGuardian-Report wurde nicht erzeugt, weil er leer ist Datenbank »%s« erfolgreich geschrieben Protokolldatei »%s« wird mit %s entpackt Der Entpackungsbefehl war für die Protokolldatei »%s« zu lang VerweigertVerweigerte ZugriffeZiel-Verzeichnisname zu lang: DownloadsVERGANGENE ZEITDATEI/ZEITRAUMFehler beim Schließen der Datei »%s«: %s Fehler beim Lesen des Datums in »%s« Fehler beim Lesen der Benutzeranzahl in »%s« Fehler beim Umbenennen von »%s« in »%s«: %s Datei »%s« kann nicht gefunden werden Schriftartname »%s« wurde nicht gefunden Grafiken deaktiviert, da keine Schriftart in »%s« vorgegeben wurde Grafiken deaktiviert lt. »%s« IP-Adresse »%.*s« ist zur Befehlsausführung zu lang IP-Adresse »%s« ist zur Befehlsausführung zu lang IP-Adressauflösung (getnameinfo) bei IP-Adresse »%s« mit Fehler %d - %s fehlgeschlagen IP/NAMEDas doppelt vorhandene Modul »%s« zur IP-Adressauflösung wird ignoriert Ungültige IP-Adresse in Datei »%s« Ungültiges NUL-Zeichen im regulären Ausdruck gefunden Ungültiger Zugangscode in Datei »%s« Ungültiger Adresstyp %d bei der Namensauflösung von »%s« erhalten Ungültiges Datum in Datei »%s« Ungültiger Tag in Datei »%s« Ungültiger Tag in Datei »%s%s/sarg-date« Ungültige Downloadgröße in Datei »%s« Ungültige »vergangene Zeit« in Datei »%s« Ungültiger Eintrag in Datei »%s« Ungültige Uhrzeit %d für die Stunden-Statistik Ungültiger Monat in Datei »%s%s/sarg-date« Ungültige Anzahl an Zugriffen in Datei »%s« Ungültige Anzahl an Bytes in Datei »%s« Ungültiger Eintrag in Datei »%s« Ungültige Regel in Datei »%s« Ungültige Größe in Datei »%s« Ungültiger Hinweis in Datei %s Ungültige Zeitangabe in Datei »%s« Ungültige Zeitangabe in Datei »%s%s/sarg-date« Ungültige URL in Datei »%s« Ungültige Benutzerkennung in Datei »%s« Ungültige Benutzer-IP in Datei »%s« Ungültiger Benutzer in Datei »%s« Ungültiger Wert im Parameter »date_format« Ungültiger Wochentag in Datei »%s%s/sarg-date« Ungültiges Jahr in Datei »%s%s/sarg-date« Konfiguration wird aus %s geladen Ausschlussdatei aus %s wird geladen Host-Ausschlussdatei aus %s wird geladen MILLISEKMONATindex.html wird erzeugt In Parameter »%s« fehlt das zweite Wort NR.Dateiname der zu löschenden Datei ist zu lang: %s/%s Befehl zur IP-Adressauflösung nicht vorhanden. Bitte in sarg.conf konfigurieren Keine heruntergeladenen Dateien zum Anzeigen Es ist kein Modul zur IP-Adressauflösung bekannt Nicht genügend Speicher zum Lesen der Datei »%s« Nicht genügend Speicher zur Speicherung der Namensauflösung vorhanden Nicht genügend Speicher zum Speichern der URL Nicht genügend Speicher zum Speichern des Benutzers Pfad zu lang:ZeitraumZeitraum: %sDansGuardian-Protokolldatei »%s« wird gelesen Benutzerdatei »%s/%s« wird gelesen SARG-BerichtSARG-BerichteSARG-Bericht für %sSARG-Bericht, %cSarg, SARG: SARG: (info) SARG: Unbekannte Option %s GRÖßEMeldung wird mit diesem Befehl verschickt: %s Seiten und BenutzerSortierung: %s, %sSortierung:  %s, %sDatei »%s« wird sortiert Squid-Bericht über BenutzerzugriffeZEITTOTALInhaltsverzeichnisDas erste Wort von Parameter »%s« ist länger als %d Bytes Der ganzzahlige Wert von Parameter »%s« ist falsch Das zweite Wort in Parameter »%s« ist länger als %d Bytes Zu viele verschiedene Datumsangaben für die Stunden-Statistik In der Konfigurationsdatei wurden zu viele Protokolldateien angegeben %d Top-SeitenTop-SeitenTop-NutzerBENUTZERKENNUNGBENUTZERUnbekannte Benutzerkennung %s in Datei »%s« Unbekannter Wert »%s« in Parameter »%s« Regulärer Ausdruck nicht korrekt terminiert BenutzerBenutzername ist zu lang für die Erstellung des Dateinamens Benutzername ist zu lang, um mit diesem Befehl zu sortieren BenutzerberichtBenutzer: %sDansGuardian-Protokolldatei »%s« aus der Konfigurationsdatei »%s« wird benutzt Fehler beim Schreiben der Datei »%s« Schreibfehler in der Top-Benutzer-Liste %s JAHRBytesDer Sortierbefehl für Datei %s kann nicht ausgeführt werden Befehlsausgabestatus %d Befehl: %s VerbindungUmwandlung mittels iconv von %s nach UTF-8 ist nicht möglich: %s NormalRückwärtsSeiteStatus des Ausgabesortierbefehls: %d Sortierbefehl: %s ZeitBenutzersarg-2.3.11/po/de.po000066400000000000000000002007711324060677300141170ustar00rootroot00000000000000# German translation for sarg. # Copyright (C) 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Sebastian Steinkamp , 2016. # Mario Blättermann , 2016. # msgid "" msgstr "" "Project-Id-Version: sarg 2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2016-09-08 20:28+0200\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.9\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Pfad zu lang:" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Datei »%s« konnte nicht geöffnet werden: %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" "%d weiterer Authentifizierungsfehler wird hier nicht angezeigt…" msgstr[1] "" "%d weitere Authentifizierungsfehler werden hier nicht angezeigt…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "»%s« konnte nicht gelöscht werden: %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "Status des Ausgabesortierbefehls: %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "Sortierbefehl: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Authentifizierungsfehler" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Zeitraum: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "BENUTZERKENNUNG" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NAME" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "DATUM/ZEIT" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "ZUGEGRIFFENE SEITE" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Nicht genügend Speicher zum Lesen der Datei »%s«\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Ungültiges Datum in Datei »%s«\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Ungültige Zeitangabe in Datei »%s«\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Ungültiger Benutzer in Datei »%s«\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Ungültige IP-Adresse in Datei »%s«\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Ungültige URL in Datei »%s«\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Unbekannte Benutzerkennung %s in Datei »%s«\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Fehler beim Schreiben der Datei »%s«\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Fehler beim Schließen der Datei »%s«: %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Ungültiger Eintrag in Datei »%s«\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "DansGuardian-Protokolldatei »%s« aus der Konfigurationsdatei »%s« wird " "benutzt\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "DansGuardian-Protokolldatei »%s« wird gelesen\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Datei »%s« wird sortiert\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d weiterer DansGuardian-Eintrag wird hier nicht angezeigt…" msgstr[1] "" "%d weitere DansGuardian-Einträge werden hier nicht angezeigt…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Der DansGuardian-Report wurde nicht erzeugt, weil er leer ist\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "URSACHE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Ungültige Regel in Datei »%s«\n" # »Benutzerliste auflisten« ist eine unschöne Dopplung, die man vermeiden sollte #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Benutzer können nicht aufgelistet werden\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Benutzerdatei »%s/%s« wird gelesen\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Ungültiger Hinweis in Datei %s\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Nicht genügend Speicher zum Speichern der URL\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Datenbank »%s« erfolgreich geschrieben\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "Datei »%s« kann nicht gefunden werden\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Protokolldatei »%s« wird mit %s entpackt\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Der Entpackungsbefehl war für die Protokolldatei »%s« zu lang\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "%d verweigerter Zugriff wird hier nicht angezeigt…" msgstr[1] "%d verweigerte Zugriffe werd hier nicht angezeigt…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Verweigert" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" # Achtung: Es gibt oft angehängte Leerzeichen in Strings, die übernommen werden müssen #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Der Befehl ist zu lang: " #: download.c:117 msgid "No downloaded files to report\n" msgstr "Keine heruntergeladenen Dateien zum Anzeigen\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Squid-Bericht über Benutzerzugriffe" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Zeitraum" # Je nach Kontext könnte das auch ZAHL heißen...? #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "NR." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "Verbindungen" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "VERGANGENE ZEIT" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "MILLISEK" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "ZEIT" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Ungültige Benutzerkennung in Datei »%s«\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Ungültige Anzahl an Bytes in Datei »%s«\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Ungültige Anzahl an Zugriffen in Datei »%s«\n" # CHECK: Wenn »elapsed time« in der jeweiligen Datei wortwörtlich so erscheint, dann sollte das auch in der Übersetzung so bleiben #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Ungültige »vergangene Zeit« in Datei »%s«\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "DURCHSCHNITT" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "SARG-Bericht, %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Meldung wird mit diesem Befehl verschickt: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "Befehlsausgabestatus %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "Befehl: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Host-Ausschlussdatei aus %s wird geladen\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Ausschlussdatei aus %s wird geladen\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Die Größe der Datei »%s« kann nicht ermittelt werden: %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Das erste Wort von Parameter »%s« ist länger als %d Bytes\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "In Parameter »%s« fehlt das zweite Wort\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Das zweite Wort in Parameter »%s« ist länger als %d Bytes\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "Der ganzzahlige Wert von Parameter »%s« ist falsch\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Unbekannter Wert »%s« in Parameter »%s«\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" # Dieses »date_format« sieht mir nach einem Konfigurationsschlüssel aus, bei dem es besser ist, ihn nicht zu übersetzen #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "Ungültiger Wert im Parameter »date_format«\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" "In der Konfigurationsdatei wurden zu viele Protokolldateien angegeben\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: Unbekannte Option %s\n" # Die englische Continuous-Form wird im Deutschen nicht zur Aktivform. Der Computer ist kein Mensch, der zu uns in der Ich-Form spricht. Aber du hast es bei den meisten anderen Strings schon richtig gemacht, daher ist es wohl nur noch ein Überbleibsel #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Konfiguration wird aus %s geladen\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" # Sollte das hier nicht besser in der originalen Großschreibung bleiben? Generell sollten wir uns darauf einigen, entweder SARG stets als Abkürzung aufzufassen oder als eigenständiges Wort. Doch gerade im Deutschen gefällt mir die Abkürzungsvariante wesentlich besser #: grepday.c:556 msgid "SARG, " msgstr "Sarg, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Benutzer: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "Benutzername ist zu lang für die Erstellung des Dateinamens " #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Grafiken deaktiviert lt. »%s«\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "Grafiken deaktiviert, da keine Schriftart in »%s« vorgegeben wurde\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "Schriftartname »%s« wurde nicht gefunden\n" # Wenn wie hier eine Passivform schwierig umsetzbar ist, dann lieber mehr umschreiben als die Nähe zum Original erzwingen wollen. Außerdem habe ich hier den Befehlsnamen »iconv« vermisst #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Umwandlung mittels iconv von %s nach UTF-8 ist nicht möglich: %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Ungültiger Eintrag in Datei »%s«\n" #: grepday.c:750 msgid "Graph report" msgstr "" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "TAGE" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Ziel-Verzeichnisname zu lang: " #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Das Verzeichnis »%s« kann nicht angelegt werden: %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Ungültige Downloadgröße in Datei »%s«\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Ungültiger Zugangscode in Datei »%s«\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" # https://de.wikipedia.org/wiki/Leerzeichen_in_Komposita #: html.c:187 html.c:193 msgid "User report" msgstr "Benutzerbericht" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Benutzer" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Sortierung:  %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 msgid "DENIED" msgstr "VERWEIGERT" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Ungültige Benutzer-IP in Datei »%s«\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Ungültiger Tag in Datei »%s«\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Ungültige Größe in Datei »%s«\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "index.html wird erzeugt\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "SARG-Bericht" msgstr[1] "SARG-Berichte" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "JAHR" #: index.c:151 msgid "SIZE" msgstr "GRÖßE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 msgid "MONTH" msgstr "MONAT" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Ungültiger Wochentag in Datei »%s%s/sarg-date«\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Ungültiger Monat in Datei »%s%s/sarg-date«\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Ungültiger Tag in Datei »%s%s/sarg-date«\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Ungültige Zeitangabe in Datei »%s%s/sarg-date«\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Ungültiges Jahr in Datei »%s%s/sarg-date«\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 msgid "FILE/PERIOD" msgstr "DATEI/ZEITRAUM" #: index.c:432 msgid "CREATION DATE" msgstr "ERSTELLUNGSDATUM" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "BENUTZER" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Fehler beim Umbenennen von »%s« in »%s«: %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Dateiname der zu löschenden Datei ist zu lang: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" "Das doppelt vorhandene Modul »%s« zur IP-Adressauflösung wird ignoriert\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "Es ist kein Modul zur IP-Adressauflösung bekannt\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" "Nicht genügend Speicher zur Speicherung der Namensauflösung vorhanden\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Rechnername »%s« konnte nicht aufgelöst werden: »%s«\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "Ungültiger Adresstyp %d bei der Namensauflösung von »%s« erhalten \n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "IP-Adressauflösung (getnameinfo) bei IP-Adresse »%s« mit Fehler %d - %s " "fehlgeschlagen\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "Befehl zur IP-Adressauflösung nicht vorhanden. Bitte in sarg.conf " "konfigurieren\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "IP-Adresse »%s« ist zur Befehlsausführung zu lang\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "IP-Adresse »%.*s« ist zur Befehlsausführung zu lang\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "Befehl %s konnte nicht ausgeführt werden\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "Befehl fehlgeschlagen: %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "" #: realtime.c:314 msgid "Realtime" msgstr "" #: realtime.c:315 msgid "Auto refresh" msgstr "" #: realtime.c:316 msgid "TYPE" msgstr "" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 msgid "RULE" msgstr "" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 msgid "DATE" msgstr "" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" # Das Kaufmanns-Und ist im englischen sprachraum weit verbreitet. Im Deutschen versuche ich es möglichst zu vermeiden #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Seiten und Benutzer" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "Der Sortierbefehl für Datei %s kann nicht ausgeführt werden\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "Benutzername ist zu lang, um mit diesem Befehl zu sortieren " #: sort.c:163 topuser.c:171 msgid "connect" msgstr "Verbindung" #: sort.c:165 msgid "site" msgstr "Seite" #: sort.c:167 topuser.c:174 msgid "time" msgstr "Zeit" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "Bytes" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "Normal" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "Rückwärts" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Top-Seiten" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "%d Top-Seiten" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 msgid "user" msgstr "Benutzer" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "SARG-Bericht für %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Sortierung: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Top-Nutzer" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Inhaltsverzeichnis" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "Verweigerte Zugriffe" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 msgid "Graphic" msgstr "" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Schreibfehler in der Top-Benutzer-Liste %s\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "Ungültige Uhrzeit %d für die Stunden-Statistik\n" # Plural für Datum (Daten) könnte missverstanden werden, deswegen Übersetzung mit "Datumsangaben" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Zu viele verschiedene Datumsangaben für die Stunden-Statistik\n" # Kontextbedingt: Sind das Konfigurationsschlüssel (die nicht übersetzt werden dürfen) oder einfache Begriffe (die man übersetzen darf, aber dann nicht in Anführungszeichen setzen sollte) #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ungültiges \"Tag-Register\" in der \"Stunden-Statistik\" gefunden\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Ungültiges NUL-Zeichen im regulären Ausdruck gefunden\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Regulärer Ausdruck nicht korrekt terminiert\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr "" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" # Wichtig: Das ist teil einer Ausgabe des Befehlsaufrufs mit --help. Wegen der Lesbarkeit sollten die Beschreibungen rechts von den Parametern alle in der gleichen Spalte beginnen, welche nicht zwangsläufig die gleiche wie im Original sein muss. Bitte berücksichtigen, wenn du die anderen --help-Sachen bearbeitest. #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e E-Mail-Adresse E-Mail-Adresse für Empfangsberichte (stdout " "für die Konsole)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr " -h Diese Hilfeseite" #: usage.c:43 msgid " --help This help" msgstr " --help Diese Hilfeseite" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Berichte nach Benutzer und IP-Adresse" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 msgid " -l FILE Input log" msgstr "" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 msgid " -m Advanced process messages" msgstr "" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n IP-Adressen mit RDNS auflösen" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o VERZEICHNIS Ausgabeverzeichnis für Bericht" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" " -p IP-Adresse anstelle der Benutzerkennung verwenden " "(Berichte)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s SEITE Berichte nur auf folgende Seiten eingrenzen [z.B. www." "microsoft.com]" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr "" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u BENUTZER Nur Berichte für angegebenen Benutzer anzeigen" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w VERZEICHNIS Temporäres Verzeichnis" #: usage.c:61 msgid " -x Debug messages" msgstr " -x Debug-Meldungen" #: usage.c:62 msgid " -z Process messages" msgstr "" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "Nicht genügend Speicher zum Speichern des Benutzers\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Fehler beim Lesen des Datums in »%s«\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Fehler beim Lesen der Benutzeranzahl in »%s«\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" sarg-2.3.11/po/el.gmo000066400000000000000000000006231324060677300142650ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/el.po000066400000000000000000002275051324060677300141330ustar00rootroot00000000000000# Greek translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Antonis Maglaras , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "ΠÏόβλημα πιστοποίησης" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "ΠεÏίοδος" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "Όνομα χÏήστη" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/Όνομα" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "Ημ/νία-ÎÏα " #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "Σελίδα που ζητήθηκε" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Ταξινόμηση αÏχείου" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "ΑφαίÏεση Ï€Î±Î»Î¹Î¿Ï Î±Ïχείου αναφοÏών" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Ανάγνωση αÏχείου " #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Ταξινόμηση αÏχείου" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "ΗμέÏες" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "ΔημιουÏγία αÏχείου" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Το αÏχείο δεν βÏέθηκε" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Συμπίεση αÏχείου log" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Αποσυμπίεση αÏχείου log" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Μη επιτÏεπτή Ï€Ïόσβαση" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Ληφθέντα αÏχεία" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Αναλυτική κατάσταση Ï€Ïόσβασης χÏηστών του Proxy Server" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Μειωμένη Ï€Ïόσβαση (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "ΠεÏίοδος" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "ΑÏιθμός" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "ΣÏνδεση" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "Bytes" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "ΧÏόνος" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "msec" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "ΧÏόνος" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "ΣÏνολο" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "Μέσος ÏŒÏος" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "αναφοÏές" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "ΦόÏτωση αÏχείου εξαιÏέσεων από" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "ΦόÏτωση αÏχείου εξαιÏέσεων από" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "ΦόÏτωση αÏχείου εξαιÏέσεων από" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "σφάλμα μνήμης" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "ΧÏήστης" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "αναφοÏές" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "ΗμέÏες" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Ανάγνωση αÏχείου " #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "ΧÏήστης" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "Έξυπνο φίλτÏο" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "ΔημιουÏγία αναφοÏών" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "ΧωÏίς Ï€Ïόσβαση" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "ΔημιουÏγία αÏχείου index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "αναφοÏές" msgstr[1] "αναφοÏές" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "ΠεÏίοδος (από/έως)" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "Ημ/νία ΔημιουÏγίας" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "ΧÏήστες" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Ταξινόμηση αÏχείου" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Δεν βÏέθηκαν εγγÏαφές" msgstr[1] "Δεν βÏέθηκαν εγγÏαφές" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "ΑφαίÏεση Ï€Î±Î»Î¹Î¿Ï Î±Ïχείου αναφοÏών" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "ΠαÏάμετÏοι" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname ή διεÏθυνση IP" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "ΔιεÏθυνση Email για αποστολή αναφοÏών" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Îαι" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Όχι" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname ή διεÏθυνση IP" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname ή διεÏθυνση IP" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ΧÏήση διεÏθυνσης Ip αντί ονόματος" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "έκδοση" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Ανάγνωση αÏχείου " #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Συμπίεση αÏχείου log" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Ανάγνωση αÏχείου " #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "ΑÏχείο Log με διάφοÏες εγγÏαφές (squid και γενικό log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Κοινό αÏχείο log" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "φοÏμάτ του Squid log" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "ΦοÏμάτ του Sarg log" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "ΑÏχείο Log με άγνωστη μοÏφή" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Δεν βÏέθηκαν εγγÏαφές" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Τέλος" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Ανάγνωση αÏχείου " #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "ΠεÏίοδος" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Το αÏχείο log του Sarg αποθηκεÏθηκε ως" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "ΦόÏτωμα αÏχείου κωδικών από" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Το αÏχείο δεν βÏέθηκε" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Ανάγνωση αÏχείου " #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Αποσυμπίεση αÏχείου log" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Αποσυμπίεση αÏχείου log" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Αποσυμπίεση αÏχείου log" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Ανάγνωση αÏχείου " #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "Κανόνες" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "Ημ/νία-ÎÏα " #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Οι αναφοÏές δημιουÏγήθηκαν επιτυχώς στις" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Οι αναφοÏές δημιουÏγήθηκαν επιτυχώς και στάλθηκαν σε" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "ΔημιουÏγία αÏχείου" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Σελίδες & ΧÏήστες" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "Έξυπνο φίλτÏο" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "ΔημιουÏγήθηκε από" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "sites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Σελίδες που ζητήθηκαν πεÏισσότεÏο" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "ΓÏαφικό" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Ανάγνωση αÏχείου " #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Hostname ή διεÏθυνση IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "ΜετατÏοπή του αÏχείου access.log σε ημεÏομηνία" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "ΔιεÏθυνση Email για αποστολή αναφοÏών" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "ΑναφοÏές ανά χÏήστη και IP διεÏθυνση" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "ΑÏχείο εισόδου" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "ΜηνÏματα Process" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Αντιστοίχιση διευθÏνσης IP" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "ΧÏήση διεÏθυνσης Ip αντί ονόματος" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "ΔιαχωÏισμός του αÏχείου log βάση ημεÏομηνίας με την -d παÏάμετÏο" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "ΠÏοσωÏινός φάκελλος" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "ΜηνÏματα Debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "ΜηνÏματα Process" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Ανάγνωση αÏχείου useragent log" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "ΕγγÏαφές αναγνώστηκαν" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "ΔημιουÏγία αναφοÏών Useragent" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Κατάσταση χÏηστών Proxy" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "ΠÏάκτοÏας" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "ΦόÏτωση πίνακα χÏηστών" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "ΦόÏτωση πίνακα χÏηστών" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "ΦόÏτωση πίνακα χÏηστών" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "υπάÏχει ήδη, μετακινήθηκε σε" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "ΑφαίÏεση Ï€ÏοσωÏινών αÏχείων" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Αποσυμπίεση αÏχείου log" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Report" #~ msgstr "ΑναφοÏά" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "σφάλμα μνήμης" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Sort" #~ msgstr "Ταξινόμηση" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "σφάλμα μνήμης" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω. ΠÏόβλημα μνήμης" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "on" #~ msgstr "στις" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Ανάγνωση αÏχείου " #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "ΑÏχείο Useragent log" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "ΑÏχείο εξαιÏέσεων" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Φάκελλος εξόδου" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Δεν μποÏÏŽ να διαβάσω. ΠÏόβλημα μνήμης" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "σφάλμα μνήμης" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "ΔημιουÏγία αÏχείου πεÏιόδου" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "IN" #~ msgstr "Μέσα" #, fuzzy #~ msgid "CACHE" #~ msgstr "Cache" #, fuzzy #~ msgid "OUT" #~ msgstr "Έξω" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Δεν μποÏÏŽ να διαβάσω. ΠÏόβλημα μνήμης" #, fuzzy #~ msgid "malloc error" #~ msgstr "σφάλμα μνήμης" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Topsites" #~ msgstr "Σελίδες που ζητήθηκαν πεÏισσότεÏο" #, fuzzy #~ msgid "Usage" #~ msgstr "ΧÏήση" #, fuzzy #~ msgid "options" #~ msgstr "επιλογές" #, fuzzy #~ msgid "Date from-until" #~ msgstr "ΗμεÏομηνία από-μέχÏι" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "ΔιεÏθυνση Email για αποστολή αναφοÏών" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout για κονσόλα" #, fuzzy #~ msgid "Config file" #~ msgstr "ΑÏχείο Ïυθμίσεων" #, fuzzy #~ msgid "Date format" #~ msgstr "ΜοÏφή ημεÏομηνίας" #, fuzzy #~ msgid "Europe" #~ msgstr "ΕυÏώπη" #, fuzzy #~ msgid "USA" #~ msgstr "ΑμεÏική" #, fuzzy #~ msgid "Accessed site" #~ msgstr "ΠÏοσβάσιμα sites" #, fuzzy #~ msgid "Time" #~ msgstr "ΧÏόνος" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Δεν μποÏÏŽ να διαβάσω τα Ï€ÏοσωÏινά αÏχεία" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Ανάγνωση αÏχείου " #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "End" #~ msgstr "Τέλος" #, fuzzy #~ msgid "File" #~ msgstr "ΑÏχείο" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "το ÏŒÏιο εξαντλήθηκε" #, fuzzy #~ msgid "Added to file" #~ msgstr "ΠÏοστέθηκαν στο αÏχείο" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Hostname ή διεÏθυνση IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "ΔιεÏθυνση Email για αποστολή αναφοÏών" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "ΧÏήση διεÏθυνσης Ip αντί ονόματος" #, fuzzy #~ msgid "written" #~ msgstr "ΑποθηκεÏθηκαν" #, fuzzy #~ msgid "excluded" #~ msgstr "εξαιÏέθηκαν" #, fuzzy #~ msgid "IP report" #~ msgstr "Κατάσταση IP" sarg-2.3.11/po/en@boldquot.header000066400000000000000000000024711324060677300166120ustar00rootroot00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # sarg-2.3.11/po/en@quot.header000066400000000000000000000022631324060677300157500ustar00rootroot00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # sarg-2.3.11/po/es.gmo000066400000000000000000001611541324060677300143030ustar00rootroot00000000000000Þ•î0 ¡”)¬)À)¼*Ÿ½*+]++‰++µ++á++ ,+9,<e,@¢,9ã,+-+I-+u-+¡-+Í-+ù-+%.+Q.+}.+©.+Õ.A/+C/o/:/>È/>0YF0- 0?Î0=1;L1Yˆ1Iâ1B,2Mo2½22Û23-,33Z3+Ž3>º3Iù3EC44‰4'¾4"æ4$ 5+.5Z52p5£5 »5Ç5#Ö5 ú5+636z96l´6e!7[‡7aã72E87x8A°8 ò8999@&9<g9 ¤9±95·97í9%:+: 3:A:a:5€:>¶:!õ:R;j;‚;%¢;:È;&<Q*<%|<$¢<Ç<ç<'=/*=1Z=*Œ="·=Ú=ñ=">*>Q>>>£>%¶>'Ü>$?)? .?8?=? D?6Q?Yˆ?#â?!@ (@$3@1X@Š@"¤@Ç@Î@4Þ@/A CAdA5ƒA ¹A ÃAÐA$ÕA'úA"B5BHB [BgB<‚B¿B2ÞB"C'4C0\C,CºC-ÚC"D +D+LD$xDD½D!ÝD'ÿD('EPEeE~E ”E¡E7©E%áEF3 F8AF/zF ªF2·F0êF.G'JGQrGÄG_ÌG8,HeHH-…HS³H`IchI ÌI2íI! J!BJ?dJ$¤JEÉJ%K5K UK'vKžK,»K9èK"L*=LhL%‚L1¨L'ÚL#M"&MIM*eM%M#¶M%ÚMN'N(DN%mN'“N)»N%åN( O)4O'^O)†O4°O"åO#P,P%IP%oP$•P!ºPÜP÷P Q3QSQsQ&ŽQ µQ!ÖQ#øQ.RKRgRRŸR ½RÞRùR-S*GSrS&SU´S! T,T DT7OT‡T¥T½TÜT#ûTU>U/\UAŒU2ÎUV V59V$oV”VV£V¼VÏVâV*ôVNW'nW–W.šWÉWMÌWXl9X7¦XyÞX%XY~Y;Y@ÌY% Z$3Z6XZ'Z0·Z@èZ-)[6W[=Ž[4Ì[N\EP\#–\$º\#ß\ ]`$] …]>’]Ñ]á]#è] ^B^$Z^^#„^¨^$Å^ê^!_*_E_a_ j_ w_‚_4”_É_ è_ `"`5`E`W`^` e`-s`¡`°`,É`6ö`-a 2a?>a~aa¬aTËaT bub ˆb2–bBÉb cc +c8c;Jc†c™c¸cÑcêc+üc"(dKdPdVd[dCld?°d'ðd e#9eR]e0°e!áeSfYWfn±f< g/]gWg/åg$hJ:hb…h=èh!&i#Hi/li'œi4Äi6ùiO0j$€j!¥jDÇjI k!Vk'xkA k3âk!l8l)Tl:~l+¹lCål4)m ^m km;um.±m àm$êmFnCVnCšn Þnÿno8 oAEoÓ‡o[p2zp­p7Åp/ýp+-q!Yq {q&œq Ãqäq+üq(r3-r-arr&¥r,Ìr(ùr "s4.scs ls2vsK©sCõs9tMtgt'„t ¬tÍtÒtÖt.Üt u %u2uÕ:uv!v*v*>v9iv@£v)äv"w$1wVwiw$pw •wÏ wpxxxx¢x§xÆxÏØx{¨y$z)z.z°=|+î|.},I}5v}5¬}9â}>~F[~=¢~3à~,1A=s4±3æ-€3H€/|€3¬€5à€G*^‰E¨HîP7‚gˆ‚Gð‚L8ƒJ…ƒ?Ѓ_„hp„VÙ„S0…„…5£…*Ù…5†7:†4r†E§†Pí†R>‡E‘‡'ׇ+ÿ‡-+ˆ9Yˆ“ˆ:®ˆéˆ ‰ ‰#‰ @‰.M‰|‰±‚‰†4І»ŠvB‹†¹‹A@ŒK‚ŒWÎŒ&5<BI[C¥éþIŽWNަެ޴Ž*ÇŽ%òŽMLf'³cÛ?)\:†QÁ:‘yN‘4È‘1ý‘)/’&Y’A€’UÂ’B“8[“2”“#Ç“*ë“6”M”hb”Ë”å”,•8.•*g•’• ˜•£•©• ²•=¿•rý•,p–*–È–3×–K —W—"r—•—ž—<°—:í—'(˜-P˜?~˜ ¾˜ ȘÒ˜3ט> ™J™`™t™Š™š™G¸™%š2&š'Yš*šA¬š4îš!#›3E›'y› ¡›.›%ñ›.œ&Fœ$mœ+’œ)¾œèœ$)?TX]0¶çEíH3žI|žÆžJÜžH'ŸJpŸ2»Ÿ^îŸ M cW ?» )û %¡;-¡_i¡oÉ¡n9¢+¨¢<Ô¢/£,A£Nn£.½£Yì£&F¤0m¤/ž¤6Τ"¥5(¥F^¥#¥¥:É¥"¦.'¦CV¦0š¦1˦'ý¦%%§2K§7~§:¶§:ñ§,¨*K¨0v¨.§¨/Ö¨/©16©1h©6š©9Ñ©9 ª;Eª,ª.®ª&ݪ.«-3«2a«2”«#Ç«%ë«5¬'G¬+o¬"›¬.¾¬+í¬)­,C­3p­ ¤­!Å­(ç­(®09®%j®0®/Á®8ñ®*¯.J¯Xy¯"Ò¯õ¯ °A°$`°…°+ °,̰2ù°,,±!Y±:{±c¶±U²'p²˜²B¸²,û²(³0³(4³]³u³‹³4¡³aÖ³-8´f´9j´¤´f§´1µ„@µIŵ²¶3¶ö¶P·Fd·;«·2ç·C¸<^¸C›¸U߸<5¹Fr¹V¹¹BºfSºYºº.»4C»4x»%­»nÓ» B¼nP¼¿¼Ö¼5Þ¼ ½J ½)k½•½1›½+ͽ?ù½(9¾.b¾&‘¾-¸¾ æ¾ò¾ ¿ ¿;"¿)^¿/ˆ¿¸¿Ó¿è¿ù¿ ÀÀÀ30ÀdÀxÀ0–À:ÇÀÁ ÁGÁeÁ;Á#»ÁZßÁZ:•°Â<ÂÂXÿÂXÃkÉÃÃF¶ÃýÃ1Ä"GÄ'jÄ’Ä+­Ä"ÙÄüÄÅ ÅÅ^"ÅEÅ4ÇÅ*üÅ.'Æ]VÆ@´Æ+õÆ[!Çe}ÇuãÇIYÈ1£ÈiÕÈ;?É'{ÉK£ÉkïÉI[Ê.¥Ê-ÔÊ=Ë6@ËHwËCÀË`Ì1eÌ.—ÌSÆÌWÍ)rÍ1œÍIÎÍ=Î%VÎ|Î@œÎSÝÎB1ÏOtÏMÄÏÐ+Ð]=Ð<›ÐØÐ+ìÐfÑYÑYÙÑ(3Ò \ÒfÒBoÒS²ÒïÓ7öÓ<.ÔkÔ>ŠÔAÉÔ> Õ-JÕ-xÕ/¦Õ ÖÕ÷Õ1Ö@ÖBHÖI‹ÖÕÖ6õÖB,×>o×®×<Á× þ× Ø<Ø_WØV·ØÙ&$Ù$KÙ<pÙ9­ÙçÙìÙðÙCöÙ!:Ú \ÚiÚïpÚ`Û sÛ}Û.’Û;ÁÛBýÛ-@ÜnÜ$ŽÜ³ÜÉÜ2ÐÜ ÝæÝöÝþÝÞ&Þ(,ÞUÞélÞ‰VßàßåßAbîBj’›éj“sJ„Q#"Â¥{i’K)!”E¯?AºÕ”óºWå/d"|²š­7v&Mk%ì¬6=×w®IK>ÌÛñë~Ío m\¢„«Ó;Hž&ˆFG[…äT] ÓÏŠ v ÃnoÉ2Wãâ“.˜ø°7U'à ¥ÑÑÐP³ õ¡¨g?}Ž`]ì§ @ÄZëg¿;òa:£ÄÔUDY²>^‘—Å Fe}›X¤»æËm¦­Úß HpÈc3b@é†LäOî_‡Vïµ)©Ø¼öRúD¤1JIª¢É9Ýæ~\M¸-ڽߵ(Þ3B0‰Ùyç`Ærлܕû fàÀʹS5N±{8%ü-xôf±,c ¾ØqV[Îu×´ðÏ©L‚=Æ£P‚Œ9ù¦t^n6|4‹pá½*† …·Ç<le‘ÒuᚬŠqÛËÅ•$⎇ˆh®w‹¡Õ¶è«³èÝr¯ªÇ'´Îƒ1¾Ô™€:iÿ¨8 kã0,ža¸h–<ZÌ+sGX¹lÁà§Tç·å/Ÿ—œíC5QE™C.Nx z€êy4‰#SÈ_íÖ÷¼À$–ÖÙœtYÞ¶ŒÁŸý°ÜRêþdO2ʘ¿(Í*Òz!ƒ+íßôßûßÔ)è)ü)*,*H*\*p*„* *àÿÿÿÿ$à3ÿÿÿÿYà3ÿÿÿÿŽà "ÿÿÿÿØà "ÿÿÿÿáÿÿÿÿBáBÿÿÿÿ†áBÿÿÿÿÊá" 'ÿÿÿÿâ 'ÿÿÿÿ For the translation to work, a valid message file should be installed as "%s//LC_MESSAGES/%s.mo" where is derived from the effective locale. Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Keep temporary files (-k) = %s Hostname or IP address (-a) = %s --convert Convert the access.log file to a legible date --css Output the internal CSS --help This help --keeplogs Keep every previously generated report --lastlog Set the number of previous reports to keep --split Split the log file by date in -d parameter --splitprefix PREFIX Prepend a prefix to the splitted file names --statistics Print run time statistics -P PREFIX Prepend a prefix to the splitted file names -a NAME|IP Create report for host name or IP address -c FILE Exclude connected hosts from the report -d DATE Date range to include in the report: from-until dd/mm/yyyy-dd/mm/yyyy -e MAIL Email address to send reports to (stdout for console) -f FILE Config file to read (default is %s/sarg.conf) -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy] -h This help -i Reports by user and IP address -l FILE Input log -m Advanced process messages -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages -z Process messages Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Previous reports to keep (--lastlog) = %d %02dH%d error found in the log file. Some entries may be missing.%d errors found in the log file. Some entries may be missing.%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…%d more redirector entry not shown here…%d more redirector entries not shown here…%d old report to delete %d old reports to delete %d report directory found %d report directories found A text line is more than %d bytes long denoting a corrupted file ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty Authentication failures report not requested in report_type Auto refreshBYTESBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create a temporary file name to produce the report: %s Cannot create directory "%s": %s Cannot create the output directory name containing the period as part of the name Cannot delete "%s": %s Cannot enumerate the user list Cannot get disk size with command %s Cannot get disk space because the path "%s%s" is too long Cannot get disk space with command %s Cannot get the modification time of input log file "%s": %s Processing it anyway Cannot get the size of file "%s": %s Cannot load "%s": not enough memory Cannot open directory "%s": %s Cannot open file "%s": %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot prepare ldap URI for server %s on port %d Cannot read host name alias file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Cannot stat "%s": %s Chaining IP resolving module "%s" Command failed: %s Command to execute to resolve the IP addresses is too long (maximum is %d bytes) Command too long: Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d Currently effective locale is "%s". DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Dansguardian report not produced because no dansguardian configuration file was provided Datafile "%s" written successfully Date too long or invalid in "%s" Day reportDecompressing log file "%s" with %s Decompression command too long for log file "%s" Decreasing Access (bytes)Deleting temporary directory "%s" DeniedDenied accessesDenied accesses report not requested in report_type Denied report not produced because it is empty Destination directory too long: Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed "tail" command: %s Failed to build the string representation of the date range Failed to close file "%s": %s Failed to compile the regular expression "%s": %s Failed to copy image "%s" to "%s" Failed to create link "%s" to "%s": %s Failed to get the %d trailing lines of "%s": %s Failed to get the creation time of "%s": %s Failed to get the current time Failed to move till the end of file "%s": %s Failed to open directory "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s Failed to rewind file "%s": %s Failed to write a line in "%s" Failed to write the date in "%s" Failed to write the total line in "%s" File "%s" already exists, moved to "%s" File "%s" not found Fontname "%s" not found Generated by %s on %sGraph reportGraphicGraphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" H:M:SHost name alias "%*s" must not end with a wildcard Host name alias "%s*%s" contains too many wildcards (*) Hour string too long in redirector log file %s IN-CACHE-OUTIP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP address too long in redirector log file %s IP address too long or invalid in "%s" IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIf this message is in English, then your language is not supported or not correctly installed. Ignoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Integer overflow detected in %s in line "%s" Invalid "redirector_log_format" option in your sarg.conf (missing # at end of tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters before first tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters in column separator) Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid access type in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid amount of data in file "%s" Invalid buffer length passed to the function to safely copy a string Invalid buffer passed to getword_ptr Invalid cache hit size in "%s" Invalid cache miss size in "%s" Invalid client IP address in file "%s" Invalid data returned by %s Invalid date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date in file "%s" Invalid date range passed on command line Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid day index found in the hourly statistics Invalid download duration in file "%s" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid in-cache column in file "%s" Invalid in-cache size in file "%s" Invalid in-cache volume in file "%s" Invalid month in file "%s" Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of users in file "%s" Invalid number of weeks in -d parameter Invalid out-of-cache column in file "%s" Invalid out-of-cache size in file "%s" Invalid out-of-cache volume in file "%s" Invalid path "%s". Please, use absolute paths only. Invalid record in IP address "%s" Invalid record in exclusion string Invalid record in file "%s" Invalid redirected list in file "%s" Invalid redirected source in file %s Invalid request method in file "%s" Invalid result code in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid source IP in file "%s" Invalid time column in file %s Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid total cache hit in "%s" Invalid total cache miss in "%s" Invalid total elapsed time in "%s" Invalid total number of accesses in file "%s" Invalid total size in "%s" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user found in file "%s" Invalid user in file "%s" Invalid useragent in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s" Invalid year in file "%s%s/sarg-date" January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Line="%s" Lines read: %lu lines in %.0lf seconds (%.0lf lines/s) List of host names to alias: Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Loading user table from LDAP Locale is not set in the environment variable. Log file name too long passed on command line with option %s: %s Log file name too long passed on command line: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) Loop detected in %s after %d bytes. MILLISECMONTHMaking Useragent report Making file %s/%s Making index.html Making report %s Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No graphs available as sarg was not compiled with libgd. Set "graphs" to "no" in %s to disable this warning No known module to resolve an IP address using the DNS No old reports to delete as only %d report currently exist No old reports to delete as only %d reports currently exists No option to configure for module %s No records found No redirector logs provided to produce that kind of report No top users report because it is not configured in report_type Not enough memory to read a log file Not enough memory to read file "%s" Not enough memory to read one more line from the file Not enough memory to read the log file Not enough memory to store the daily statistics Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the host name aliasing directives Not enough memory to store the key/value pair %s/%s Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Not enough memory to store user %s Option -%c requires an argument PCRE not compiled in therefore the regular expressions are not available in the host alias file Parameters: Parsing of tag "%s" in redirector log "%s" returned no result Path too long: PeriodPeriod covered by log files: %s-%s Period: %sProcessed records: %lu records in %.0lf seconds (%.0lf records/s) Purging temporary file sarg-general RULEReading DansGuardian log file "%s" Reading access log file: %s Reading access log file: from stdin Reading host alias file "%s" Reading redirector log file "%s" Reading user file "%s/%s" Reading useragent log "%s" RealtimeRecord="%s" RedirectorRedirector reportRedirector report not generated because it is empty Removing old report file "%s" Report output directory name=%s SARG reportSARG reportsSARG report for %sSARG report, %cSARG version: %s SARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERSarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Sending mail with command: %s Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSites & users report not requested in report_type Sites and users report not generated because privacy option is on SmartFilterSmartFilter reportSort: %s, %sSort: %s, %sSorted file doesn't exist (to produce the download report) Sorting file "%s" Sorting log %s/%s.user_unsort Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETable of contentTemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The command to compute the occupied disk size (%s) returned the unknown string %s The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The internal list of month names is invalid. Please report this bug to the translator. The list of the users is too long in file "%s" The name of the file is invalid: %s The output directory "%s" must be outside of the temporary directory "%s" The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The time stamp decimal part at column 1 is too long The total of the in-cache and cache-miss is not 100%% The total of the in-cache and cache-miss is not 100%% at position %d (user %s) The user ID at column 8 is too long The user at column 9 is too long Time period passed on the command line with option -t must be HH:MM Time range passed on the command line with option -t must be HH:MM-HH:MM Time too long or invalid in "%s" Too many codes to exclude in file "%s" Too many day directories in %s Supernumerary entries are ignored Too many different dates for the hourly statistics Too many different dates in "%s" Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option %s. Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop sites report not produced because privacy option is on Top sites report not requested in report_type Top usersTotal execution time: %.0lf seconds Total statistics mismatch when reading %s to produce the email report Total statistics mismatch when reading %s to produce the top sites Total statistics mismatch when reading %s to produce the top users URL too long or invalid in "%s" USERIDUSERSUnable to connect to LDAP server %s on port %d: %d (%s) Unknown color "%s" requested for the graph. Using orange instead Unknown file "%s" found in temporary directory "%s". It is not one of our files. Please check the temporary directory you gave to sarg. Adjust the path to a safe directory or manually delete the content of "%s" Unknown input log file format Unknown module "%.*s" to resolve the IP addresses Unknown path type "%s" Unknown path type "%s". Check your temporary directory Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser %s limit exceeded (%d MB). Added to file "%s" User ID too long in redirector log file "%s" User ID too long: %s User name too long or invalid in "%s" User name too long to manufacture file name User name too long to sort with command User reportUser's detailed report not requested in report_type User: %sUseragentUsers: %lu users in %.0lf seconds (%.0lf users/s) Using the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in file "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYesbytescannot build the sort command to sort file %s command return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s getword backtrace: iconv cannot convert from %s to UTF-8: %s iconv failed to convert string "%s" from %s to UTF-8: %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s looking for "%s" at or below "%s" malloc failed to allocate %ld bytes mkstemp error: %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesearching for 'x%x' setrlimit error: %s sitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg 2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2017-12-28 00:11+0100 Last-Translator: Javier Polo Cózar Language-Team: Spanish Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Poedit 1.8.11 X-Poedit-SourceCharset: UTF-8 Para que funcione la traducción, un fichero de mensaje válido debería estar instalado como "%s//LC_MESSAGES/%s.mo" donde se deriva del locale disponible. Hora (-t) = %s Usuario (-u) = %s Informe IP (-i) = %s Registro de entrada (-l) = %s Directorio de salida (-o) = %s Fichero de configuración (-f) = %s Formato fecha (-g) = Europa (dd/mm/aaaa) Formato fecha (-g) = Sitios & Usuarios (aaaa/se) Formato fecha (-g) = EEUU (mm/dd/aaaa) Fichero de exclusión (-c) = %s Sitio accedido (-s) = %s Directorio temporal (-w) = %s Registro del cliente de usuario (-b) = %s Mensajes de depuración (-x) = %s Registro de redirector (-L) = %s Fecha desde-hasta (-d) = %s Mensajes de procesamiento (-z) = %s Resolver dirección IP (-n) = %s Mantener ficheros temporales (-k) = %s Nombre de equipo o dirección IP (-a) = %s --convert Convierte el fichero access.log a una fecha legible --css Salida del CSS interno --help Esta ayuda --keeplogs Mantener todos los informes generados previamente --lastlog Establecer el número de informes previos a mantener --split Separar el fichero de registro por fecha en el parámetro -d --splitprefix PREFIJO Anteponer un prefijo a los nombres de ficheros separados --statistics Imprimir las estadísticas del tiempo de ejecución -P PREFIJO Anteponer un prefijo a los nombres de fichero divididos -a NOMBRE|IP Crea un informe por nombre de equipo o dirección IP -c FICHERO Excluye los equipos conectados del informe -d FECHA Rango de fechas a incluir en el informe: desde-hasta dd/mm/aaaa-dd/mm/aaaa -e CORREO Dirección de correo a la que enviar los informes (stdout para salida por consola) -f FICHERO Fichero de configuración a leer (Por defecto es %s/sarg.conf) -g FMT Formato de fecha [e=Europa -> dd/mm/aaaa, u=EEUU -> mm/dd/aaaa] -h Esta ayuda -i Informes por usuario y dirección IP -l FICHERO Registro de entrada -m Mensajes de procesamiento avanzado -n Resolver direcciones IP usando RDNS -o DIR Directorio de salida del informe -p Usar dirección IP en vez de idusuario (informes) -s SITIO Limitar el informe al sitio accedido [ej. www.microsoft.com] -t TIEMPO Limitar el informe a un rango de horas [HH:MM o HH:MM-HH:MM] -u USUARIO Informe únicamente de la actividad de USUARIO -w DIR Directorio temporal -x Mensajes de depuración -z Mensajes de procesamiento Correo electrónico para enviar los informes (-e) = %s Registros leídos: %ld Lectura de registros: %ld, escritos: %ld, excluidos: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Informes previos a mantener (--lastlog) = %d %02dH%d error encontrado en el fichero de registro. Algunas entradas pueden estar perdidas.%d errores encontrados en el fichero de registros. Algunas entradas pueden estar perdidas.%d error adicional de autenticación no se muestra aquí…%d errores adicionales de autenticación no se muestran aquí…%d entrada adicional de dansguardian no se muestra aquí…%d entradas adicionales de dansguardian no se muestran aquí…%d acceso adicional denegado no se muestra aquí…%d accesos adicionales denegados no se muestran aquí…%d entrada adicional de redirectores no se muestra aquí…%d entradas adicionales de redirectores no se muestran aquí…%d informe antiguo para borrar %d informes antiguos para borrar Directorio de informe %d encontrado Directorios de informe %d encontrados Una línea de texto es mayor de %d bytes de longitud lo que indica un fichero corrupto SITIO ACCEDIDOAGENTEMEDIAFallos de AutenticaciónEl informe de fallos de autenticación no se generó porque está vacío El informe de fallos de autenticación no se pidió en report_type Refresco automáticoBYTESNombre de lista prohibido demasiado largo en el fichero de redirector %s Nombre de origen prohibido demasiado largo en el fichero de registro del redirector %s CAUSAACCESOSFECHA DE CREACIÓNNo se puede conectar al servidor LDAP: %s No se puede convertir hora local: %s No se puede convertir el sello de hora desde el fichero de registro de squid No se puede crear un nombre de fichero temporal para generar el informe: %s No se puede crear directorio: "%s": %s No se puede crear el nombre del directorio de salida que contiene el periodo como parte del nombre No se puede borrar "%s": %s No se puede enumerar la lista de usuario No se puede obtener el tamaño en disco con el comando %s No se puede obtener el espacio en disco porque la ruta "%s%s" es demasiado larga No se puede obtener el espacio en disco con el comando %s No se puede obtener la hora de modificación del fichero de registros de entrada "%s": %s Procesándolo de todas maneras No se puede obtener el tamaño del fichero "%s": %s No se puede leer "%s": no hay suficiente memoria No se puede abrir el directorio "%s": %s No se puede abrir el fichero "%s": %s No se puede abrir el fichero de configuración de squidGuard: %s No se puede analizar sintácticamente otra vez la línea debido a que fue modificada No se puede preparar ldap URI para el servidor %s en el puerto %d No se puede leer el fichero de alias de equipo "%s": %s No se puede resolver el nombre de equipo "%s": %s No se puede ejecutar el comando %s No se pueden hacer estadísticas "%s": %s Módulo de resolución de IP "%s" adjunto a la cadena Comando fallido: %s El comando para ejecutar la resolución de la dirección IP es demasiado largo (el máximo es %d bytes) Comando demasiado largo: Formato de registro común No se puede deshabilitar LDAP_OPT_REFERRALS No se puedo establecer la versión de protocolo LDAP %d El locale disponible actualmente es "%s". FECHAFECHA/HORADÃASDENEGADODansGuardianEl informe de Dansguardian no se generó porque está vacío El informe dansguardian no se produjo porque no se proporcionó ningún fichero de configuración de dansguardian Fichero de datos "%s" escrito correctamente Fecha demasiado larga o inválida en "%s" Informe DiarioDescompresión del fichero de registro "%s" con %s Comando de descompresión demasiado largo para el fichero de registro "%s" Acceso Decreciente (bytes)Borrando directorio temporal "%s" DenegadoAccesos denegadosEl informe de accesos denegados no se pidió en report_type No se generó el informe de denegados porque está vacío Directorio de destino demasiado largo: Lista de sufijos de descarga demasiado larga El informe de ficheros descargados no se pidió en report_type DescargasDURACIÓNFin Error: sintaxis inválida en la etiqueta de horas! Error: sintaxis inválida en la etiqueta de días laborables! Código excluido: %s Sitio excluido: %s Usuario excluido: %s FICHERO/PERIODOFalló el comando "tail": %s Falló al construir la representación de la cadena del rango de datos Falló al cerrar el fichero "%s": %s Falló al compilar la expresión regular "%s": %s Falló al copiar la imagen "%s" a "%s" Falló al crear el enlace "%s" a "%s": %s Falló al obtener las %d líneas sin salto de línea de "%s": %s Falló al obtener la fecha de creación de "%s": %s Falló al obtener la hora actual Error al desplazarse al final del fichero "%s": %s Falló al abrir el directorio "%s": %s Falló al leer la fecha en "%s" Falló al leer el número de usuarios en "%s" Falló al renombrar "%s" en "%s": %s Error al ir al principio del fichero "%s": %s Falló al escribir una línea en "%s" Falló al escribir la fecha en "%s" Falló al escribir la línea total en "%s" El fichero "%s" ya existe, movido a "%s" Fichero "%s" no encontrado Nombre de fuente "%s" no encontrada Generado por %s en %sInforme de gráficasGráficaGráficas deshabilitadas ya que no se proporcionaron los nombres de las fuentes en "%s" Gráficas deshabilitadas como se pidió en "%s" H:M:SEl alias del nombre de equipo "%*s" no debe terminar con un comodín El alias del nombre de equipo "%s*%s" contiene demasiados comodines (*) Cadena hora demasiado larga en el fichero de registros del redirector %s CACHÉ ENTRADA-SALIDALa dirección IP "%.*s" es demasiado larga para que la ejecute el comando La dirección IP "%s" es demasiado larga para que la ejecute el comando Dirección IP demasiado larga en el fichero de registro del redirector %s Dirección IP demasiado larga o inválida en "%s" Resolución de IP a nombre (getnameinfo) en la dirección IP "%s" falló con el error %d - %s IP/NOMBRESi este mensaje está en inglés, entonces tu idioma no está soportado o correctamente instalado. Ignorando módulo duplicado "%s" al resolver una dirección IP Ignorando fichero de registro antiguo %s Inicio Desbordamiento de entero detectado en %s en la línea "%s" Opción "redirector_log_format" inválida en tu sarg.conf (falta un # al final de la etiqueta) Opción "redirector_log_format" inválida en tu sarg.conf (demasiados caracteres antes de la primera etiqueta) Opción "redirector_log_format" inválida en tu sarg.conf (demasiados caracteres en el separador de columnas) Dirección IP inválida en el fichero "%s" Carácter NUL inválido encontrado en la expresión regular Código de acceso inválido en el fichero "%s" Tipo de acceso inválido en el fichero "%s" Tipo de dirección %d devuelta inválida al resolver el nombre de equipo "%s" Cantidad de datos inválida en el fichero %s" Longitud de búfer inválida pasada a la función para copiar de forma segura una cadena Búfer inválido pasado a getword_ptr Tamaño de aciertos de caché inválido en "%s" Tamaño de fallos de caché inválidos en "%s" Dirección IP de cliente inválida en el fichero "%s" Datos inválidos devueltos por %s Fecha "%s" inválida para las estadísticas horarias Componente de fecha inválida en "%s" para las estadísticas horarias Fecha inválida en el fichero "%s" Rango de fechas inválido pasado en la línea de comandos Día inválido en el fichero "%s" Día inválido en el fichero "%s%s/sarg-date" Ãndice de día inválido encontrado en las estadísticas horarias Duración de descarga inválida en fichero "%s" Tamaño de descarga inválido en el fichero "%s" Duración inválida en el fichero "%s" Entrada inválida en el fichero "%s" Hora %d inválida para las estadísticas horarias Columna de caché-entrada inválida en el fichero "%s" Tamaño de caché de entrada inválido en el fichero "%s" Volumen de caché de entrada inválido en el fichero "%s" Mes inválido en fichero "%s" Mes inválido en fichero "%s%s/sarg-date" Número inválido de accesos en el fichero "%s" Número inválido de bytes en el fichero "%s" Número inválido de días en el parámetro -d Número inválido de meses en el parámetro -d Número de usuarios inválido en el fichero "%s" Número inválido de semanas en el parámetro -d Columna de caché-salida inválida en el fichero "%s" Tamaño de caché de salida inválido en el fichero "%s" Volumen de caché de salida inválido en el fichero "%s" Ruta inválida "%s". Por favor, usa sólo rutas relativas. Registro inválido en la dirección IP "%s" Registro inválido en la cadena de exclusión Registro inválido en el fichero "%s" Lista redirigida inválida en el fichero "%s" Origen redirigido inválido en el fichero %s Método de petición inválido en el fichero "%s" Código de resultado inválido en el fichero "%s" Regla inválida en el fichero "%s" Tamaño inválido en el fichero "%s" Información inteligente errónea en el fichero "%s" IP origen inválida en el fichero "%s" Columna de hora inválida en el fichero %s Hora inválida en el fichero "%s" Hora inválida en el fichero "%s%s/sarg-date" Total aciertos de caché inválido en "%s" Total fallos de caché inválido en "%s" Tiempo transcurrido total inválido en "%s" Número total de accesos inválido en fichero "%s" Tamaño total inválido en "%s" URL inválida en el fichero "%s" ID usuario inválido en el fichero "%s" IP usuario inválida en el fichero "%s" Usuario inválido encontrado en el fichero "%s" Usuario inválido en el fichero "%s" Cliente de usuario inválido en el fichero "%s" Valor inválido en el parámetro "date_format" Día de la semana inválido en fichero "%s%s/sarg-date" Año inválido en fichero "%s" Año inválido en el fichero "%s%s/sarg-date" Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,DiciembreMódulo LDAP no compilado en sarg Búsqueda LDAP fallida: %s Línea="%s" Líneas leídas: %lu líneas en %.0lf segundos (%.0lf líneas/s) Lista de nombres de equipo a alias: Leyendo tabla Usuario: %s Leyendo el fichero de configuración de %s Leyendo el fichero de exclusiones desde: %s Leyendo el fichero de equipos excluidos desde: %s Leyendo el fichero de contraseñas desde %s Leyendo tabla de usuario de LDAP El locale no está establecido en la variable de entorno. Nombre de fichero de registro demasiado largo pasado a la línea de comandos con la opción %s: %s El nombre del fichero de registro pasado a la línea de comandos demasiado largo: %s EL registro es desde Microsoft ISA: %s Registro con formato inválido Registro con formato de registros mixto (squid y registro común) Bucle detectado en %s después de %d bytes. MILISEGMESGenerando informe de cliente de usuario Creando fichero "%s/%s Generando index.html Generando informe %s Faltan comillas dobles después del parámetro "%s" Faltan comillas dobles después del parámetro "%s" o el valor es de mayor longitud que %d bytes Falta la segunda palabra del parámetro "%s" NUMEl nombre del fichero a borrar es demasiado largo: %s/%s NoNo existe comando para ejecutar para resolver una dirección IP. Por favor, configurarlo en sarg.conf No hay ficheros descargados para generar informe No hay gráficas disponibles debido a que sarg no se compiló con libgd. Establece "graphs" a "no" en %s para desactivar este aviso NO existe módulo conocido para resolver una dirección IP usando el DNS No hay informes antiguos para borrar ya que solamente existe el informe %d actualmente No hay informes antiguos para borrar ya que solamente existen los informes %d actualmente No existe opción para configurar en el módulo %s No se encontraron registros No se proporcionaron registros de redirector para producir este tipo de informe No hay usuarios destacados porque no se ha configurado en report_type No hay suficiente memoria para leer un fichero de registro No hay suficiente memoria para leer fichero: "%s" No hay suficiente memoria para leer una o más líneas del fichero No hay suficiente memoria para leer el fichero de registros No hay suficiente memoria para almacenar las estadísticas diarias No hay suficiente memoria para almacenar el nombre del directorio "%s" en el índice No hay suficiente memoria para almacenar las URLs excluidas No hay suficiente memoria para almacenar las direcciones IP excluidas NO hay suficiente memoria para almacenar las directivas de alias del nombre de equipo No hay suficiente memoria para almacenar el par clave/valor %s/%s No hay suficiente memoria para almacenar el nombre del nuevo registro redirector para ser leído - %s No hay suficiente memoria para almacenar los nombres correspondientes a la dirección IP No hay suficiente memoria para guardar la url No hay suficiente memoria para almacenar el usuario No hay suficiente memoria para almacenar usuario %s La opción -%c requiere un argumento PCRE no compilado por tanto las expresiones regulares no están disponibles en el fichero de alias de equipos Parámetros: Analizador sintáctico de le etiqueta "%s" en el registro de redirectores "%s" no devolvió ningún resultado Ruta demasiado larga: PeriodoPeriodo cubierto por los ficheros de registro: %s-%s Periodo: %sRegistros procesados: %lu registros en %.0lf segundos (%.0lf registros/s) Eliminando fichero temporal sarg-general REGLALeyendo el fichero de registro DansGuardian "%s" Leyendo fichero de registros de acceso: %s Leyendo fichero de registro de acceso: desde entrada estándar Leyendo fichero de alias de equipo "%s" Leyendo el fichero de log del redirector "%s" Leyendo el fichero de usuario "%s/%s" Leyendo registro del cliente de usuario "%s" Tiempo realRegistro="%s" RedirectorInforme de redirectorNo se generó el informe de redirector porque está vacío Borrando fichero antiguo de informe "%s" Nombre del directorio de salida del informe=%s Informe SARGInformes SARGInforme SARG para %sInforme SARG, %cVersión SARG: %s SARG, SARG: SARG: (información) SARG: Registros en fichero: %lu, leyendo: %3.2lf%%SARG: ETIQUETA: %s SARG: Opción %s desconocida SARG: informe para %04dSARG: informes para %04dSARG: informe para %04d/%02dSARG: informes para %04d/%02dTAMAÑOFILTRO INTELIGENTESarg se compiló para informar de avisos si la salida es inconsistente Formato de registro Sarg Registro del analizador sintáctico de Sarg guardado en %s Enviando correo con el comando: %s Estructura corta devuelta por getaddrinfo para una dirección IPv4: %d bytes en vez de %d Estructura corta devuelta por getaddrinfo para una dirección IPv6: %d bytes en vez de %d Informe de acceso a sitiosSitios y UsuariosEl informe de sitios y usuarios no se pidió en report_type Informe de sitios y usuarios no generado porque la opción de privacidad está activada Filtro InteligenteInforme de Filtro InteligenteOrdenación: %s, %sOrdenación: %s, %sEl fichero ordenado no existe ( para producir el informe de descarga) Ordenando fichero "%s" Ordenando fichero de registro %s/%s.user_unsort Informe de Acceso de Usuario SquidInforme del cliente de usuario de SquidFormato de registro Squid Informe generado con éxito y enviado a %s Informe generado con éxito en %s TIEMPOTOTALTIPOTabla de contenidosEl nombre del fichero de plantilla es demasiado largo en el parámetro "AuthUserTemplateFile" El parámetro "byte_cost" del fichero de configuración es inválido La dirección IP en la columna 3 es demasiado larga La URL en la columna 7 es demasiado larga La acción en la columna 6 es demasiado larga El comando para calcular el tamaño de disco ocupado (%s) devolvió la cadena desconocida %s La duración de la conexión en la columna 2 es demasiado larga El dato en la columna 8 es demasiado largo La fecha pasada como argumento no está formateada como dd/mm/aaaa o dd/mm/aaaa-dd/mm/aaaa El rango de fechas pasado como argumento no está formateado como dd/mm/aaaa o dd/mm/aaaa-dd/mm/aaaa El directorio "%s%s" parece un directorio de informes pero no contiene un fichero con fecha sarg. Deberías borrarlo La primera palabra del parámetro "%s" es de longitud mayor que %d bytes El valor entero del parámetro "%s" es inválido La lista interna de los nombres de los meses es inválida. Por favor informe de este error al traductor. La lista de usuarios es demasiado larga en el fichero "%s" El nombre del fichero es inválido: %s El directorio de salida "%s" debe estar fuera del directorio temporal "%s" El número requerido de dígitos pasados a my_lltoa (%d) es mayor que el tamaño del búfer de salida (%d) La segunda palabra del parámetro "%s" es de mayor longitud que %d bytes El tamaño en la columna 5 es demasiado largo El estado en la columna 4 es demasiado largo El valor de la cadena del parámetro "%s" es demasiado largo El sello de tiempo en la columna 1 es demasiado largo La parte decimal del sello de tiempo en la columna 1 es demasiado largo El total de la caché de entrada y la caché de fallos no es 100%% El total de la caché de entrada y fallos de caché no es 100%% en la posición %d (usuario %s) El ID usuario en la columna 8 es demasiado largo El usuario en la columna 9 es demasiado largo El periodo de hora pasado a la línea de comandos con la opción -t debe ser HH:MM El rango de hora pasado a la línea de comandos con la opción -t debe ser HH:MM-HH:MM Hora demasiado larga o inválida en "%s" Demasiados códigos a excluir en el fichero "%s" Demasiados directorios de día en %s Entradas supernumerarias se ignoran Demasiados fechas diferentes para las estadísticas horarias Demasiadas fechas diferentes en "%s" Demasiados sufijos de descarga Demasiados ficheros de registro en el fichero de configuración Demasiados ficheros de registro pasados a la línea de comandos con la opción %s. Demasiados ficheros de registros pasados a la línea de comandos. Demasiados directorios mensuales en %s Se ignoran las entradas supernumerarias Demasiados ficheros de registro redirectores en el fichero de configuración Los %d sitios destacadosSitios destacadosEl informe de sitios destacados no se generó porque la opción de privacidad está activada El informe de sitios destacados no se pidió en report_type Usuarios destacadosTiempo de ejecución total: %.0lf segundos Discordancia en el total de estadísticas al leer %s para producir el informe por correo electrónico Discordancia en las estadísticas totales al leer %s para producir los sitios destacados Discordancia en el total de estadísticas al leer %s al producir los usuarios destacados URL demasiado larga o inválida en "%s" IDUSUARIOUSUARIOSImposible conectarse al servidor LDAP %s en el puerto %d: %d (%s) Color "%s" requerido, desconocido para la gráfica. En su lugar, se usa el naranja Fichero "%s" desconocido encontrado en el directorio temporal "%s". No es uno de nuestros ficheros. Por favor, chequea el directorio temporal que diste a sarg. Ajusta la ruta a un directorio seguro o borra manualmente el contenido de "%s" Formato del fichero de registro de entrada desconocida Módulo "%.*s" desconocido para resolver las direcciones IP Tipo de ruta desconocida "%s" Tipo de ruta "%s" desconocida. Chequea tu directorio temporal Criterio de ordenación "%s" desconocido para el parámetro "%s" Orden de ordenación "%s" desconocido para el parámetro "%s" Tipo %d desconocido para la escala del eje Y ID usuario %s desconocida en el fichero "%s" Valor "%s" desconocido para el parámetro "%s" Expresión regular sin terminar Uso: %s [opciones...] Usar dirección IP en vez de idusuario (-p) = %s UsuarioLímite %s del usuario excedido (%d MB). Añadido al fichero "%s" ID usuario demasiado larga en el fichero de registro del redirector "%s" ID usuario demasiado largo: %s Nombre de usuario demasiado largo o inválido en "%s" Nombre de usuario demasiado largo para crear el nombre de fichero Nombre de usuario demasiado largo para ordenar con el comando Informe de UsuarioEl informe detallado de usuario no se pidió en report_type Usuario: %sCliente UsuarioUsuarios: %lu usuarios en %.0lf segundos (%.0lf usuarios/s) Uso del fichero de registro dansguardians "%s" encontrado en tu fichero de configuración "%s" Valor "%s" entra en conflicto con otros valores seleccionados para el parámetro "%s" Mientras se lee "%s" Error de escritura en el fichero "%s" Error de escritura en el índice %s Error de escritura en el fichero de registro del usuario %s Error de escritura en la lista de usuarios destacados %s AÑOSíbytesNo se puede construir el comando "sort" para ordenar el fichero %s El comando devuelve el estado %d comando: %s accesodansguardian_ignore_date está obsoleto y ha sido reemplazado por dansguardian_filter_out_date que realiza la acción indicada por su nombre en contraposición a dansguardian_ignore_date. Por favor, actualiza tu fichero de configuración. Informe fecha/horafecha=%s Rastreo de getword: iconv no puede convertir desde %s a UTF-8: %s iconv falló al convertir la cadena "%s" de %s a UTF-8: %s libgd falló al calcular los bordes de la caja del texto "%s": %s libgd falló al renderizar el texto "%s": %s Buscando "%s" en o debajo "%s" malloc falló al reservar %ld bytes Error de mkstemp: %s normalNo hay suficiente memoria para ordenar el índice periodo=%s redirector_ignore_date está obsoleto y ha sido reemplazado por redirector_filter_out_date que hace la acción indicada por su nombre en contraposición a redirector_ignore_date. Por favor, actualiza tu fichero de configuración. inversobuscando 'x%x' Error de setrlimit: %s sitioEl comando "sort" devuelve el estado %d El comando "sort": %s squidguard_ignore_date está obsoleto y ha sido reemplazado por redirector_filter_out_date que realiza la acción indicada por su nombre en contraposición a squidguard_ignore_date. Por favor, actualiza tu fichero de configuración. squidguard_log_format está obsoleto y ha sido reemplazado por redirector_log_format. Por favor, actualiza tu fichero de configuración. horausuarioPRIu64PRId64PRIi64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % Total downloaded bytes is % instead of % in the hourly report of user %s Total elapsed time is % instead of % in the hourly report of user %s Error realloc (% bytes requeridos) El mínimo para la escala Y de la gráfica está fuera de rango: % El máximo para la escala Y de la gráfica está fuera de rango: % El total de bytes descargados es % en vez de % en el informe horario del usuario %s Tiempo total empleado es % en vez de % en el informe horario del usuario %s sarg-2.3.11/po/es.po000066400000000000000000002455401324060677300141410ustar00rootroot00000000000000# Spanish translations for sarg. # Copyright (C) 2017 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Javier Polo Cózar , 2017. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2017-12-28 00:11+0100\n" "Last-Translator: Javier Polo Cózar \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.11\n" "X-Poedit-SourceCharset: UTF-8\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Ruta demasiado larga: " #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "No se puede abrir el fichero \"%s\": %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "%d error adicional de autenticación no se muestra aquí…" msgstr[1] "%d errores adicionales de autenticación no se muestran aquí…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "No se puede borrar \"%s\": %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "El informe de fallos de autenticación no se generó porque está vacío\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "El comando \"sort\" devuelve el estado %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "El comando \"sort\": %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Fallos de Autenticación" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Periodo: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "IDUSUARIO" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NOMBRE" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "FECHA/HORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "SITIO ACCEDIDO" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "No hay suficiente memoria para leer fichero: \"%s\"\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Fecha inválida en el fichero \"%s\"\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Hora inválida en el fichero \"%s\"\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Usuario inválido en el fichero \"%s\"\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Dirección IP inválida en el fichero \"%s\"\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "URL inválida en el fichero \"%s\"\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "ID usuario %s desconocida en el fichero \"%s\"\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Error de escritura en el fichero \"%s\"\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Falló al cerrar el fichero \"%s\": %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Registro inválido en el fichero \"%s\"\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "Uso del fichero de registro dansguardians \"%s\" encontrado en tu fichero de " "configuración \"%s\"\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Leyendo el fichero de registro DansGuardian \"%s\"\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Ordenando fichero \"%s\"\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d entrada adicional de dansguardian no se muestra aquí…" msgstr[1] "" "%d entradas adicionales de dansguardian no se muestran aquí…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "El informe de Dansguardian no se generó porque está vacío\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "CAUSA" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Regla inválida en el fichero \"%s\"\n" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "No se puede enumerar la lista de usuario\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Leyendo el fichero de usuario \"%s/%s\"\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Información inteligente errónea en el fichero \"%s\"\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "No hay suficiente memoria para guardar la url\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Fichero de datos \"%s\" escrito correctamente\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "Fichero \"%s\" no encontrado\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Descompresión del fichero de registro \"%s\" con %s\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "" "Comando de descompresión demasiado largo para el fichero de registro \"%s\"\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "%d acceso adicional denegado no se muestra aquí…" msgstr[1] "%d accesos adicionales denegados no se muestran aquí…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "No se generó el informe de denegados porque está vacío\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Denegado" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "No hay suficiente memoria para almacenar el par clave/valor %s/%s\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Comando demasiado largo: " #: download.c:117 msgid "No downloaded files to report\n" msgstr "No hay ficheros descargados para generar informe\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" "El fichero ordenado no existe ( para producir el informe de descarga)\n" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Descargas" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "Lista de sufijos de descarga demasiado larga\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "Demasiados sufijos de descarga\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Discordancia en el total de estadísticas al leer %s para producir el informe " "por correo electrónico\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Informe de Acceso de Usuario Squid" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "Acceso Decreciente (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Periodo" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "ACCESOS" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "DURACIÓN" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "MILISEG" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "TIEMPO" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "ID usuario inválido en el fichero \"%s\"\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Número inválido de bytes en el fichero \"%s\"\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Número inválido de accesos en el fichero \"%s\"\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Duración inválida en el fichero \"%s\"\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "MEDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "Informe SARG, %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Enviando correo con el comando: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "El comando devuelve el estado %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "comando: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" "No hay suficiente memoria para almacenar las direcciones IP excluidas\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "No hay suficiente memoria para almacenar las URLs excluidas\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Leyendo el fichero de equipos excluidos desde: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "Mientras se lee \"%s\"\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Leyendo el fichero de exclusiones desde: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Error al desplazarse al final del fichero \"%s\": %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "No se puede obtener el tamaño del fichero \"%s\": %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Error al ir al principio del fichero \"%s\": %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "malloc falló al reservar %ld bytes\n" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "El valor de la cadena del parámetro \"%s\" es demasiado largo\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Faltan comillas dobles después del parámetro \"%s\"\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "Faltan comillas dobles después del parámetro \"%s\" o el valor es de mayor " "longitud que %d bytes\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "" "La primera palabra del parámetro \"%s\" es de longitud mayor que %d bytes\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Falta la segunda palabra del parámetro \"%s\"\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "" "La segunda palabra del parámetro \"%s\" es de mayor longitud que %d bytes\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "El valor entero del parámetro \"%s\" es inválido\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Valor \"%s\" desconocido para el parámetro \"%s\"\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" "Valor \"%s\" entra en conflicto con otros valores seleccionados para el " "parámetro \"%s\"\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Criterio de ordenación \"%s\" desconocido para el parámetro \"%s\"\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Orden de ordenación \"%s\" desconocido para el parámetro \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: ETIQUETA: %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "Valor inválido en el parámetro \"date_format\"\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Error: sintaxis inválida en la etiqueta de horas!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Error: sintaxis inválida en la etiqueta de días laborables!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "Demasiados ficheros de registro en el fichero de configuración\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" "Demasiados ficheros de registro redirectores en el fichero de configuración\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" "El nombre del fichero de plantilla es demasiado largo en el parámetro " "\"AuthUserTemplateFile\"\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" "No hay gráficas disponibles debido a que sarg no se compiló con libgd. " "Establece \"graphs\" a \"no\" en %s para desactivar este aviso\n" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "squidguard_log_format está obsoleto y ha sido reemplazado por " "redirector_log_format. Por favor, actualiza tu fichero de configuración.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "redirector_ignore_date está obsoleto y ha sido reemplazado por " "redirector_filter_out_date que hace la acción indicada por su nombre en " "contraposición a redirector_ignore_date. Por favor, actualiza tu fichero de " "configuración.\n" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date está obsoleto y ha sido reemplazado por " "redirector_filter_out_date que realiza la acción indicada por su nombre en " "contraposición a squidguard_ignore_date. Por favor, actualiza tu fichero de " "configuración.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "dansguardian_ignore_date está obsoleto y ha sido reemplazado por " "dansguardian_filter_out_date que realiza la acción indicada por su nombre en " "contraposición a dansguardian_ignore_date. Por favor, actualiza tu fichero " "de configuración.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "El parámetro \"byte_cost\" del fichero de configuración es inválido\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: Opción %s desconocida\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Leyendo el fichero de configuración de %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "Error realloc (% bytes requeridos)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "iconv falló al convertir la cadena \"%s\" de %s a UTF-8: %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd falló al calcular los bordes de la caja del texto \"%s\": %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd falló al renderizar el texto \"%s\": %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" "El mínimo para la escala Y de la gráfica está fuera de rango: %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" "El máximo para la escala Y de la gráfica está fuera de rango: %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Tipo %d desconocido para la escala del eje Y\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" "Color \"%s\" requerido, desconocido para la gráfica. En su lugar, se usa el " "naranja\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Usuario: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "Nombre de usuario demasiado largo para crear el nombre de fichero " #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Gráficas deshabilitadas como se pidió en \"%s\"\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" "Gráficas deshabilitadas ya que no se proporcionaron los nombres de las " "fuentes en \"%s\"\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "Nombre de fuente \"%s\" no encontrada\n" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "iconv no puede convertir desde %s a UTF-8: %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Entrada inválida en el fichero \"%s\"\n" #: grepday.c:750 msgid "Graph report" msgstr "Informe de gráficas" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "DÃAS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Directorio de destino demasiado largo: " #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "No se puede crear directorio: \"%s\": %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Tamaño de descarga inválido en el fichero \"%s\"\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Código de acceso inválido en el fichero \"%s\"\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Volumen de caché de entrada inválido en el fichero \"%s\"\n" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Volumen de caché de salida inválido en el fichero \"%s\"\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Informe de Usuario" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Usuario" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Ordenación: %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "Informe de Filtro Inteligente" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "CACHÉ ENTRADA-SALIDA" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "Generando informe %s\n" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Columna de caché-entrada inválida en el fichero \"%s\"\n" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Columna de caché-salida inválida en el fichero \"%s\"\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "Informe fecha/hora" #: html.c:327 msgid "DENIED" msgstr "DENEGADO" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "IP usuario inválida en el fichero \"%s\"\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Día inválido en el fichero \"%s\"\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Tamaño inválido en el fichero \"%s\"\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "Límite %s del usuario excedido (%d MB). Añadido al fichero \"%s\"\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Generando index.html\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Falló al abrir el directorio \"%s\": %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Informe SARG" msgstr[1] "Informes SARG" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "AÑO" #: index.c:151 msgid "SIZE" msgstr "TAMAÑO" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Demasiados directorios mensuales en %s\n" "Se ignoran las entradas supernumerarias\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: informe para %04d" msgstr[1] "SARG: informes para %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "MES" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "No se puede abrir el directorio \"%s\": %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Demasiados directorios de día en %s\n" "Entradas supernumerarias se ignoran\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG: informe para %04d/%02d" msgstr[1] "SARG: informes para %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Error de escritura en el índice %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "El directorio \"%s%s\" parece un directorio de informes pero no contiene un " "fichero con fecha sarg. Deberías borrarlo\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "No hay suficiente memoria para ordenar el índice\n" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Día de la semana inválido en fichero \"%s%s/sarg-date\"\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Mes inválido en fichero \"%s%s/sarg-date\"\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Día inválido en el fichero \"%s%s/sarg-date\"\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Hora inválida en el fichero \"%s%s/sarg-date\"\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Año inválido en el fichero \"%s%s/sarg-date\"\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" "No hay suficiente memoria para almacenar el nombre del directorio \"%s\" en " "el índice\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "FICHERO/PERIODO" #: index.c:432 msgid "CREATION DATE" msgstr "FECHA DE CREACIÓN" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "USUARIOS" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Falló al renombrar \"%s\" en \"%s\": %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Falló al crear el enlace \"%s\" a \"%s\": %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "El nombre del fichero a borrar es demasiado largo: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "Módulo de resolución de IP \"%s\" adjunto a la cadena\n" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "Ignorando módulo duplicado \"%s\" al resolver una dirección IP\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "Módulo \"%.*s\" desconocido para resolver las direcciones IP\n" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "No existe opción para configurar en el módulo %s\n" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" "NO existe módulo conocido para resolver una dirección IP usando el DNS\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" "No hay suficiente memoria para almacenar los nombres correspondientes a la " "dirección IP\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "No se puede resolver el nombre de equipo \"%s\": %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "Estructura corta devuelta por getaddrinfo para una dirección IPv4: %d bytes " "en vez de %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "Estructura corta devuelta por getaddrinfo para una dirección IPv6: %d bytes " "en vez de %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" "Tipo de dirección %d devuelta inválida al resolver el nombre de equipo \"%s" "\"\n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Registro inválido en la dirección IP \"%s\"\n" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "Resolución de IP a nombre (getnameinfo) en la dirección IP \"%s\" falló con " "el error %d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" "El comando para ejecutar la resolución de la dirección IP es demasiado largo " "(el máximo es %d bytes)\n" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "No existe comando para ejecutar para resolver una dirección IP. Por favor, " "configurarlo en sarg.conf\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" "La dirección IP \"%s\" es demasiado larga para que la ejecute el comando\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" "La dirección IP \"%.*s\" es demasiado larga para que la ejecute el comando\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "No se puede ejecutar el comando %s\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "Comando fallido: %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Falló al obtener la fecha de creación de \"%s\": %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" "No hay informes antiguos para borrar ya que solamente existe el informe %d " "actualmente\n" msgstr[1] "" "No hay informes antiguos para borrar ya que solamente existen los informes " "%d actualmente\n" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Directorio de informe %d encontrado\n" msgstr[1] "Directorios de informe %d encontrados\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "%d informe antiguo para borrar\n" msgstr[1] "%d informes antiguos para borrar\n" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "Borrando fichero antiguo de informe \"%s\"\n" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" "Demasiados ficheros de registro pasados a la línea de comandos con la opción " "%s.\n" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" "Nombre de fichero de registro demasiado largo pasado a la línea de comandos " "con la opción %s: %s\n" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "El periodo de hora pasado a la línea de comandos con la opción -t debe ser " "HH:MM\n" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "El rango de hora pasado a la línea de comandos con la opción -t debe ser HH:" "MM-HH:MM\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "La opción -%c requiere un argumento\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Demasiados ficheros de registros pasados a la línea de comandos.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" "El nombre del fichero de registro pasado a la línea de comandos demasiado " "largo: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Inicio\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" "El directorio de salida \"%s\" debe estar fuera del directorio temporal \"%s" "\"\n" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Borrando directorio temporal \"%s\"\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "Parámetros:\n" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Nombre de equipo o dirección IP (-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Registro del cliente de usuario (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Fichero de exclusión (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Fecha desde-hasta (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " Correo electrónico para enviar los informes (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " Fichero de configuración (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Formato fecha (-g) = Europa (dd/mm/aaaa)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Formato fecha (-g) = EEUU (mm/dd/aaaa)\n" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Formato fecha (-g) = Sitios & Usuarios (aaaa/se)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " Informe IP (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Sí" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "No" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Mantener ficheros temporales (-k) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " Registro de entrada (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Registro de redirector (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Resolver dirección IP (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Directorio de salida (-o) = %s\n" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Usar dirección IP en vez de idusuario (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " Sitio accedido (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " Hora (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " Usuario (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Directorio temporal (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Mensajes de depuración (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Mensajes de procesamiento (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Informes previos a mantener (--lastlog) = %d\n" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "Versión SARG: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" "Sarg se compiló para informar de avisos si la salida es inconsistente\n" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "Error de setrlimit: %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "No hay suficiente memoria para leer un fichero de registro\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Leyendo fichero de registro de acceso: desde entrada estándar\n" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" "No se puede obtener la hora de modificación del fichero de registros de " "entrada \"%s\": %s\n" "Procesándolo de todas maneras\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignorando fichero de registro antiguo %s\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "Leyendo fichero de registros de acceso: %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Registros en fichero: %lu, leyendo: %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "EL registro es desde Microsoft ISA: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "El nombre del fichero es inválido: %s\n" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "Registro inválido en la cadena de exclusión\n" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Dirección IP de cliente inválida en el fichero \"%s\"\n" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Código de resultado inválido en el fichero \"%s\"\n" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Cantidad de datos inválida en el fichero %s\"\n" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Método de petición inválido en el fichero \"%s\"\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" "No se puede convertir el sello de hora desde el fichero de registro de " "squid\n" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Duración de descarga inválida en fichero \"%s\"\n" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Año inválido en fichero \"%s\"\n" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Mes inválido en fichero \"%s\"\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "Formato del fichero de registro de entrada desconocida\n" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "ID usuario demasiado largo: %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "Código excluido: %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "Sitio excluido: %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "Usuario excluido: %s\n" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "No hay suficiente memoria para almacenar usuario %s\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Error de escritura en el fichero de registro del usuario %s\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " Lectura de registros: %ld, escritos: %ld, excluidos: %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Registro con formato de registros mixto (squid y registro común)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "Formato de registro común\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "Formato de registro Squid\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "Formato de registro Sarg\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "Registro con formato inválido\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "No se encontraron registros\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Fin\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Periodo cubierto por los ficheros de registro: %s-%s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "Falló al construir la representación de la cadena del rango de datos\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "fecha=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "periodo=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Registro del analizador sintáctico de Sarg guardado en %s\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Tiempo de ejecución total: %.0lf segundos\n" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "Líneas leídas: %lu líneas en %.0lf segundos (%.0lf líneas/s)\n" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" "Registros procesados: %lu registros en %.0lf segundos (%.0lf registros/s)\n" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "Usuarios: %lu usuarios en %.0lf segundos (%.0lf usuarios/s)\n" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "Leyendo el fichero de contraseñas desde %s\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" "Una línea de texto es mayor de %d bytes de longitud lo que indica un fichero " "corrupto\n" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "No hay suficiente memoria para leer una o más líneas del fichero\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" "No se puede crear un nombre de fichero temporal para generar el informe: %s\n" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "Error de mkstemp: %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "No hay suficiente memoria para leer el fichero de registros\n" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Falló al obtener las %d líneas sin salto de línea de \"%s\": %s\n" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Falló el comando \"tail\": %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "Datos inválidos devueltos por %s\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "El sello de tiempo en la columna 1 es demasiado largo\n" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" "La parte decimal del sello de tiempo en la columna 1 es demasiado largo\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "La duración de la conexión en la columna 2 es demasiado larga\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "La dirección IP en la columna 3 es demasiado larga\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "El estado en la columna 4 es demasiado largo\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "El tamaño en la columna 5 es demasiado largo\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "La acción en la columna 6 es demasiado larga\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "La URL en la columna 7 es demasiado larga\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "El ID usuario en la columna 8 es demasiado largo\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "El dato en la columna 8 es demasiado largo\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "El usuario en la columna 9 es demasiado largo\n" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "Columna de hora inválida en el fichero %s\n" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Tipo de acceso inválido en el fichero \"%s\"\n" #: realtime.c:314 msgid "Realtime" msgstr "Tiempo real" #: realtime.c:315 msgid "Auto refresh" msgstr "Refresco automático" #: realtime.c:316 msgid "TYPE" msgstr "TIPO" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" "Opción \"redirector_log_format\" inválida en tu sarg.conf (demasiados " "caracteres antes de la primera etiqueta)\n" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" "Opción \"redirector_log_format\" inválida en tu sarg.conf (falta un # al " "final de la etiqueta)\n" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" "Opción \"redirector_log_format\" inválida en tu sarg.conf (demasiados " "caracteres en el separador de columnas)\n" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" "Analizador sintáctico de le etiqueta \"%s\" en el registro de redirectores " "\"%s\" no devolvió ningún resultado\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "" "Cadena hora demasiado larga en el fichero de registros del redirector %s\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" "Nombre de origen prohibido demasiado largo en el fichero de registro del " "redirector %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" "Nombre de lista prohibido demasiado largo en el fichero de redirector %s\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "" "Dirección IP demasiado larga en el fichero de registro del redirector %s\n" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "" "ID usuario demasiado larga en el fichero de registro del redirector \"%s\"\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "Origen redirigido inválido en el fichero %s\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Lista redirigida inválida en el fichero \"%s\"\n" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "IP origen inválida en el fichero \"%s\"\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Leyendo el fichero de log del redirector \"%s\"\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" "No hay suficiente memoria para almacenar el nombre del nuevo registro " "redirector para ser leído - %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" "No se proporcionaron registros de redirector para producir este tipo de " "informe\n" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "No se puede abrir el fichero de configuración de squidGuard: %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "%d entrada adicional de redirectores no se muestra aquí…" msgstr[1] "%d entradas adicionales de redirectores no se muestran aquí…" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "No se generó el informe de redirector porque está vacío\n" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "Informe de redirector" #: redirector.c:478 msgid "RULE" msgstr "REGLA" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Usuario inválido encontrado en el fichero \"%s\"\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" "%d error encontrado en el fichero de registro. Algunas entradas pueden estar " "perdidas." msgstr[1] "" "%d errores encontrados en el fichero de registros. Algunas entradas pueden " "estar perdidas." #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "Demasiadas fechas diferentes en \"%s\"\n" #: repday.c:127 msgid "Day report" msgstr "Informe Diario" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "%02dH" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" "El total de bytes descargados es % en vez de % en el informe " "horario del usuario %s\n" #: repday.c:194 msgid "H:M:S" msgstr "H:M:S" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" "Tiempo total empleado es % en vez de % en el informe horario " "del usuario %s\n" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" "No se puede crear el nombre del directorio de salida que contiene el periodo " "como parte del nombre\n" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "Nombre del directorio de salida del informe=%s\n" #: report.c:258 msgid "Site access report" msgstr "Informe de acceso a sitios" #: report.c:268 msgid "DATE" msgstr "FECHA" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" "El informe dansguardian no se produjo porque no se proporcionó ningún " "fichero de configuración de dansguardian\n" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "El informe de ficheros descargados no se pidió en report_type\n" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "El informe de sitios destacados no se pidió en report_type\n" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "El informe de sitios y usuarios no se pidió en report_type\n" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "El informe de accesos denegados no se pidió en report_type\n" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "El informe de fallos de autenticación no se pidió en report_type\n" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "El informe detallado de usuario no se pidió en report_type\n" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "Informe generado con éxito en %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Informe generado con éxito y enviado a %s\n" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "Creando fichero \"%s/%s\n" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Falló al escribir una línea en \"%s\"\n" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Falló al escribir la línea total en \"%s\"\n" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Número total de accesos inválido en fichero \"%s\"\n" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Tamaño total inválido en \"%s\"\n" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Tiempo transcurrido total inválido en \"%s\"\n" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Total aciertos de caché inválido en \"%s\"\n" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Total fallos de caché inválido en \"%s\"\n" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Nombre de usuario demasiado largo o inválido en \"%s\"\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "URL demasiado larga o inválida en \"%s\"\n" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Dirección IP demasiado larga o inválida en \"%s\"\n" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "Hora demasiado larga o inválida en \"%s\"\n" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "Fecha demasiado larga o inválida en \"%s\"\n" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Tamaño de aciertos de caché inválido en \"%s\"\n" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Tamaño de fallos de caché inválidos en \"%s\"\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" "Informe de sitios y usuarios no generado porque la opción de privacidad está " "activada\n" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Sitios y Usuarios" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "No se puede construir el comando \"sort\" para ordenar el fichero %s\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "Filtro Inteligente" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "FILTRO INTELIGENTE" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "Generado por %s en %s" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ordenando fichero de registro %s/%s.user_unsort\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "Nombre de usuario demasiado largo para ordenar con el comando " #: sort.c:163 topuser.c:171 msgid "connect" msgstr "acceso" #: sort.c:165 msgid "site" msgstr "sitio" #: sort.c:167 topuser.c:174 msgid "time" msgstr "hora" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "bytes" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "inverso" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" "El informe de sitios destacados no se generó porque la opción de privacidad " "está activada\n" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" "Discordancia en las estadísticas totales al leer %s para producir los sitios " "destacados\n" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Sitios destacados" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "Los %d sitios destacados" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Número de usuarios inválido en el fichero \"%s\"\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" "Discordancia en el total de estadísticas al leer %s al producir los usuarios " "destacados\n" #: topuser.c:168 msgid "user" msgstr "usuario" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "Informe SARG para %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Ordenación: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Usuarios destacados" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Tabla de contenidos" #: topuser.c:239 msgid "Redirector" msgstr "Redirector" #: topuser.c:241 msgid "Denied accesses" msgstr "Accesos denegados" #: topuser.c:244 msgid "Useragent" msgstr "Cliente Usuario" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" "No hay usuarios destacados porque no se ha configurado en report_type\n" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Tamaño de caché de entrada inválido en el fichero \"%s\"\n" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Tamaño de caché de salida inválido en el fichero \"%s\"\n" #: topuser.c:353 msgid "Graphic" msgstr "Gráfica" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "El total de la caché de entrada y fallos de caché no es 100%% en la posición " "%d (usuario %s)\n" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "El total de la caché de entrada y la caché de fallos no es 100%%\n" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Error de escritura en la lista de usuarios destacados %s\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "No hay suficiente memoria para almacenar las estadísticas diarias\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "Fecha \"%s\" inválida para las estadísticas horarias\n" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" "Componente de fecha inválida en \"%s\" para las estadísticas horarias\n" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "Hora %d inválida para las estadísticas horarias\n" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Demasiados fechas diferentes para las estadísticas horarias\n" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ãndice de día inválido encontrado en las estadísticas horarias\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" "El alias del nombre de equipo \"%s*%s\" contiene demasiados comodines (*)\n" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" "El alias del nombre de equipo \"%*s\" no debe terminar con un comodín\n" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" "NO hay suficiente memoria para almacenar las directivas de alias del nombre " "de equipo\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Carácter NUL inválido encontrado en la expresión regular\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Expresión regular sin terminar\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Falló al compilar la expresión regular \"%s\": %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" "PCRE no compilado por tanto las expresiones regulares no están disponibles " "en el fichero de alias de equipos\n" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Leyendo fichero de alias de equipo \"%s\"\n" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "No se puede leer el fichero de alias de equipo \"%s\": %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "Lista de nombres de equipo a alias:\n" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr " %s*%s => %s\n" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr " %s => %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr " *%s => %s\n" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr " %d.%d.%d.%d/%d => %s\n" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "Uso: %s [opciones...]\n" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr "" " -a NOMBRE|IP Crea un informe por nombre de equipo o dirección IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr " -c FICHERO Excluye los equipos conectados del informe" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" " --convert Convierte el fichero access.log a una fecha legible" #: usage.c:37 msgid " --css Output the internal CSS" msgstr " --css Salida del CSS interno" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" " -d FECHA Rango de fechas a incluir en el informe: desde-hasta dd/" "mm/aaaa-dd/mm/aaaa" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e CORREO Dirección de correo a la que enviar los informes " "(stdout para salida por consola)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" " -f FICHERO Fichero de configuración a leer (Por defecto es %s/" "sarg.conf)\n" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" " -g FMT Formato de fecha [e=Europa -> dd/mm/aaaa, u=EEUU -> mm/" "dd/aaaa]" #: usage.c:42 msgid " -h This help" msgstr " -h Esta ayuda" #: usage.c:43 msgid " --help This help" msgstr " --help Esta ayuda" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Informes por usuario y dirección IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr " --keeplogs Mantener todos los informes generados previamente" #: usage.c:46 msgid " -l FILE Input log" msgstr " -l FICHERO Registro de entrada" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" " --lastlog Establecer el número de informes previos a mantener" #: usage.c:48 msgid " -m Advanced process messages" msgstr " -m Mensajes de procesamiento avanzado" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n Resolver direcciones IP usando RDNS" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o DIR Directorio de salida del informe" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr " -p Usar dirección IP en vez de idusuario (informes)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" " -P PREFIJO Anteponer un prefijo a los nombres de fichero divididos" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s SITIO Limitar el informe al sitio accedido [ej. www.microsoft." "com]" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr "" " --split Separar el fichero de registro por fecha en el parámetro " "-d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" " --splitprefix PREFIJO\n" " Anteponer un prefijo a los nombres de ficheros separados" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr " --statistics Imprimir las estadísticas del tiempo de ejecución" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" " -t TIEMPO Limitar el informe a un rango de horas [HH:MM o HH:MM-" "HH:MM]" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u USUARIO Informe únicamente de la actividad de USUARIO" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w DIR Directorio temporal" #: usage.c:61 msgid " -x Debug messages" msgstr " -x Mensajes de depuración" #: usage.c:62 msgid " -z Process messages" msgstr " -z Mensajes de procesamiento" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Leyendo registro del cliente de usuario \"%s\"\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Cliente de usuario inválido en el fichero \"%s\"\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Registros leídos: %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "Generando informe de cliente de usuario\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Informe del cliente de usuario de Squid" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "AGENTE" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "No hay suficiente memoria para almacenar el usuario\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "No se puede leer \"%s\": no hay suficiente memoria\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "La lista de usuarios es demasiado larga en el fichero \"%s\"\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "No se puede preparar ldap URI para el servidor %s en el puerto %d\n" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "Imposible conectarse al servidor LDAP %s en el puerto %d: %d (%s)\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "No se puede deshabilitar LDAP_OPT_REFERRALS\n" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "No se puedo establecer la versión de protocolo LDAP %d\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "No se puede conectar al servidor LDAP: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "Búsqueda LDAP fallida: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "Buscando \"%s\" en o debajo \"%s\"\n" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "Leyendo tabla de usuario de LDAP\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "Módulo LDAP no compilado en sarg\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Leyendo tabla Usuario: %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "Rastreo de getword:\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" "No se puede analizar sintácticamente otra vez la línea debido a que fue " "modificada\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "Bucle detectado en %s después de %d bytes.\n" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "Línea=\"%s\"\n" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "Registro=\"%s\"\n" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "buscando 'x%x'\n" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Desbordamiento de entero detectado en %s en la línea \"%s\"\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Búfer inválido pasado a getword_ptr\n" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "Ruta inválida \"%s\". Por favor, usa sólo rutas relativas.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" "El número requerido de dígitos pasados a my_lltoa (%d) es mayor que el " "tamaño del búfer de salida (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre," "Noviembre,Diciembre" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" "La lista interna de los nombres de los meses es inválida. Por favor informe " "de este error al traductor.\n" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (información) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Falló al leer la fecha en \"%s\"\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Falló al leer el número de usuarios en \"%s\"\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "No se pueden hacer estadísticas \"%s\": %s\n" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Falló al copiar la imagen \"%s\" a \"%s\"\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "El fichero \"%s\" ya existe, movido a \"%s\"\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Falló al escribir la fecha en \"%s\"\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" "Longitud de búfer inválida pasada a la función para copiar de forma segura " "una cadena\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" "La fecha pasada como argumento no está formateada como dd/mm/aaaa o dd/mm/" "aaaa-dd/mm/aaaa\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "El rango de fechas pasado como argumento no está formateado como dd/mm/aaaa " "o dd/mm/aaaa-dd/mm/aaaa\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "Falló al obtener la hora actual\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Número inválido de días en el parámetro -d\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "No se puede convertir hora local: %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Número inválido de semanas en el parámetro -d\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Número inválido de meses en el parámetro -d\n" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Rango de fechas inválido pasado en la línea de comandos\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Eliminando fichero temporal sarg-general\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "Demasiados códigos a excluir en el fichero \"%s\"\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" "No se puede obtener el espacio en disco porque la ruta \"%s%s\" es demasiado " "larga\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "No se puede obtener el espacio en disco con el comando %s\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "No se puede obtener el tamaño en disco con el comando %s\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" "El comando para calcular el tamaño de disco ocupado (%s) devolvió la cadena " "desconocida %s\n" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" "\n" "Para que funcione la traducción, un fichero de mensaje válido debería estar " "instalado como \"%s//LC_MESSAGES/%s.mo\" donde se deriva " "del locale disponible.\n" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "El locale disponible actualmente es \"%s\".\n" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "El locale no está establecido en la variable de entorno.\n" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" "Si este mensaje está en inglés, entonces tu idioma no está soportado o " "correctamente instalado.\n" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "Tipo de ruta desconocida \"%s\"\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" "Fichero \"%s\" desconocido encontrado en el directorio temporal \"%s\". No " "es uno de nuestros ficheros. Por favor, chequea el directorio temporal que " "diste a sarg. Ajusta la ruta a un directorio seguro o borra manualmente el " "contenido de \"%s\"\n" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "Tipo de ruta \"%s\" desconocida. Chequea tu directorio temporal\n" #~ msgid "Log file name too long passed on command line with opton %s: %s\n" #~ msgstr "" #~ "Nombre de fichero de registro demasiado largo pasado a la línea de " #~ "comandos con la opción %s: %s\n" sarg-2.3.11/po/fr.gmo000066400000000000000000001634241324060677300143050ustar00rootroot00000000000000Þ•î0 ¡”)¬)À)¼*Ÿ½*+]++‰++µ++á++ ,+9,<e,@¢,9ã,+-+I-+u-+¡-+Í-+ù-+%.+Q.+}.+©.+Õ.A/+C/o/:/>È/>0YF0- 0?Î0=1;L1Yˆ1Iâ1B,2Mo2½22Û23-,33Z3+Ž3>º3Iù3EC44‰4'¾4"æ4$ 5+.5Z52p5£5 »5Ç5#Ö5 ú5+636z96l´6e!7[‡7aã72E87x8A°8 ò8999@&9<g9 ¤9±95·97í9%:+: 3:A:a:5€:>¶:!õ:R;j;‚;%¢;:È;&<Q*<%|<$¢<Ç<ç<'=/*=1Z=*Œ="·=Ú=ñ=">*>Q>>>£>%¶>'Ü>$?)? .?8?=? D?6Q?Yˆ?#â?!@ (@$3@1X@Š@"¤@Ç@Î@4Þ@/A CAdA5ƒA ¹A ÃAÐA$ÕA'úA"B5BHB [BgB<‚B¿B2ÞB"C'4C0\C,CºC-ÚC"D +D+LD$xDD½D!ÝD'ÿD('EPEeE~E ”E¡E7©E%áEF3 F8AF/zF ªF2·F0êF.G'JGQrGÄG_ÌG8,HeHH-…HS³H`IchI ÌI2íI! J!BJ?dJ$¤JEÉJ%K5K UK'vKžK,»K9èK"L*=LhL%‚L1¨L'ÚL#M"&MIM*eM%M#¶M%ÚMN'N(DN%mN'“N)»N%åN( O)4O'^O)†O4°O"åO#P,P%IP%oP$•P!ºPÜP÷P Q3QSQsQ&ŽQ µQ!ÖQ#øQ.RKRgRRŸR ½RÞRùR-S*GSrS&SU´S! T,T DT7OT‡T¥T½TÜT#ûTU>U/\UAŒU2ÎUV V59V$oV”VV£V¼VÏVâV*ôVNW'nW–W.šWÉWMÌWXl9X7¦XyÞX%XY~Y;Y@ÌY% Z$3Z6XZ'Z0·Z@èZ-)[6W[=Ž[4Ì[N\EP\#–\$º\#ß\ ]`$] …]>’]Ñ]á]#è] ^B^$Z^^#„^¨^$Å^ê^!_*_E_a_ j_ w_‚_4”_É_ è_ `"`5`E`W`^` e`-s`¡`°`,É`6ö`-a 2a?>a~aa¬aTËaT bub ˆb2–bBÉb cc +c8c;Jc†c™c¸cÑcêc+üc"(dKdPdVd[dCld?°d'ðd e#9eR]e0°e!áeSfYWfn±f< g/]gWg/åg$hJ:hb…h=èh!&i#Hi/li'œi4Äi6ùiO0j$€j!¥jDÇjI k!Vk'xkA k3âk!l8l)Tl:~l+¹lCål4)m ^m km;um.±m àm$êmFnCVnCšn Þnÿno8 oAEoÓ‡o[p2zp­p7Åp/ýp+-q!Yq {q&œq Ãqäq+üq(r3-r-arr&¥r,Ìr(ùr "s4.scs ls2vsK©sCõs9tMtgt'„t ¬tÍtÒtÖt.Üt u %u2uÕ:uv!v*v*>v9iv@£v)äv"w$1wVwiw$pw •wÏ wpxxxx¢x§xÆxÏØx{¨y$z)zÚ.zÍ |1×|1 }1;}1m}2Ÿ}1Ò}E~MJ~?˜~1Ø~3 2>1q1£1Õ2€1:€2l€1Ÿ€2Ñ€T+Y,…<²@ïK0‚D|‚:Á‚=ü‚L:ƒ<‡ƒSăT„Hm„U¶„, …?9…%y…3Ÿ…BÓ…7†NN†R†Hð†G9‡+‡)­‡)ׇ2ˆ4ˆ<Sˆˆ ©ˆ¶ˆ$ƈ ëˆ2ùˆ,‰·2‰hê‰cSŠQ·Ša ‹=k‹H©‹]ò‹PŒ`ŒfŒnŒC‰ŒEÍŒ-J4JÊÐ×,é-Ž<DŽJŽ5ÌŽT&W2~>±Sð>Dzƒ?þ7>‘4v‘0«‘DÜ‘J!’@l’Q­’8ÿ’&8“:_“:š“Õ“eó“Y”!q”0“”@Ä”@•F• K•V•\• e•3r•e¦•3 –/@–p–-ƒ–D±–ö–1—H—Q—;b—8ž—×—B÷—B:˜}˜˜–˜;›˜>ט™(™:™S™*d™L™3Ü™Kš6\š>“š@Òš>›&R›Hy›4›-÷›;%œ6aœ<˜œ7Õœ. ;<?x¸)Øžž +žO6ž7†ž¾žPÄžFŸ^\Ÿ»ŸBËŸ@ ?O 4 gÄ ,¡i3¡E¡ã¡ ÿ¡G ¢jS¢w¾¢x6£/¯£>ߣ1¤1P¤V‚¤:Ù¤T¥*i¥4”¥2É¥9ü¥#6¦;Z¦K–¦)â¦6 §'C§4k§9 §=Ú§8¨4Q¨,†¨1³¨Då¨?*©@j©(«©4Ô©5 ª5?ª1uª0§ª;ت5«AJ«=Œ«@Ê«M ¬+Y¬3…¬3¹¬9í¬.'­9V­5­+Æ­+ò­6®6U®-Œ®+º®6æ®>¯<\¯/™¯;ɯ)°(/°2X°=‹°7ɰ5±57±9m±B§±+ê±7²WN²,¦²#Ó²÷²= ³(G³.p³'Ÿ³2dz;ú³'6´?^´Sž´`ò´OSµ$£µ'ȵ[ðµ-L¶z¶ƒ¶,ˆ¶µ¶Ѷê¶3·^8·.—·Æ·6Ê·¸b¸7h¸š ¸N;¹ˆŠ¹-ºAºE_ºG¥º+íº6»BP»+“»B¿»R¼3U¼;‰¼Tż>½YY½K³½)ÿ½1)¾4[¾!¾¢²¾U¿le¿Ò¿æ¿,ï¿À\+À)ˆÀ²À/¹À$éÀ.Á@=Á-~Á-¬Á-ÚÁ  /Â;Â2TÂ0‡Â+¸ÂäÂÿÂÃ%Ã<ÃCà JÃ=XÖêÃ0ÄÃ:õÃ0Ä 7Ä[CÄŸÄ.ºÄ&éÄbÅbsÅÖÅñÅ@ÆZGÆ ¢Æ®Æ ÂÆÐÆOçÆ7Ç!RÇ,tÇ¡ÇÁÇ/ÚÇ% È0È7È=ÈBÈXVÈJ¯È-úÈ&(É)OÉpyÉ7êÉ'"ÊYJÊc¤Ê‹ËD”Ë;ÙËcÌEyÌ*¿Ì^êÌgIÍC±Í*õÍ( Î9IÎ+ƒÎB¯Î8òÎ[+Ï0‡Ï3¸ÏPìÏV=Ð-”Ð4ÂÐM÷Ð:EÑ+€Ñ2¬Ñ;ßÑDÒ3`ÒJ”ÒJßÒ*ÓEÓQ]Ó;¯ÓëÓ+Ôi4ÔužÔzÕ.Õ ¾Õ ÊÕH×Õ` ÖÖ$‘×;¶×"ò×OØAeØ>§Ø+æØ5Ù9HÙ%‚Ù¨Ù<ÂÙ ÿÙO ÚJ[Ú¦Ú;ÆÚ:Û?=Û}ÛB•ÛØÛ êÛJôÛp?Ül°Ü!Ý.?Ý$nÝ?“ÝEÓÝÞ Þ$ÞD+Þ"pÞ“Þ £Þá­Þߢ߫ß8ÁßJúßFEà8Œà7Åà-ýà+áDá*Ká váÛƒá_â hâ‰â¡â/¦âÖâÛíâÉãWä ]äAbîBj’›éj“sJ„Q#"Â¥{i’K)!”E¯?AºÕ”óºWå/d"|²š­7v&Mk%ì¬6=×w®IK>ÌÛñë~Ío m\¢„«Ó;Hž&ˆFG[…äT] ÓÏŠ v ÃnoÉ2Wãâ“.˜ø°7U'à ¥ÑÑÐP³ õ¡¨g?}Ž`]ì§ @ÄZëg¿;òa:£ÄÔUDY²>^‘—Å Fe}›X¤»æËm¦­Úß HpÈc3b@é†LäOî_‡Vïµ)©Ø¼öRúD¤1JIª¢É9Ýæ~\M¸-ڽߵ(Þ3B0‰Ùyç`Ærлܕû fàÀʹS5N±{8%ü-xôf±,c ¾ØqV[Îu×´ðÏ©L‚=Æ£P‚Œ9ù¦t^n6|4‹pá½*† …·Ç<le‘ÒuᚬŠqÛËÅ•$⎇ˆh®w‹¡Õ¶è«³èÝr¯ªÇ'´Îƒ1¾Ô™€:iÿ¨8 kã0,ža¸h–<ZÌ+sGX¹lÁà§Tç·å/Ÿ—œíC5QE™C.Nx z€êy4‰#SÈ_íÖ÷¼À$–ÖÙœtYÞ¶ŒÁŸý°ÜRêþdO2ʘ¿(Í*Òz!ƒ+iäpäwäÔ)è)ü)*,*H*\*p*„* *~äÿÿÿÿ ä3ÿÿÿÿÕä3ÿÿÿÿ å "ÿÿÿÿTå "ÿÿÿÿšå$ÿÿÿÿÕå:ÿÿÿÿæ:ÿÿÿÿMæ0 .ÿÿÿÿ¸æ! .ÿÿÿÿ For the translation to work, a valid message file should be installed as "%s//LC_MESSAGES/%s.mo" where is derived from the effective locale. Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Keep temporary files (-k) = %s Hostname or IP address (-a) = %s --convert Convert the access.log file to a legible date --css Output the internal CSS --help This help --keeplogs Keep every previously generated report --lastlog Set the number of previous reports to keep --split Split the log file by date in -d parameter --splitprefix PREFIX Prepend a prefix to the splitted file names --statistics Print run time statistics -P PREFIX Prepend a prefix to the splitted file names -a NAME|IP Create report for host name or IP address -c FILE Exclude connected hosts from the report -d DATE Date range to include in the report: from-until dd/mm/yyyy-dd/mm/yyyy -e MAIL Email address to send reports to (stdout for console) -f FILE Config file to read (default is %s/sarg.conf) -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy] -h This help -i Reports by user and IP address -l FILE Input log -m Advanced process messages -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages -z Process messages Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Previous reports to keep (--lastlog) = %d %02dH%d error found in the log file. Some entries may be missing.%d errors found in the log file. Some entries may be missing.%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…%d more redirector entry not shown here…%d more redirector entries not shown here…%d old report to delete %d old reports to delete %d report directory found %d report directories found A text line is more than %d bytes long denoting a corrupted file ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty Authentication failures report not requested in report_type Auto refreshBYTESBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create a temporary file name to produce the report: %s Cannot create directory "%s": %s Cannot create the output directory name containing the period as part of the name Cannot delete "%s": %s Cannot enumerate the user list Cannot get disk size with command %s Cannot get disk space because the path "%s%s" is too long Cannot get disk space with command %s Cannot get the modification time of input log file "%s": %s Processing it anyway Cannot get the size of file "%s": %s Cannot load "%s": not enough memory Cannot open directory "%s": %s Cannot open file "%s": %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot prepare ldap URI for server %s on port %d Cannot read host name alias file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Cannot stat "%s": %s Chaining IP resolving module "%s" Command failed: %s Command to execute to resolve the IP addresses is too long (maximum is %d bytes) Command too long: Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d Currently effective locale is "%s". DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Dansguardian report not produced because no dansguardian configuration file was provided Datafile "%s" written successfully Date too long or invalid in "%s" Day reportDecompressing log file "%s" with %s Decompression command too long for log file "%s" Decreasing Access (bytes)Deleting temporary directory "%s" DeniedDenied accessesDenied accesses report not requested in report_type Denied report not produced because it is empty Destination directory too long: Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed "tail" command: %s Failed to build the string representation of the date range Failed to close file "%s": %s Failed to compile the regular expression "%s": %s Failed to copy image "%s" to "%s" Failed to create link "%s" to "%s": %s Failed to get the %d trailing lines of "%s": %s Failed to get the creation time of "%s": %s Failed to get the current time Failed to move till the end of file "%s": %s Failed to open directory "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s Failed to rewind file "%s": %s Failed to write a line in "%s" Failed to write the date in "%s" Failed to write the total line in "%s" File "%s" already exists, moved to "%s" File "%s" not found Fontname "%s" not found Generated by %s on %sGraph reportGraphicGraphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" H:M:SHost name alias "%*s" must not end with a wildcard Host name alias "%s*%s" contains too many wildcards (*) Hour string too long in redirector log file %s IN-CACHE-OUTIP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP address too long in redirector log file %s IP address too long or invalid in "%s" IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIf this message is in English, then your language is not supported or not correctly installed. Ignoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Integer overflow detected in %s in line "%s" Invalid "redirector_log_format" option in your sarg.conf (missing # at end of tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters before first tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters in column separator) Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid access type in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid amount of data in file "%s" Invalid buffer length passed to the function to safely copy a string Invalid buffer passed to getword_ptr Invalid cache hit size in "%s" Invalid cache miss size in "%s" Invalid client IP address in file "%s" Invalid data returned by %s Invalid date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date in file "%s" Invalid date range passed on command line Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid day index found in the hourly statistics Invalid download duration in file "%s" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid in-cache column in file "%s" Invalid in-cache size in file "%s" Invalid in-cache volume in file "%s" Invalid month in file "%s" Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of users in file "%s" Invalid number of weeks in -d parameter Invalid out-of-cache column in file "%s" Invalid out-of-cache size in file "%s" Invalid out-of-cache volume in file "%s" Invalid path "%s". Please, use absolute paths only. Invalid record in IP address "%s" Invalid record in exclusion string Invalid record in file "%s" Invalid redirected list in file "%s" Invalid redirected source in file %s Invalid request method in file "%s" Invalid result code in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid source IP in file "%s" Invalid time column in file %s Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid total cache hit in "%s" Invalid total cache miss in "%s" Invalid total elapsed time in "%s" Invalid total number of accesses in file "%s" Invalid total size in "%s" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user found in file "%s" Invalid user in file "%s" Invalid useragent in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s" Invalid year in file "%s%s/sarg-date" January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Line="%s" Lines read: %lu lines in %.0lf seconds (%.0lf lines/s) List of host names to alias: Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Loading user table from LDAP Locale is not set in the environment variable. Log file name too long passed on command line with option %s: %s Log file name too long passed on command line: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) Loop detected in %s after %d bytes. MILLISECMONTHMaking Useragent report Making file %s/%s Making index.html Making report %s Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No graphs available as sarg was not compiled with libgd. Set "graphs" to "no" in %s to disable this warning No known module to resolve an IP address using the DNS No old reports to delete as only %d report currently exist No old reports to delete as only %d reports currently exists No option to configure for module %s No records found No redirector logs provided to produce that kind of report No top users report because it is not configured in report_type Not enough memory to read a log file Not enough memory to read file "%s" Not enough memory to read one more line from the file Not enough memory to read the log file Not enough memory to store the daily statistics Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the host name aliasing directives Not enough memory to store the key/value pair %s/%s Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Not enough memory to store user %s Option -%c requires an argument PCRE not compiled in therefore the regular expressions are not available in the host alias file Parameters: Parsing of tag "%s" in redirector log "%s" returned no result Path too long: PeriodPeriod covered by log files: %s-%s Period: %sProcessed records: %lu records in %.0lf seconds (%.0lf records/s) Purging temporary file sarg-general RULEReading DansGuardian log file "%s" Reading access log file: %s Reading access log file: from stdin Reading host alias file "%s" Reading redirector log file "%s" Reading user file "%s/%s" Reading useragent log "%s" RealtimeRecord="%s" RedirectorRedirector reportRedirector report not generated because it is empty Removing old report file "%s" Report output directory name=%s SARG reportSARG reportsSARG report for %sSARG report, %cSARG version: %s SARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERSarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Sending mail with command: %s Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSites & users report not requested in report_type Sites and users report not generated because privacy option is on SmartFilterSmartFilter reportSort: %s, %sSort: %s, %sSorted file doesn't exist (to produce the download report) Sorting file "%s" Sorting log %s/%s.user_unsort Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETable of contentTemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The command to compute the occupied disk size (%s) returned the unknown string %s The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The internal list of month names is invalid. Please report this bug to the translator. The list of the users is too long in file "%s" The name of the file is invalid: %s The output directory "%s" must be outside of the temporary directory "%s" The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The time stamp decimal part at column 1 is too long The total of the in-cache and cache-miss is not 100%% The total of the in-cache and cache-miss is not 100%% at position %d (user %s) The user ID at column 8 is too long The user at column 9 is too long Time period passed on the command line with option -t must be HH:MM Time range passed on the command line with option -t must be HH:MM-HH:MM Time too long or invalid in "%s" Too many codes to exclude in file "%s" Too many day directories in %s Supernumerary entries are ignored Too many different dates for the hourly statistics Too many different dates in "%s" Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option %s. Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop sites report not produced because privacy option is on Top sites report not requested in report_type Top usersTotal execution time: %.0lf seconds Total statistics mismatch when reading %s to produce the email report Total statistics mismatch when reading %s to produce the top sites Total statistics mismatch when reading %s to produce the top users URL too long or invalid in "%s" USERIDUSERSUnable to connect to LDAP server %s on port %d: %d (%s) Unknown color "%s" requested for the graph. Using orange instead Unknown file "%s" found in temporary directory "%s". It is not one of our files. Please check the temporary directory you gave to sarg. Adjust the path to a safe directory or manually delete the content of "%s" Unknown input log file format Unknown module "%.*s" to resolve the IP addresses Unknown path type "%s" Unknown path type "%s". Check your temporary directory Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser %s limit exceeded (%d MB). Added to file "%s" User ID too long in redirector log file "%s" User ID too long: %s User name too long or invalid in "%s" User name too long to manufacture file name User name too long to sort with command User reportUser's detailed report not requested in report_type User: %sUseragentUsers: %lu users in %.0lf seconds (%.0lf users/s) Using the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in file "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYesbytescannot build the sort command to sort file %s command return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s getword backtrace: iconv cannot convert from %s to UTF-8: %s iconv failed to convert string "%s" from %s to UTF-8: %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s looking for "%s" at or below "%s" malloc failed to allocate %ld bytes mkstemp error: %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesearching for 'x%x' setrlimit error: %s sitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg 2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2015-07-20 14:13+0200 Last-Translator: Frédéric Marchal Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=2; plural=(n > 1); Pour que la traduction fonctionne, un fichier de message valide doit être installé sous le nom « %s//LC_MESSAGES/%s.mo » où est dérivée de l'environnement linguistique effectif. Temps (-t) = %s Utilisateur (-u) = %s Rapport IP (-i) = %s Journal (-l) = %s Répertoire de destination (-o) = %s Fichier de configuration (-f) = %s Format de date (-g) = Européen (jj/mm/aaaa) Format de date (-g) = Sites & Utilisateurs (aaaa/ss) Format de date (-g) = USA (mm/jj/aaaa) Fichier d'exclusion (-c) = %s Site accédé (-s) = %s Répertoire temporaire (-w) = %s Journal des useragents (-b) = %s Messages de debug (-x) = %s Journal du redirecteur (-L) = %s Date de-à (-d) = %s Messages de traitement (-z) = %s Résoudre les adresses IP (-n) = %s Conserver les fichiers temporaires (-k) = %s Nom de l'hôte ou adresse IP (-a) = %s --convert Convertir les dates du journal access.log dans un format lisible --css Afficher le CSS interne --help Afficher l'aide-mémoire --keeplogs Conserver tous les rapports précédents --lastlog Nombre de rapports précédents à conserver --split Extraire du journal les dates passées au paramètre -d --splitprefix PRÉFIXE Préfixer les noms des fichiers scindés --statistics Afficher les statistiques d'exécution -P PRÉFIXE Préfixer les noms des fichiers scindés -a NOM|IP Créer le rapport pour le nom de l'hôte ou l'adresse IP -c FICHIER Exclure du rapport les hôtes connectés -d DATE Dates à inclure dans le rapport : de-à jj/mm/aaaa-jj/mm/aaaa -e MAIL Adresse e-mail où envoyer les rapports (stdout pour la console) -f FICHIER Fichier de configuration (%s/sarg.conf par défaut) -g FMT Format de date [e=Européen → jj/mm/aaaa, u=USA → mm/jj/aaaa] -h Afficher l'aide-mémoire -i Rapport par utilisateurs et par adresses IP -l FICHIER Journal d'entrée -m Messages avancés du traitement -n Résoudre les adresses IP en utilisant le RDNS -o RÉP Répertoire où écrire le rapport -p Utiliser l'adresse IP au lieu de l'identifiant utilisateur -s SITE Limiter le rapport au site visité (par ex. www.microsoft.com) -t HEURE Limiter le rapport aux heures [HH:MM ou HH:MM-HH:MM] -u UTIL Rapporter uniquement l'activité de cet utilisateur -w RÉP Répertoire temporaire -x Messages de débogage -z Messages du processusAdresse e-mail où envoyer les rapports (-e) = %s Enregistrements lus : %ld Enregistrements lus : %ld, écrits : %ld, exclus : %ld %d.%d.%d.%d/%d ⇒ %s %s ⇒ %s %s*%s ⇒ %s %x:%x:%x:%x:%x:%x:%x:%x/%d ⇒ %s *%s ⇒ %s Rapports précédents à garder (--lastlog) = %d %02dH%d erreur rencontrée dans le journal. Certaines informations pourraient être manquantes.%d erreurs rencontrées dans le journal. Certaines informations pourraient être manquantes.%d erreur d'authentification non affichée…%d erreurs d'authentifications non affichées…%d entrée de dansguardian non affichée…%d entrées de dansguardian non affichées…%d accès interdit non affiché…%d accès interdits non affichés…%d entrée du redirecteur non affichée…%d entrées du redirecteur non affichées…%d ancien rapport à effacer %d anciens rapports à effacer %d répertoire de rapport trouvé %d répertoires de rapports trouvés Une ligne de texte est plus longue que %d octets ce qui signifie que le fichier est corrompu SITES ACCÉDÉSAGENTMOYENNEErreurs d'authentificationRapport des échecs d'authentifications pas créé car il est vide Rapport des échecs d'authentification pas demandé dans report_type Actualisation automatiqueOCTETSLe nom de la liste bannie est trop long dans le journal du redirecteur %s Le nom de la liste bannie est trop long dans le journal du redirecteur %s CAUSEACCÈSDATE DE CRÉATIONImpossible de se lier au serveur LDAP : %s Impossible de convertir l'heure locale : %s Erreur lors de la conversion d'une date du journal de squid Impossible de créer un fichier temporaire pour produire le rapport : %s Impossible de créer le répertoire « %s » : %s Le répertoire de sortie contenant la période dans son nom n'a pas pu être créé Impossible d'effacer « %s » : %s Impossible d'énumérer la liste des utilisateurs Impossible de déterminer l'espace disque avec la commande %s Impossible de déterminer l'espace disque car le chemin « %s%s » est trop long Impossible de déterminer l'espace disque avec la commande %s La date de dernière modification du journal « %s » ne peut pas être déterminée : %s Il est tout de même traité Impossible de déterminer la taille du fichier « %s » : %s Impossible de lire « %s » : pas assez de mémoire Impossible d'ouvrir le répertoire « %s » : %s Impossible d'ouvrir le fichier « %s » : %s Impossible d'ouvrir le fichier de configuration de squidGuard : %s La ligne ne peut pas être traitée à nouveau car elle a été modifiée Impossible de préparer l'URI du serveur LDAP %s sur le port %d Impossible de lire le fichier de remplacement des noms d'hôtes « %s » : %s Impossible de résoudre le nom d'hôte « %s » : %s Impossible d'exécuter la commande %s Impossible d'obtenir les « stat » de « %s » : %s Module de résolution IP « %s » ajouté à la chaîne La commande a échoué : %s La commande a exécuter pour résoudre les adresses IP est trop longue (le maximum est de %d octets) Commande trop longue :Format « common » du journal LDAP_OPT_REFERRALS n'a pas pu être désactivé La version %d du protocole LDAP n'a pas pu être sélectionnée L'environnement linguistique actuellement actif est « %s ». DATEDATE/HEUREJOURSINTERDITDansGuardianRapport de dansguardian pas créé car il est vide Rapport dansguardian pas produit car aucun fichier de configuration de dansguardian n'a été fourni Fichier de données « %s » écrit avec succès Date trop longue ou incorrecte dans « %s » Rapport journalierDécompression du journal « %s » avec %s la commande de décompression du journal « %s » est trop longue Accès décroissant (en octets)Suppression du répertoire temporaire « %s » InterditAccès interditsRapport des accès interdits pas demandé dans report_type Rapport des accès interdits pas créé car il est vide Répertoire cible trop long : La liste des suffixes des fichiers téléchargés est trop longue Rapport des fichiers téléchargés pas demandé dans report_type TéléchargementsDURÉEFin Erreur : Syntaxe incorrecte pour l'option « hours » ! Erreur : Syntaxe incorrecte pour l'option « weekdays » ! Code exclu : %s Site exclu : %s Utilisateur exclu : %s FICHIER/PÉRIODELa commande « tail » a échoué : %s La représentation textuelle de la plage des dates n'a pas pu être créée Erreur à la fermeture du fichier « %s » : %s Erreur lors de la compilation de l'expression régulière « %s » : %s Erreur de copie de l'image « %s » vers « %s » Impossible de créer le lien « %s » vers « %s » : %s Impossible de lire les %d dernières lignes de « %s » : %s Erreur de lecture de la date de création de « %s » : %s Erreur de lecture de la date actuelle Erreur lors du déplacement jusqu'à la fin du fichier « %s » : %s Impossible d'ouvrir le répertoire « %s » : %s Erreur de lecture de la date dans « %s » Erreur de lecture du nombre d'utilisateurs dans « %s » Impossible de renommer « %s » en « %s » : %s Impossible de revenir au début du fichier « %s » : %s Erreur lors de l'écriture d'une ligne dans « %s » Erreur d'écriture de la date dans « %s » Erreur à l'écriture de la ligne du total dans « %s » Le fichier « %s » existe déjà, déplacé vers « %s » Fichier « %s » introuvable Fichier de police « %s » pas trouvé Généré par %s le %sRapport graphiqueGraphiquesGraphiques désactivés car aucun nom de police a été fourni dans « %s » Graphiques désactivés comme demandé dans « %s » H:M:SL'alias pour le nom d'hôte « %*s » ne peut pas être terminé par un joker L'alias pour le nom d'hôte « %s*%s » contient trop de jokers (*) La chaîne de caractères contenant l'heure est trop longue dans le journal du redirecteur %s DANS/HORS CACHEAdresse IP « %.*s » trop longue pour la commande à exécuter Adresse IP « %s » trop longue pour la commande à exécuter L'adresse IP est trop longue dans le journal du redirecteur %s Adresse IP trop longue ou incorrecte dans « %s » La résolution d'adresse IP (getnameinfo) sur l'adresse IP « %s » a échoué avec l'erreur %d - %s IP/NOMSi vous lisez ce message, cela signifie que votre langue est correctement installée et prise en compte. Ignore le module « %s » en double pour résoudre les adresses IP Ignore l'ancien journal %s Démarrage Débordement de nombre entier détecté dans %s à la ligne « %s » Option « redirector_log_format » invalide dans votre sarg.conf (# manquant à la fin de l'étiquette) Option « redirector_log_format » invalide dans votre sarg.conf (trop de caractères avant la première étiquette) Option « redirector_log_format » invalide dans votre sarg.conf (trop de caractères dans le séparateur de colonne) Mauvaise adresse IP dans le fichier « %s » Caractère NUL invalide trouvé dans l'expression régulière Mauvais code d'accès dans le fichier « %s » Mauvais type d'accès dans le fichier « %s » Type d'adresse %d invalide retourné lors de la résolution du nom d'hôte « %s » Mauvaise quantité de données dans le fichier « %s » Tampon inacceptable passé à la fonction qui copie une chaîne en toute sécurité Tampon inacceptable passé à getword_ptr Taille de cache atteinte incorrecte dans « %s » Taille de cache ratée incorrecte dans « %s » Mauvaise adresse IP du client dans le fichier « %s » Mauvaise donnée retournée par %s Date « %s » pas valable dans les statistiques horaires Erreur dans une composante de la date « %s » des statistiques horaires Mauvaise date dans le fichier « %s » Plage de date incorrecte passée en ligne de commande Mauvais jour dans le fichier « %s » Mauvais jour dans le fichier « %s%s/sarg-date » Index journalier invalide dans les statistiques horaires Mauvais temps de téléchargement dans le fichier « %s » Mauvais volume téléchargé dans le fichier « %s » Temps écoulé incorrect dans le fichier « %s » Mauvaise donnée dans le fichier « %s » Heure %d invalide pour les statistiques horaires Mauvaise colonne de volume dans la cache dans le fichier « %s » Taille de cache atteinte incorrecte dans le fichier « %s » Mauvais volume trouvé dans la cache dans le fichier « %s » Mauvais mois dans le fichier « %s » Mauvais mois dans le fichier « %s%s/sarg-date » Nombre d'accès incorrect dans le fichier « %s » Nombre d'octets incorrect dans le fichier « %s » Nombre de jours incorrects dans le paramètre -d Nombre de mois incorrects dans le paramètre -d Nombre d'utilisateurs incorrect dans le fichier « %s » Nombre de semaines incorrectes dans le paramètre -d Mauvaise colonne de volume hors cache dans le fichier « %s » Taille de cache ratée incorrecte dans le fichier « %s » Mauvais volume manqué dans la cache dans le fichier « %s » Chemin erroné « %s ». Veuillez utiliser des chemins absolus uniquement. Mauvais champ dans l'adresse IP « %s » Mauvais enregistrement dans la chaîne d'exclusion Enregistrement invalide dans le fichier « %s » Mauvaise liste de redirection dans le fichier « %s » Mauvaise source redirigée dans le fichier %s Mauvaise méthode de requête dans le fichier « %s » Mauvais code de résultat dans le fichier « %s » Mauvaise règle dans le fichier « %s » Mauvaise taille dans le fichier « %s » Mauvaise information smart dans le fichier « %s » Mauvaise adresse IP source dans le fichier « %s » Mauvaise colonne de temps dans le fichier %s Temps incorrect dans le fichier « %s » Mauvaise heure dans le fichier « %s%s/sarg-date » Quantité totale de cache atteinte incorrecte dans « %s » Quantité totale de cache ratée incorrecte dans « %s » Temps total écoulé incorrect dans « %s » Nombre total d'accès incorrect dans le fichier « %s » Taille totale incorrecte dans « %s » Mauvaise URL dans le fichier « %s » Mauvais ID utilisateur dans le fichier « %s » Mauvaise adresse IP d'utilisateur dans le fichier « %s » Mauvais utilisateur trouvé dans le fichier « %s » Mauvais nom d'utilisateur dans le fichier « %s » Mauvais nom de navigateur dans le fichier « %s » Valeur incorrecte dans le paramètre « date_format » Mauvais jour de la semaine dans le fichier « %s%s/sarg-date » Mauvaise année dans le fichier « %s » Mauvaise année dans le fichier « %s%s/sarg-date » Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,DécembreLe module LDAP n'est pas compilé dans sarg La recherche LDAP a échoué : %s Ligne=« %s » Lignes lues : %lu lignes en %.0lf secondes (%.0lf lignes/s) Liste des noms d'hôtes à remplacer : Chargement de la table des utilisateurs : %s Lecture du fichier de configuration %s Chargement du fichier des exclusions depuis : %s Chargement du fichier des exclusions d'hôtes depuis : %s Chargement des mots de passe depuis %s Chargement de la table des utilisateurs depuis le serveur LDAP L'environnement linguistique n'est pas défini dans les variables d'environnement. Nom trop long pour le fichier du journal passé sur la ligne de commande avec l'option %s : %s Nom trop long pour le fichier du journal passé sur la ligne de commande : %s Log produit par Microsoft ISA : %s Le format du journal n'est pas valable Le journal contient des enregistrements de plusieurs formats (squid et « common log ») Bouclage détecté dans %s après %d octets. MILLISECMOISCréation du rapport des « Useragents » Création du fichier %s/%s Création de index.html Création du rapport %s Guillemet manquant après le paramètre « %s » Guillemet manquant après le paramètre « %s » ou sa valeur est plus longue que %d octets Le second mot du paramètre « %s » manque NUMLe nom du fichier à supprimer est trop long : %s/%s NonAucune commande fournie pour résoudre les adresses IP. Veuillez en configurer une dans sarg.conf Aucun fichier téléchargé à inclure dans le rapport Aucun graphique disponible car sarg n'a pas été compilé avec libgd. Configurez « graphs » à « no » dans %s pour désactiver cet avertissement Aucun module connu ne permet de résoudre les adresses IP en utilisant le DNS Aucun anciens rapports à effacer car seulement %d rapport existe Aucun anciens rapports à effacer car seulement %d rapports existent Pas d'option à configurer pour le module %s Aucun enregistrement trouvé Aucun journal du redirecteur fourni pour produire ce type de rapport Rapport des utilisateurs les plus actifs pas demandé dans report_type Pas assez de mémoire pour lire un journal Pas assez de mémoire pour lire le fichier « %s » Pas assez de mémoire pour lire une ligne de plus dans le fichier Pas assez de mémoire pour lire le journal Pas assez de mémoire pour stocker les statistiques journalières Pas assez de mémoire pour stocker le nom de répertoire « %s » dans l'indexe Pas assez de mémoire pour stocker les URL exclues Pas assez de mémoire pour stocker les adresses IP exclues Pas assez de mémoire pour stocker les directives de remplacement des noms d'hôtes Pas assez de mémoire pour stocker la paire clé/valeur %s/%s Pas assez de mémoire pour stocker le nom du nouveau fichier du redirecteur à lire - %s Pas assez de mémoire pour stocker les noms correspondants aux adresses IP Pas assez de mémoire pour stocker l'URL Pas assez de mémoire pour stocker l'utilisateur Pas assez de mémoire pour stocker l'utilisateur %s L'option -%c exige un paramètre La librairie PCRE n'a pas été compilée. Par conséquent les expressions régulières ne sont pas disponibles dans le fichier de remplacement des noms d'hôtes Paramètres : L'analyse de l'étiquette « %s » dans le journal du redirecteur « %s » n'a renvoyé aucun résultat Chemin trop long :PériodePériode couverte par les journaux : %s-%s Période : %sEnregistrements traités : %lu enregistrements en %.0lf secondes (%.0lf enregistrements/s) Purge le fichier temporaire sarg-general RÈGLELecture du journal de Dansguardian « %s » Lecture du journal des accès : %s Lecture du journal des accès : depuis stdin Lecture du fichier de remplacement des noms d'hôtes « %s » Lecture du journal du redirecteur « %s » Lecture du fichier utilisateur « %s/%s » Lecture du journal des useragents « %s » Temps réelEnregistrement=« %s » RedirecteurRapport des redirectionsRapport du redirecteur pas créé car il est vide Supprime l'ancien fichier de rapport « %s » Nom du répertoire de sortie du rapport=%s Rapport SARGRapports SARGRapport SARG pour %sRapport SARG, %cVersion de SARG : %s SARG, SARG: SARG: (info) SARG: Enregistrements dans le fichier : %lu, lus : %3.2lf%%SARG: OPTION : %s SARG: Option %s inconnue SARG: rapport pour %04dSARG: rapports pour %04dSARG: rapport pour %04d/%02dSARG: rapports pour %04d/%02dTAILLESMARTFILTERSarg est compilé pour signaler des avertissements si la sortie comporte des incohérences Format de journal de Sarg Journal analysé par Sarg sauvegardé sous %s Envoie le mail avec la commande : %s Structure trop courte retournée par getaddrinfo pour une adresse IPv4 : %d octets au lieu de %d Structure trop courte retournée par getaddrinfo pour une adresse IPv6 : %d octets au lieu de %d Rapport des sites visitésSites & UtilisateursRapport des sites et utilisateurs pas demandé dans report_type Rapport des sites et des utilisateurs pas produit car l'option « privacy » est active SmartFilterRapport SmartFilterTri : %s, %sTri : %s, %sLe fichier trié n'existe pas (pour produire le rapport des téléchargements) Tri du fichier « %s » Tri du fichier %s/%s.user_unsort Rapport des accès des utilisateurs de SquidRapport des useragents de SquidFormat Squid du journal Rapport généré sans erreur et envoyé à %s Rapport généré sans erreur sur %s DURÉETOTALTYPETable des matièresLe nom du fichier modèle est trop long pour le paramètre « AuthUserTemplateFile » Le paramètre « byte_cost » du fichier de configuration est incorrect L'adresse IP à la colonne 3 est trop longue L'URL à la colonne 7 est trop longue L'action à la colonne 6 est trop longue La commande pour calculer l'espace occupé sur le disque (%s) a retourné la chaîne de caractères inconnue %s La durée de connexion à la colonne 2 est trop longue La data à la colonne 8 es trop longue La date passée comme paramètre n'est pas au format jj/mm/aaaa ou jj/mm/aaaa-jj/mm/aaaa La plage de dates passée comme paramètre n'est pas au format jj/mm/aaaa ou jj/mm/aaaa-jj/mm/aaaa Le répertoire « %s%s » ressemble à un répertoire de rapport mais il ne contient pas de fichier sarg-date. Vous devriez le supprimer Le premier mot du paramètre « %s » est plus long que %d octets La valeur entière du paramètre « %s » est incorrecte La liste interne des noms de mois n'est pas valable. Veuillez signaler cette erreur au traducteur. La liste des utilisateurs est trop longue dans le fichier « %s » Le nom du fichier n'est pas valable : %s Le répertoire de sortie « %s » doit être en dehors du répertoire temporaire « %s » Le nombre de chiffres demandés à my_lltoa (%d) est plus grand que la taille du tampon de sortie (%d) Le second mot du paramètre « %s » est plus long que %d octets La taille à la colonne 5 est trop longue Le statut à la colonne 4 est trop long La valeur texte du paramètre « %s » est trop longue L'horodatage à la colonne 1 est trop long La partie décimale de l'horodatage à la colonne 1 est trop long Le total des volumes dans et hors cache n'est pas 100%% Le total des volumes dans et hors cache n'est pas 100%% à la position %d (utilisateur %s) Le ID utilisateur à la colonne 8 est trop long Le nom d'utilisateur à la colonne 9 est trop long La plage horaire passée en ligne de commande avec l'option -t doit être HH:MM La plage horaire passée en ligne de commande avec l'option -t doit être HH:MM-HH:MM Temps trop long ou incorrect dans « %s » Trop de codes à exclure dans le fichier « %s » Trop de répertoires journaliers dans %s Les entrées en trop sont ignorées Trop de dates différentes pour les statistiques horaires Trop de dates différentes dans « %s » Trop de suffixes pour les fichiers téléchargés Trop de fichiers journaux dans le fichier de configuration Trop de journaux passés sur la ligne de commande avec l'option %s. Trop de journaux passés sur la ligne de commande. Trop de répertoires mensuels dans %s Les entrées en trop sont ignorées Trop de fichiers journaux du redirecteur dans le fichier de configuration %d sites les plus visitésSites les plus visitésRapport des sites principaux pas produit car l'option « privacy » est active Rapport des sites principaux pas demandé dans report_type Utilisateurs les plus actifsTemps total d'exécution : %.0lf secondes Discordance dans les statistiques totales lors de la lecture de %s pour produire le rapport par courriel Désaccord dans les statistiques totales lors de la lecture de %s pour produire la liste des sites les plus visités Désaccord dans les statistiques totales lors de la lecture de %s pour produire la liste des utilisateurs les plus actifs URL trop longue ou incorrecte dans « %s » IDENTIFIANTUTILISATEURSImpossible de se connecter au serveur LDAP %s sur le port %d : %d (%s) La couleur « %s » pour le dessin du graphique est inconnue. On utilise l'orange à la place Fichier « %s » inconnu trouvé dans le répertoire temporaire « %s ». Ce n'est pas un de nos fichiers. Vérifiez le répertoire temporaire que vous avez indiqué à sarg. Ajustez le chemin vers un répertoire sûr ou effacez manuellement le contenu de « %s » Format du fichier d'entrée inconnu Module « %.*s » inconnu pour résoudre les adresses IP Type de chemin « %s » inconnu Type de chemin inconnu pour « %s ». Vérifiez votre répertoire temporaire Critère de tri « %s » inconnu pour le paramètre « %s » Ordre de tri « %s » inconnu pour le paramètre « %s » Type %d inconnu pour l'échelle de l'axe Y ID utilisateur %s inconnu dans le fichier « %s » Valeur « %s » inconnue pour le paramètre « %s » Expression régulière non terminée Usage : %s [options...] Utiliser l'adresse IP au lieu de l'ID utilisateur (-p) = %s UtilisateurLimite dépassée pour l'utilisateur %s (%d Mo). Ajouté au fichier « %s » Le ID utilisateur est trop long dans le journal du redirecteur « %s » ID utilisateur trop long : %s Nom d'utilisateur trop long ou pas valable dans « %s » Nom d'utilisateur trop long pour créer le nom de fichier Le nom d'utilisateur est trop long pour trier avec la commande Rapport par utilisateurRapport détaillé des utilisateurs pas demandé dans report_type Utilisateur : %sUseragentUtilisateurs : %lu utilisateurs en %.0lf secondes (%.0lf utilisateurs/s) Utilisation du fichier log « %s » de dansguardian identifié dans votre fichier de configuration « %s » La valeur « %s » entre en conflit avec les autres valeurs sélectionnées pour le paramètre « %s » Lors de la lecture de « %s » Erreur d'écriture dans le fichier « %s » Erreur d'écriture dans l'indexe %s Erreur d'écriture dans le fichier journal de l'utilisateur %s Erreur d'écriture dans la liste des utilisateurs les plus actifs %s ANNÉEOuioctetsimpossible de préparer la commande de tri pour trier le fichier %s La commande retourne le statut %d commande : %s connexiondansguardian_ignore_date est abandonné et a été remplacé par dansguardian_filter_out_date qui fait ce que son nom indique contrairement à dansguardian_ignore_date. Veuillez mettre à jour votre fichier de configuration. Rapport journalierdate=%s getword backtrace : iconv ne parvient pas à convertir de %s à UTF-8 : %s iconv échoue en convertissant la chaîne « %s » de %s à UTF-8 : %s libgd n'a pas pu calculer la zone entourant le texte « %s » : %s libgd a échoué en dessinant le texte « %s » : %s recherche de « %s » à ou en dessous de « %s » malloc n'a pas réussi à allouer %ld octets erreur de mkstemp : %s normalpas assez de mémoire pour trier l'indexe période=%s redirector_ignore_date est abandonné et a été remplacé par redirector_filter_out_date qui fait ce que son nom indique contrairement à redirector_ignore_date. Veuillez mettre à jour votre fichier de configuration. inverséen cherchant après « x%x » erreur setrlimit : %s siteLa commande « sort » retourne le statut %d Commande de tri : %s squidguard_ignore_date est abandonné et a été remplacé par redirector_filter_out_date qui fait ce que son nom indique contrairement à squidguard_ignore_date. Veuillez mettre à jour votre fichier de configuration. squidguard_log_format est abandonné et a été remplacé par redirector_log_format. Veuillez mettre à jour votre fichier de configuration. tempsutilisateurPRIu64PRId64PRIi64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % Total downloaded bytes is % instead of % in the hourly report of user %s Total elapsed time is % instead of % in the hourly report of user %s erreur de ré-allocation mémoire (% octets nécessaires) Le minimum pour l'axe Y du graphique est hors limites : % Le maximum pour l'axe Y du graphique est hors limites : % Le nombre total d'octets téléchargés est de % au lieu de % dans le rapport horaire de l'utilisateur %s Le temps total consommé est de % au lieu de % dans le rapport horaire de l'utilisateur %s sarg-2.3.11/po/fr.po000066400000000000000000003533321324060677300141400ustar00rootroot00000000000000# French translations for sarg. # Copyright (C) 2015 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # # Frédéric Marchal , 2015. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2015-07-20 14:13+0200\n" "Last-Translator: Frédéric Marchal \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Chemin trop long :" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Impossible d'ouvrir le fichier « %s » : %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "%d erreur d'authentification non affichée…" msgstr[1] "%d erreurs d'authentifications non affichées…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Impossible d'effacer « %s » : %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "Rapport des échecs d'authentifications pas créé car il est vide\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "La commande « sort » retourne le statut %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "Commande de tri : %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Erreurs d'authentification" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Période : %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "IDENTIFIANT" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NOM" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "DATE/HEURE" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "SITES ACCÉDÉS" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Pas assez de mémoire pour lire le fichier « %s »\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Mauvaise date dans le fichier « %s »\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Temps incorrect dans le fichier « %s »\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Mauvais nom d'utilisateur dans le fichier « %s »\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Mauvaise adresse IP dans le fichier « %s »\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Mauvaise URL dans le fichier « %s »\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "ID utilisateur %s inconnu dans le fichier « %s »\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Erreur d'écriture dans le fichier « %s »\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Erreur à la fermeture du fichier « %s » : %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Enregistrement invalide dans le fichier « %s »\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "Utilisation du fichier log « %s » de dansguardian identifié dans votre " "fichier de configuration « %s »\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Lecture du journal de Dansguardian « %s »\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Tri du fichier « %s »\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d entrée de dansguardian non affichée…" msgstr[1] "%d entrées de dansguardian non affichées…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Rapport de dansguardian pas créé car il est vide\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Mauvaise règle dans le fichier « %s »\n" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Impossible d'énumérer la liste des utilisateurs\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Lecture du fichier utilisateur « %s/%s »\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Mauvaise information smart dans le fichier « %s »\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Pas assez de mémoire pour stocker l'URL\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Fichier de données « %s » écrit avec succès\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "Fichier « %s » introuvable\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Décompression du journal « %s » avec %s\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "la commande de décompression du journal « %s » est trop longue\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "%d accès interdit non affiché…" msgstr[1] "%d accès interdits non affichés…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "Rapport des accès interdits pas créé car il est vide\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Interdit" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Pas assez de mémoire pour stocker la paire clé/valeur %s/%s\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Commande trop longue :" #: download.c:117 msgid "No downloaded files to report\n" msgstr "Aucun fichier téléchargé à inclure dans le rapport\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" "Le fichier trié n'existe pas (pour produire le rapport des téléchargements)\n" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Téléchargements" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "La liste des suffixes des fichiers téléchargés est trop longue\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "Trop de suffixes pour les fichiers téléchargés\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Discordance dans les statistiques totales lors de la lecture de %s pour " "produire le rapport par courriel\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Rapport des accès des utilisateurs de Squid" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "Accès décroissant (en octets)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Période" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "ACCÈS" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "OCTETS" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "DURÉE" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "MILLISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "DURÉE" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Mauvais ID utilisateur dans le fichier « %s »\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Nombre d'octets incorrect dans le fichier « %s »\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Nombre d'accès incorrect dans le fichier « %s »\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Temps écoulé incorrect dans le fichier « %s »\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "MOYENNE" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "Rapport SARG, %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Envoie le mail avec la commande : %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "La commande retourne le statut %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "commande : %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "Pas assez de mémoire pour stocker les adresses IP exclues\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Pas assez de mémoire pour stocker les URL exclues\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Chargement du fichier des exclusions d'hôtes depuis : %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "Lors de la lecture de « %s »\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Chargement du fichier des exclusions depuis : %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Erreur lors du déplacement jusqu'à la fin du fichier « %s » : %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Impossible de déterminer la taille du fichier « %s » : %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Impossible de revenir au début du fichier « %s » : %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "malloc n'a pas réussi à allouer %ld octets\n" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "La valeur texte du paramètre « %s » est trop longue\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Guillemet manquant après le paramètre « %s »\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "Guillemet manquant après le paramètre « %s » ou sa valeur est plus longue " "que %d octets\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Le premier mot du paramètre « %s » est plus long que %d octets\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Le second mot du paramètre « %s » manque\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Le second mot du paramètre « %s » est plus long que %d octets\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "La valeur entière du paramètre « %s » est incorrecte\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Valeur « %s » inconnue pour le paramètre « %s »\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" "La valeur « %s » entre en conflit avec les autres valeurs sélectionnées pour " "le paramètre « %s »\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Critère de tri « %s » inconnu pour le paramètre « %s »\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Ordre de tri « %s » inconnu pour le paramètre « %s »\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: OPTION : %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "Valeur incorrecte dans le paramètre « date_format »\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Erreur : Syntaxe incorrecte pour l'option « hours » !\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Erreur : Syntaxe incorrecte pour l'option « weekdays » !\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "Trop de fichiers journaux dans le fichier de configuration\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" "Trop de fichiers journaux du redirecteur dans le fichier de configuration\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" "Le nom du fichier modèle est trop long pour le paramètre " "« AuthUserTemplateFile »\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" "Aucun graphique disponible car sarg n'a pas été compilé avec libgd. " "Configurez « graphs » à « no » dans %s pour désactiver cet avertissement\n" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "squidguard_log_format est abandonné et a été remplacé par " "redirector_log_format. Veuillez mettre à jour votre fichier de " "configuration.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "redirector_ignore_date est abandonné et a été remplacé par " "redirector_filter_out_date qui fait ce que son nom indique contrairement à " "redirector_ignore_date. Veuillez mettre à jour votre fichier de " "configuration.\n" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date est abandonné et a été remplacé par " "redirector_filter_out_date qui fait ce que son nom indique contrairement à " "squidguard_ignore_date. Veuillez mettre à jour votre fichier de " "configuration.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "dansguardian_ignore_date est abandonné et a été remplacé par " "dansguardian_filter_out_date qui fait ce que son nom indique contrairement à " "dansguardian_ignore_date. Veuillez mettre à jour votre fichier de " "configuration.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "Le paramètre « byte_cost » du fichier de configuration est incorrect\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: Option %s inconnue\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Lecture du fichier de configuration %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "erreur de ré-allocation mémoire (% octets nécessaires)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "iconv échoue en convertissant la chaîne « %s » de %s à UTF-8 : %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd n'a pas pu calculer la zone entourant le texte « %s » : %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd a échoué en dessinant le texte « %s » : %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "Le minimum pour l'axe Y du graphique est hors limites : %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "Le maximum pour l'axe Y du graphique est hors limites : %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Type %d inconnu pour l'échelle de l'axe Y\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" "La couleur « %s » pour le dessin du graphique est inconnue. On utilise " "l'orange à la place\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Utilisateur : %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "Nom d'utilisateur trop long pour créer le nom de fichier " #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Graphiques désactivés comme demandé dans « %s »\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" "Graphiques désactivés car aucun nom de police a été fourni dans « %s »\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "Fichier de police « %s » pas trouvé\n" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "iconv ne parvient pas à convertir de %s à UTF-8 : %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Mauvaise donnée dans le fichier « %s »\n" #: grepday.c:750 msgid "Graph report" msgstr "Rapport graphique" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "JOURS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Répertoire cible trop long : " #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Impossible de créer le répertoire « %s » : %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Mauvais volume téléchargé dans le fichier « %s »\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Mauvais code d'accès dans le fichier « %s »\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Mauvais volume trouvé dans la cache dans le fichier « %s »\n" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Mauvais volume manqué dans la cache dans le fichier « %s »\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Rapport par utilisateur" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Utilisateur" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Tri : %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "Rapport SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "DANS/HORS CACHE" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "Création du rapport %s\n" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Mauvaise colonne de volume dans la cache dans le fichier « %s »\n" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Mauvaise colonne de volume hors cache dans le fichier « %s »\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "Rapport journalier" #: html.c:327 msgid "DENIED" msgstr "INTERDIT" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Mauvaise adresse IP d'utilisateur dans le fichier « %s »\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Mauvais jour dans le fichier « %s »\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Mauvaise taille dans le fichier « %s »\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" "Limite dépassée pour l'utilisateur %s (%d Mo). Ajouté au fichier « %s »\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Création de index.html\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Impossible d'ouvrir le répertoire « %s » : %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Rapport SARG" msgstr[1] "Rapports SARG" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "ANNÉE" #: index.c:151 msgid "SIZE" msgstr "TAILLE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Trop de répertoires mensuels dans %s\n" "Les entrées en trop sont ignorées\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: rapport pour %04d" msgstr[1] "SARG: rapports pour %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "MOIS" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Impossible d'ouvrir le répertoire « %s » : %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Trop de répertoires journaliers dans %s\n" "Les entrées en trop sont ignorées\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG: rapport pour %04d/%02d" msgstr[1] "SARG: rapports pour %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Erreur d'écriture dans l'indexe %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "Le répertoire « %s%s » ressemble à un répertoire de rapport mais il ne " "contient pas de fichier sarg-date. Vous devriez le supprimer\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "pas assez de mémoire pour trier l'indexe\n" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Mauvais jour de la semaine dans le fichier « %s%s/sarg-date »\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Mauvais mois dans le fichier « %s%s/sarg-date »\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Mauvais jour dans le fichier « %s%s/sarg-date »\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Mauvaise heure dans le fichier « %s%s/sarg-date »\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Mauvaise année dans le fichier « %s%s/sarg-date »\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" "Pas assez de mémoire pour stocker le nom de répertoire « %s » dans l'indexe\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "FICHIER/PÉRIODE" #: index.c:432 msgid "CREATION DATE" msgstr "DATE DE CRÉATION" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "UTILISATEURS" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Impossible de renommer « %s » en « %s » : %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Impossible de créer le lien « %s » vers « %s » : %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Le nom du fichier à supprimer est trop long : %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "Module de résolution IP « %s » ajouté à la chaîne\n" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "Ignore le module « %s » en double pour résoudre les adresses IP\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "Module « %.*s » inconnu pour résoudre les adresses IP\n" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "Pas d'option à configurer pour le module %s\n" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" "Aucun module connu ne permet de résoudre les adresses IP en utilisant le " "DNS\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" "Pas assez de mémoire pour stocker les noms correspondants aux adresses IP\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Impossible de résoudre le nom d'hôte « %s » : %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "Structure trop courte retournée par getaddrinfo pour une adresse IPv4 : %d " "octets au lieu de %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "Structure trop courte retournée par getaddrinfo pour une adresse IPv6 : %d " "octets au lieu de %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" "Type d'adresse %d invalide retourné lors de la résolution du nom d'hôte " "« %s »\n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Mauvais champ dans l'adresse IP « %s »\n" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "La résolution d'adresse IP (getnameinfo) sur l'adresse IP « %s » a échoué " "avec l'erreur %d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" "La commande a exécuter pour résoudre les adresses IP est trop longue (le " "maximum est de %d octets)\n" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "Aucune commande fournie pour résoudre les adresses IP. Veuillez en " "configurer une dans sarg.conf\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "Adresse IP « %s » trop longue pour la commande à exécuter\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Adresse IP « %.*s » trop longue pour la commande à exécuter\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "Impossible d'exécuter la commande %s\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "La commande a échoué : %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Erreur de lecture de la date de création de « %s » : %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "Aucun anciens rapports à effacer car seulement %d rapport existe\n" msgstr[1] "" "Aucun anciens rapports à effacer car seulement %d rapports existent\n" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "%d répertoire de rapport trouvé\n" msgstr[1] "%d répertoires de rapports trouvés\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "%d ancien rapport à effacer\n" msgstr[1] "%d anciens rapports à effacer\n" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "Supprime l'ancien fichier de rapport « %s »\n" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "Trop de journaux passés sur la ligne de commande avec l'option %s.\n" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" "Nom trop long pour le fichier du journal passé sur la ligne de commande avec " "l'option %s : %s\n" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "La plage horaire passée en ligne de commande avec l'option -t doit être HH:" "MM\n" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "La plage horaire passée en ligne de commande avec l'option -t doit être HH:" "MM-HH:MM\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "L'option -%c exige un paramètre\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Trop de journaux passés sur la ligne de commande.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" "Nom trop long pour le fichier du journal passé sur la ligne de commande : " "%s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Démarrage\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" "Le répertoire de sortie « %s » doit être en dehors du répertoire temporaire " "« %s »\n" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Suppression du répertoire temporaire « %s »\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "Paramètres :\n" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Nom de l'hôte ou adresse IP (-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Journal des useragents (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Fichier d'exclusion (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Date de-à (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Adresse e-mail où envoyer les rapports (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " Fichier de configuration (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Format de date (-g) = Européen (jj/mm/aaaa)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Format de date (-g) = USA (mm/jj/aaaa)\n" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Format de date (-g) = Sites & Utilisateurs (aaaa/" "ss)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " Rapport IP (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Oui" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "Non" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Conserver les fichiers temporaires (-k) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " Journal (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Journal du redirecteur (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Résoudre les adresses IP (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Répertoire de destination (-o) = %s\n" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Utiliser l'adresse IP au lieu de l'ID utilisateur (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " Site accédé (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " Temps (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " Utilisateur (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Répertoire temporaire (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Messages de debug (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Messages de traitement (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Rapports précédents à garder (--lastlog) = %d\n" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "Version de SARG : %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" "Sarg est compilé pour signaler des avertissements si la sortie comporte des " "incohérences\n" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "erreur setrlimit : %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "Pas assez de mémoire pour lire un journal\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Lecture du journal des accès : depuis stdin\n" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" "La date de dernière modification du journal « %s » ne peut pas être " "déterminée : %s\n" "Il est tout de même traité\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignore l'ancien journal %s\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "Lecture du journal des accès : %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Enregistrements dans le fichier : %lu, lus : %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log produit par Microsoft ISA : %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "Le nom du fichier n'est pas valable : %s\n" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "Mauvais enregistrement dans la chaîne d'exclusion\n" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Mauvaise adresse IP du client dans le fichier « %s »\n" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Mauvais code de résultat dans le fichier « %s »\n" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Mauvaise quantité de données dans le fichier « %s »\n" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Mauvaise méthode de requête dans le fichier « %s »\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Erreur lors de la conversion d'une date du journal de squid\n" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Mauvais temps de téléchargement dans le fichier « %s »\n" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Mauvaise année dans le fichier « %s »\n" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Mauvais mois dans le fichier « %s »\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "Format du fichier d'entrée inconnu\n" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "ID utilisateur trop long : %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "Code exclu : %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "Site exclu : %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "Utilisateur exclu : %s\n" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "Pas assez de mémoire pour stocker l'utilisateur %s\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Erreur d'écriture dans le fichier journal de l'utilisateur %s\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " Enregistrements lus : %ld, écrits : %ld, exclus : %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" "Le journal contient des enregistrements de plusieurs formats (squid et " "« common log »)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "Format « common » du journal\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "Format Squid du journal\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "Format de journal de Sarg\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "Le format du journal n'est pas valable\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "Aucun enregistrement trouvé\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Fin\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Période couverte par les journaux : %s-%s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" "La représentation textuelle de la plage des dates n'a pas pu être créée\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "date=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "période=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Journal analysé par Sarg sauvegardé sous %s\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Temps total d'exécution : %.0lf secondes\n" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "Lignes lues : %lu lignes en %.0lf secondes (%.0lf lignes/s)\n" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" "Enregistrements traités : %lu enregistrements en %.0lf secondes (%.0lf " "enregistrements/s)\n" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" "Utilisateurs : %lu utilisateurs en %.0lf secondes (%.0lf utilisateurs/s)\n" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "Chargement des mots de passe depuis %s\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" "Une ligne de texte est plus longue que %d octets ce qui signifie que le " "fichier est corrompu\n" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Pas assez de mémoire pour lire une ligne de plus dans le fichier\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" "Impossible de créer un fichier temporaire pour produire le rapport : %s\n" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "erreur de mkstemp : %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "Pas assez de mémoire pour lire le journal\n" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Impossible de lire les %d dernières lignes de « %s » : %s\n" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "La commande « tail » a échoué : %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "Mauvaise donnée retournée par %s\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "L'horodatage à la colonne 1 est trop long\n" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "La partie décimale de l'horodatage à la colonne 1 est trop long\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "La durée de connexion à la colonne 2 est trop longue\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "L'adresse IP à la colonne 3 est trop longue\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "Le statut à la colonne 4 est trop long\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "La taille à la colonne 5 est trop longue\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "L'action à la colonne 6 est trop longue\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "L'URL à la colonne 7 est trop longue\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "Le ID utilisateur à la colonne 8 est trop long\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "La data à la colonne 8 es trop longue\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "Le nom d'utilisateur à la colonne 9 est trop long\n" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "Mauvaise colonne de temps dans le fichier %s\n" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Mauvais type d'accès dans le fichier « %s »\n" #: realtime.c:314 msgid "Realtime" msgstr "Temps réel" #: realtime.c:315 msgid "Auto refresh" msgstr "Actualisation automatique" #: realtime.c:316 msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" "Option « redirector_log_format » invalide dans votre sarg.conf (trop de " "caractères avant la première étiquette)\n" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" "Option « redirector_log_format » invalide dans votre sarg.conf (# manquant à " "la fin de l'étiquette)\n" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" "Option « redirector_log_format » invalide dans votre sarg.conf (trop de " "caractères dans le séparateur de colonne)\n" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" "L'analyse de l'étiquette « %s » dans le journal du redirecteur « %s » n'a " "renvoyé aucun résultat\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "" "La chaîne de caractères contenant l'heure est trop longue dans le journal du " "redirecteur %s\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" "Le nom de la liste bannie est trop long dans le journal du redirecteur %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" "Le nom de la liste bannie est trop long dans le journal du redirecteur %s\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "L'adresse IP est trop longue dans le journal du redirecteur %s\n" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "" "Le ID utilisateur est trop long dans le journal du redirecteur « %s »\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "Mauvaise source redirigée dans le fichier %s\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Mauvaise liste de redirection dans le fichier « %s »\n" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Mauvaise adresse IP source dans le fichier « %s »\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Lecture du journal du redirecteur « %s »\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" "Pas assez de mémoire pour stocker le nom du nouveau fichier du redirecteur à " "lire - %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "Aucun journal du redirecteur fourni pour produire ce type de rapport\n" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Impossible d'ouvrir le fichier de configuration de squidGuard : %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "%d entrée du redirecteur non affichée…" msgstr[1] "%d entrées du redirecteur non affichées…" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "Rapport du redirecteur pas créé car il est vide\n" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "Rapport des redirections" #: redirector.c:478 msgid "RULE" msgstr "RÈGLE" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Mauvais utilisateur trouvé dans le fichier « %s »\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" "%d erreur rencontrée dans le journal. Certaines informations pourraient être " "manquantes." msgstr[1] "" "%d erreurs rencontrées dans le journal. Certaines informations pourraient " "être manquantes." #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "Trop de dates différentes dans « %s »\n" #: repday.c:127 msgid "Day report" msgstr "Rapport journalier" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "%02dH" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" "Le nombre total d'octets téléchargés est de % au lieu de % " "dans le rapport horaire de l'utilisateur %s\n" #: repday.c:194 msgid "H:M:S" msgstr "H:M:S" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" "Le temps total consommé est de % au lieu de % dans le " "rapport horaire de l'utilisateur %s\n" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" "Le répertoire de sortie contenant la période dans son nom n'a pas pu être " "créé\n" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "Nom du répertoire de sortie du rapport=%s\n" #: report.c:258 msgid "Site access report" msgstr "Rapport des sites visités" #: report.c:268 msgid "DATE" msgstr "DATE" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" "Rapport dansguardian pas produit car aucun fichier de configuration de " "dansguardian n'a été fourni\n" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "Rapport des fichiers téléchargés pas demandé dans report_type\n" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "Rapport des sites principaux pas demandé dans report_type\n" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "Rapport des sites et utilisateurs pas demandé dans report_type\n" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "Rapport des accès interdits pas demandé dans report_type\n" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "Rapport des échecs d'authentification pas demandé dans report_type\n" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "Rapport détaillé des utilisateurs pas demandé dans report_type\n" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "Rapport généré sans erreur sur %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapport généré sans erreur et envoyé à %s\n" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "Création du fichier %s/%s\n" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Erreur lors de l'écriture d'une ligne dans « %s »\n" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Erreur à l'écriture de la ligne du total dans « %s »\n" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Nombre total d'accès incorrect dans le fichier « %s »\n" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Taille totale incorrecte dans « %s »\n" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Temps total écoulé incorrect dans « %s »\n" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Quantité totale de cache atteinte incorrecte dans « %s »\n" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Quantité totale de cache ratée incorrecte dans « %s »\n" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Nom d'utilisateur trop long ou pas valable dans « %s »\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "URL trop longue ou incorrecte dans « %s »\n" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Adresse IP trop longue ou incorrecte dans « %s »\n" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "Temps trop long ou incorrect dans « %s »\n" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "Date trop longue ou incorrecte dans « %s »\n" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Taille de cache atteinte incorrecte dans « %s »\n" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Taille de cache ratée incorrecte dans « %s »\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" "Rapport des sites et des utilisateurs pas produit car l'option « privacy » " "est active\n" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Sites & Utilisateurs" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "impossible de préparer la commande de tri pour trier le fichier %s\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "SMARTFILTER" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "Généré par %s le %s" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Tri du fichier %s/%s.user_unsort\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "Le nom d'utilisateur est trop long pour trier avec la commande " #: sort.c:163 topuser.c:171 msgid "connect" msgstr "connexion" #: sort.c:165 msgid "site" msgstr "site" #: sort.c:167 topuser.c:174 msgid "time" msgstr "temps" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "octets" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "inversé" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" "Rapport des sites principaux pas produit car l'option « privacy » est " "active\n" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" "Désaccord dans les statistiques totales lors de la lecture de %s pour " "produire la liste des sites les plus visités\n" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Sites les plus visités" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "%d sites les plus visités" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Nombre d'utilisateurs incorrect dans le fichier « %s »\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" "Désaccord dans les statistiques totales lors de la lecture de %s pour " "produire la liste des utilisateurs les plus actifs\n" #: topuser.c:168 msgid "user" msgstr "utilisateur" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "Rapport SARG pour %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Tri : %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Utilisateurs les plus actifs" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Table des matières" #: topuser.c:239 msgid "Redirector" msgstr "Redirecteur" #: topuser.c:241 msgid "Denied accesses" msgstr "Accès interdits" #: topuser.c:244 msgid "Useragent" msgstr "Useragent" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" "Rapport des utilisateurs les plus actifs pas demandé dans report_type\n" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Taille de cache atteinte incorrecte dans le fichier « %s »\n" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Taille de cache ratée incorrecte dans le fichier « %s »\n" #: topuser.c:353 msgid "Graphic" msgstr "Graphiques" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "Le total des volumes dans et hors cache n'est pas 100%% à la position %d " "(utilisateur %s)\n" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "Le total des volumes dans et hors cache n'est pas 100%%\n" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Erreur d'écriture dans la liste des utilisateurs les plus actifs %s\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Pas assez de mémoire pour stocker les statistiques journalières\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "Date « %s » pas valable dans les statistiques horaires\n" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" "Erreur dans une composante de la date « %s » des statistiques horaires\n" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "Heure %d invalide pour les statistiques horaires\n" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Trop de dates différentes pour les statistiques horaires\n" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Index journalier invalide dans les statistiques horaires\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "L'alias pour le nom d'hôte « %s*%s » contient trop de jokers (*)\n" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" "L'alias pour le nom d'hôte « %*s » ne peut pas être terminé par un joker\n" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" "Pas assez de mémoire pour stocker les directives de remplacement des noms " "d'hôtes\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Caractère NUL invalide trouvé dans l'expression régulière\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Expression régulière non terminée\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Erreur lors de la compilation de l'expression régulière « %s » : %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" "La librairie PCRE n'a pas été compilée. Par conséquent les expressions " "régulières ne sont pas disponibles dans le fichier de remplacement des noms " "d'hôtes\n" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Lecture du fichier de remplacement des noms d'hôtes « %s »\n" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "" "Impossible de lire le fichier de remplacement des noms d'hôtes « %s » : %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "Liste des noms d'hôtes à remplacer :\n" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr " %s*%s ⇒ %s\n" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr " %s ⇒ %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr " *%s ⇒ %s\n" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr " %d.%d.%d.%d/%d ⇒ %s\n" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr " %x:%x:%x:%x:%x:%x:%x:%x/%d ⇒ %s\n" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "Usage : %s [options...]\n" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr "" " -a NOM|IP Créer le rapport pour le nom de l'hôte ou l'adresse IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr " -c FICHIER Exclure du rapport les hôtes connectés" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" " --convert Convertir les dates du journal access.log dans un format " "lisible" #: usage.c:37 msgid " --css Output the internal CSS" msgstr " --css Afficher le CSS interne" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" " -d DATE Dates à inclure dans le rapport : de-à jj/mm/aaaa-jj/mm/" "aaaa" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e MAIL Adresse e-mail où envoyer les rapports (stdout pour la " "console)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" " -f FICHIER Fichier de configuration (%s/sarg.conf par défaut)\n" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" " -g FMT Format de date [e=Européen → jj/mm/aaaa, u=USA → mm/jj/" "aaaa]" #: usage.c:42 msgid " -h This help" msgstr " -h Afficher l'aide-mémoire" #: usage.c:43 msgid " --help This help" msgstr " --help Afficher l'aide-mémoire" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Rapport par utilisateurs et par adresses IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr " --keeplogs Conserver tous les rapports précédents" #: usage.c:46 msgid " -l FILE Input log" msgstr " -l FICHIER Journal d'entrée" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr " --lastlog Nombre de rapports précédents à conserver" #: usage.c:48 msgid " -m Advanced process messages" msgstr " -m Messages avancés du traitement" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n Résoudre les adresses IP en utilisant le RDNS" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o RÉP Répertoire où écrire le rapport" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" " -p Utiliser l'adresse IP au lieu de l'identifiant " "utilisateur" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr " -P PRÉFIXE Préfixer les noms des fichiers scindés" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s SITE Limiter le rapport au site visité (par ex. www.microsoft." "com)" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr "" " --split Extraire du journal les dates passées au paramètre -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr " --splitprefix PRÉFIXE Préfixer les noms des fichiers scindés" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr " --statistics Afficher les statistiques d'exécution" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" " -t HEURE Limiter le rapport aux heures [HH:MM ou HH:MM-HH:MM]" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u UTIL Rapporter uniquement l'activité de cet utilisateur" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w RÉP Répertoire temporaire" #: usage.c:61 msgid " -x Debug messages" msgstr " -x Messages de débogage" #: usage.c:62 msgid " -z Process messages" msgstr " -z Messages du processus" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Lecture du journal des useragents « %s »\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Mauvais nom de navigateur dans le fichier « %s »\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Enregistrements lus : %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "Création du rapport des « Useragents »\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Rapport des useragents de Squid" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "Pas assez de mémoire pour stocker l'utilisateur\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "Impossible de lire « %s » : pas assez de mémoire\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "La liste des utilisateurs est trop longue dans le fichier « %s »\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "Impossible de préparer l'URI du serveur LDAP %s sur le port %d\n" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" "Impossible de se connecter au serveur LDAP %s sur le port %d : %d (%s)\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "LDAP_OPT_REFERRALS n'a pas pu être désactivé\n" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "La version %d du protocole LDAP n'a pas pu être sélectionnée\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "Impossible de se lier au serveur LDAP : %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "La recherche LDAP a échoué : %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "recherche de « %s » à ou en dessous de « %s »\n" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "Chargement de la table des utilisateurs depuis le serveur LDAP\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "Le module LDAP n'est pas compilé dans sarg\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Chargement de la table des utilisateurs : %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "getword backtrace :\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "La ligne ne peut pas être traitée à nouveau car elle a été modifiée\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "Bouclage détecté dans %s après %d octets.\n" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "Ligne=« %s »\n" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "Enregistrement=« %s »\n" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "en cherchant après « x%x »\n" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Débordement de nombre entier détecté dans %s à la ligne « %s »\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Tampon inacceptable passé à getword_ptr\n" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" "Chemin erroné « %s ». Veuillez utiliser des chemins absolus uniquement.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" "Le nombre de chiffres demandés à my_lltoa (%d) est plus grand que la taille " "du tampon de sortie (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre," "Décembre" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" "La liste interne des noms de mois n'est pas valable. Veuillez signaler cette " "erreur au traducteur.\n" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Erreur de lecture de la date dans « %s »\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Erreur de lecture du nombre d'utilisateurs dans « %s »\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "Le nom d'utilisateur est trop long pour %s/%s/%s\n" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Impossible d'obtenir les « stat » de « %s » : %s\n" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Erreur de copie de l'image « %s » vers « %s »\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Le fichier « %s » existe déjà, déplacé vers « %s »\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Erreur d'écriture de la date dans « %s »\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" "Tampon inacceptable passé à la fonction qui copie une chaîne en toute " "sécurité\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" "La date passée comme paramètre n'est pas au format jj/mm/aaaa ou jj/mm/aaaa-" "jj/mm/aaaa\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "La plage de dates passée comme paramètre n'est pas au format jj/mm/aaaa ou " "jj/mm/aaaa-jj/mm/aaaa\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "Erreur de lecture de la date actuelle\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Nombre de jours incorrects dans le paramètre -d\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Impossible de convertir l'heure locale : %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Nombre de semaines incorrectes dans le paramètre -d\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Nombre de mois incorrects dans le paramètre -d\n" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Plage de date incorrecte passée en ligne de commande\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Purge le fichier temporaire sarg-general\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "Trop de codes à exclure dans le fichier « %s »\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" "Impossible de déterminer l'espace disque car le chemin « %s%s » est trop " "long\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Impossible de déterminer l'espace disque avec la commande %s\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Impossible de déterminer l'espace disque avec la commande %s\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" "La commande pour calculer l'espace occupé sur le disque (%s) a retourné la " "chaîne de caractères inconnue %s\n" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" "\n" "Pour que la traduction fonctionne, un fichier de message valide doit être " "installé sous le nom « %s//LC_MESSAGES/%s.mo » où est " "dérivée de l'environnement linguistique effectif.\n" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "L'environnement linguistique actuellement actif est « %s ».\n" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" "L'environnement linguistique n'est pas défini dans les variables " "d'environnement.\n" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" "Si vous lisez ce message, cela signifie que votre langue est correctement " "installée et prise en compte.\n" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "Type de chemin « %s » inconnu\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" "Fichier « %s » inconnu trouvé dans le répertoire temporaire « %s ». Ce n'est " "pas un de nos fichiers. Vérifiez le répertoire temporaire que vous avez " "indiqué à sarg. Ajustez le chemin vers un répertoire sûr ou effacez " "manuellement le contenu de « %s »\n" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" "Type de chemin inconnu pour « %s ». Vérifiez votre répertoire temporaire\n" #~ msgid "Log file name too long passed on command line with opton %s: %s\n" #~ msgstr "" #~ "Nom trop long pour le fichier du journal passé sur la ligne de commande " #~ "avec l'option %s : %s\n" #~ msgid "File name too long: %s/%s/.htaccess\n" #~ msgstr "Le nom du fichier est trop long : %s/%s/.htaccess\n" #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "(auth) Impossible d'ouvrir le fichier : %s - %s\n" #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "(auth) Impossible d'ouvrir le fichier de modèle : %s - %s\n" #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "(authfail) Impossible d'ouvrir le fichier %s\n" #~ msgid "There is a broken date in file %s\n" #~ msgstr "Il y a une date endommagée dans le fichier %s\n" #~ msgid "There is a broken time in file %s\n" #~ msgstr "Il y a un temps endommagé dans le fichier %s\n" #~ msgid "There is a broken user ID in file %s\n" #~ msgstr "Il y a un ID utilisateur endommagé dans le fichier %s\n" #~ msgid "There is a broken IP address in file %s\n" #~ msgstr "Il y a une adresse IP endommagée dans le fichier %s\n" #~ msgid "There is a broken url in file %s\n" #~ msgstr "Il y a une URL endommagée dans le fichier %s\n" #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "(convlog) Impossible d'ouvrir le journal %s - %s\n" #~ msgid "Not enough memory to read the log file %s\n" #~ msgstr "Pas assez de mémoire pour lire le journal %s\n" #~ msgid "Maybe you have a broken record or garbage in file %s\n" #~ msgstr "" #~ "Vous avez probablement un enregistrement erroné ou inattendu dans le " #~ "fichier %s\n" #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "" #~ "Impossible d'ouvrir le fichier de configuration de DansGuardian : %s\n" #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "(dansguardian) Impossible d'ouvrir le fichier journal : %s\n" #~ msgid "Maybe you have a broken record or garbage in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un enregistrement erroné ou inattendu dans votre " #~ "fichier %s\n" #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Mauvaise date dans le fichier log de dansguardian %s\n" #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Mauvaise heure dans le fichier log de dansguardian %s\n" #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Utilisateur incorrect dans le fichier log de dansguardian %s\n" #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Mauvaise adresse IP dans le fichier log de dansguardian %s\n" #~ msgid "Maybe you have a broken url in your %s file\n" #~ msgstr "Vous avez probablement une URL endommagée dans votre fichier %s\n" #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "(dansguardian_report) Impossible d'ouvrir le fichier journal %s\n" #~ msgid "Maybe you have a broken rule in your %s file\n" #~ msgstr "Vous avez probablement une règle endommagée dans votre fichier %s\n" #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "(datafile) répertoire trop long : %s/%s.user_log\n" #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "(datafile) Impossible d'ouvrir le fichier %s\n" #~ msgid "Not enough memory to read the downloaded files.\n" #~ msgstr "Pas assez de mémoire pour lire les fichiers téléchargés\n" #~ msgid "There is a broken record or garbage in file %s\n" #~ msgstr "Il y a un enregistrement erroné ou inattendu dans le fichier %s\n" #~ msgid "There is an invalid smart info in file %s\n" #~ msgstr "Il y a une donnée smart endommagée dans le fichier %s\n" #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Décompression du journal « %s » avec bzcat\n" #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "(denied) Impossible d'ouvrir le journal %s\n" #~ msgid "Not enough memory to read the denied accesses\n" #~ msgstr "Pas assez de mémoire pour lire les accès refusés\n" #~ msgid "Path too long to sort the file: %s/download.int_unsort\n" #~ msgstr "" #~ "Répertoire trop long pour trier le fichier : %s/download.int_unsort\n" #~ msgid "Path too long for %s/download.int_unsort\n" #~ msgstr "Le chemin est trop long pour %s/download.int_unsort\n" #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "(download) Impossible d'ouvrir le journal %s\n" #~ msgid "Not enough memory to read the downloaded files\n" #~ msgstr "Pas assez de mémoire pour lire les fichiers téléchargés\n" #~ msgid "(email) Cannot open file %s\n" #~ msgstr "(email) Impossible d'ouvrir le fichier %s\n" #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "" #~ "La commande de tri est trop longue pour trier le fichier « %s » vers " #~ "« %s »\n" #~ msgid "There is an invalid user ID in file %s\n" #~ msgstr "Il y a un ID utilisateur endommagé dans le fichier %s\n" #~ msgid "There is an invalid number of bytes in file %s\n" #~ msgstr "Il y a un nombre d'octets endommagé dans le fichier %s\n" #~ msgid "There is an invalid number of access in file %s\n" #~ msgstr "Il y a un nombre d'accès endommagé dans le fichier %s\n" #~ msgid "There is an invalid elapsed time in file %s\n" #~ msgstr "Il y a un temps écoulé endommagé dans le fichier %s\n" #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Impossible d'ouvrir le fichier exclude_hosts : %s - %s\n" #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "(gethexclude) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "" #~ "La fin du fichier d'exclusion des utilisateurs (%s) ne peut pas être " #~ "atteinte: %s\n" #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "" #~ "Erreur lors du retour au début du fichier des utilisateurs exclus %s: %s\n" #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "erreur d'allocation mémoire (%ld octets nécessaires)\n" #~ msgid "" #~ "Maybe you have a broken record or garbage in \"date_format\" parameter\n" #~ msgstr "" #~ "Vous avez probablement un enregistrement erroné ou inattendu dans le " #~ "paramètre « date_format »\n" #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "(getconf) Impossible d'ouvrir le fichier %s\n" #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "(grepday) Impossible d'ouvrir le journal %s\n" #~ msgid "user name too long for %s/%s.day\n" #~ msgstr "Le nom d'utilisateur est trop long pour %s/%s.day\n" #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "(grepday) Impossible d'ouvrir le fichier de sortie %s\n" #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "Nom du fichier trop long : %s/sargtmp.int_unsort\n" #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "Nom du fichier trop long : %s/sargtmp.int_log\n" #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "Le nom du fichier d'entrée est trop long : %s/htmlrel.txt\n" #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "(html3) Impossible d'ouvrir le fichier %s\n" #~ msgid "Output file name too long: %s/%s/%s.html\n" #~ msgstr "Le nom du fichier de sortie est trop long : %s/%s/%s.html\n" #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "Le nom du fichier est trop long : %s/denied_%s.html\n" #~ msgid "There is a broken number of access in file %s\n" #~ msgstr "Il y a un nombre d'accès endommagé dans le fichier %s\n" #~ msgid "There is a broken downloaded size in file %s\n" #~ msgstr "Il y a un volume de téléchargement endommagé dans le fichier %s\n" #~ msgid "There is a broken access code in file %s\n" #~ msgstr "Il y a un code d'accès endommagé dans le fichier %s\n" #~ msgid "There is a broken elapsed time in file %s\n" #~ msgstr "Il y a un temps écoulé endommagé dans le fichier %s\n" #~ msgid "There is a broken in-cache volume in file %s\n" #~ msgstr "Il y a un volume de cache atteint endommagé dans le fichier %s\n" #~ msgid "There is a broken out-cache volume in file %s\n" #~ msgstr "Il y a un volume de cache raté endommagé dans le fichier %s\n" #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "(html5) Impossible d'ouvrir le fichier %s\n" #~ msgid "There is a broken number of bytes in file %s\n" #~ msgstr "Il y a un nombre d'octets endommagé dans le fichier %s\n" #~ msgid "There is a broken in cache column in file %s\n" #~ msgstr "Il y a un volume de cache atteint endommagé dans le fichier %s\n" #~ msgid "There is a broken out of cache column in file %s (%d)\n" #~ msgstr "Il y a un volume de cache raté endommagé dans le fichier %s (%d)\n" #~ msgid "File name too long: %s/%s.ip\n" #~ msgstr "Le nom du fichier est trop long : %s/%s.ip\n" #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "(html6) Impossible d'ouvrir le fichier %s\n" #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "(html7) Impossible d'ouvrir le fichier %s\n" #~ msgid "Maybe you have a broken user IP in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une adresse IP d'utilisateur endommagée dans votre " #~ "fichier %s\n" #~ msgid "Maybe you have a broken day in your %s file\n" #~ msgstr "Vous avez probablement un jour endommagé dans votre fichier %s\n" #~ msgid "Maybe you have a broken time in your %s file\n" #~ msgstr "Vous avez probablement un temps endommagé dans votre fichier %s\n" #~ msgid "Maybe you have a broken size in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une taille endommagée dans votre fichier %s\n" #~ msgid "Maybe you have a broken elapsed time in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un temps écoulé endommagé dans votre fichier %s\n" #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "(html8) Impossible d'ouvrir le fichier %s\n" #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "(html9) Impossible d'ouvrir le fichier %s\n" #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "(html10) Impossible d'ouvrir le fichier %s\n" #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "(index) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Erreur à la fermeture du fichier d'index %s - %s\n" #~ msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" #~ msgstr "" #~ "Vous avez probablement une jour de la semaine endommagé dans votre " #~ "fichier %s%s/sarg-date\n" #~ msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" #~ msgstr "" #~ "Vous avez probablement un mois endommagé dans votre fichier %s%s/sarg-" #~ "date\n" #~ msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" #~ msgstr "" #~ "Vous avez probablement un jour endommagé dans votre fichier %s%s/sarg-" #~ "date\n" #~ msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" #~ msgstr "" #~ "Vous avez probablement un temps endommagé dans votre fichier %s%s/sarg-" #~ "date\n" #~ msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" #~ msgstr "" #~ "Vous avez probablement une année endommagée dans votre fichier %s%s/sarg-" #~ "date\n" #~ msgid "(index) Cannot open file %s\n" #~ msgstr "(index) Impossible d'ouvrir le fichier %s\n" #~ msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" #~ msgstr "(index) impossible de renommer « %s » en « %s » - %s\n" #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "Le nom du fichier est trop long : %s/lastlog1\n" #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "(lastlog) Impossible d'ouvrir le fichier temporaire %s\n" #~ msgid "Directory name too long: %s%s\n" #~ msgstr "Nom de répertoire trop long : %s%s\n" #~ msgid "Too many redirector logs passed on command line with option -L.\n" #~ msgstr "" #~ "Trop de journaux de redirections passés sur la ligne de commande avec " #~ "l'option -L.\n" #~ msgid "" #~ "Redirector log file name too long passed on command line with opton -L: " #~ "%s\n" #~ msgstr "" #~ "Nom trop long pour le fichier du journal du redirecteur passé sur la " #~ "ligne de commande avec l'option -L: %s\n" #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Impossible d'ouvrir le fichier de configuration : %s - %s\n" #~ msgid "sarg version: %s\n" #~ msgstr "version de sarg : %s\n" #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "(log) Impossible d'ouvrir le fichier : %s - %s\n" #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "(log) Impossible d'ouvrir le fichier : %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%" #~ msgstr "SARG: Enregistrements dans le fichier : %lu, lus : %3.2f%%" #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "Le nom du fichier est trop long : %s/sarg_temp.log\n" #~ msgid "Maybe you have a broken record or garbage in your exclusion string\n" #~ msgstr "" #~ "Vous avez probablement un enregistrement erroné ou inattendu dans votre " #~ "chaîne d'exclusion\n" #~ msgid "Maybe you have a broken time in your access.log file\n" #~ msgstr "" #~ "Vous avez probablement un temps endommagé dans votre fichier access.log\n" #~ msgid "Maybe you have a broken date in your %s file\n" #~ msgstr "Vous avez probablement une date endommagée dans votre fichier %s\n" #~ msgid "Invalid time found in %s\n" #~ msgstr "Mauvais temps dans le fichier %s\n" #~ msgid "Maybe you have a broken client IP address in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une adresse IP endommagée dans votre fichier %s\n" #~ msgid "Maybe you have a broken result code in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un code de résultat endommagé dans votre fichier " #~ "%s\n" #~ msgid "Maybe you have a broken amount of data in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une quantité de données endommagée dans votre " #~ "fichier %s\n" #~ msgid "Maybe you have a broken request method in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une méthode de requête endommagée dans votre " #~ "fichier %s\n" #~ msgid "Maybe you have a broken user ID in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un ID utilisateur endommagé dans votre fichier %s\n" #~ msgid "Maybe you have a broken IP in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une adresse IP endommagée dans votre fichier %s\n" #~ msgid "Maybe you have a broken download duration in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une durée de téléchargement endommagée dans votre " #~ "fichier %s\n" #~ msgid "Maybe you have a broken download size in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une taille de téléchargement endommagée dans votre " #~ "fichier %s\n" #~ msgid "Maybe you have a broken access code in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un code d'accès endommagé dans votre fichier %s\n" #~ msgid "Maybe you have a broken year in your %s file\n" #~ msgstr "Vous avez probablement une année endommagée dans votre fichier %s\n" #~ msgid "Maybe you have a broken month in your %s file\n" #~ msgstr "Vous avez probablement un mois endommagé dans votre fichier %s\n" #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Erreur à la fermeture du journal de l'utilisateur %s - %s\n" #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "" #~ "Nom de fichier utilisateur temporaire trop long : %s/%s.user_unsort\n" #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "(log) Impossible d'ouvrir le fichier temporaire : %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" #~ msgstr "SARG: Enregistrements dans le fichier : %lu, lus : %3.2f%%\n" #~ msgid "Period: %s\n" #~ msgstr "Période : %s\n" #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "Le nom du fichier est trop long : %s/sarg-%s_%s-%s_%s.log\n" #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "(getusers) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "malloc error (%ld)\n" #~ msgstr "erreur d'allocation mémoire (%ld)\n" #~ msgid "You have an invalid user in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un utilisateur incorrect dans votre fichier %s\n" #~ msgid "Maybe a broken record or garbage was returned by %s\n" #~ msgstr "" #~ "Un enregistrement erroné ou inattendu a probablement été renvoyé par %s\n" #~ msgid "(realtime) open error %s - %s\n" #~ msgstr "(realtime) impossible d'ouvrir %s - %s\n" #~ msgid "Invalid URL in file %s\n" #~ msgstr "Mauvaise URL dans le fichier %s\n" #~ msgid "Invalid time found in file %s\n" #~ msgstr "Mauvais temps dans le fichier %s\n" #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "(squidguard) Impossible d'ouvrir le fichier %s\n" #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Pas assez de mémoire pour lire le journal du redirecteur\n" #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "" #~ "Pas assez de mémoire pour lire le fichier intermédiaire du journal du " #~ "redirecteur\n" #~ msgid "Output file name too long: %s/%s/d%s.html\n" #~ msgstr "Le nom du fichier de sortie est trop long : %s/%s/d%s.html\n" #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "(repday) Impossible d'ouvrir le journal %s\n" #~ msgid "outdirname=%s\n" #~ msgstr "outdirname=%s\n" #~ msgid "(report) Cannot open file %s\n" #~ msgstr "(report) Impossible d'ouvrir le fichier %s\n" #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "(report) entrée du répertoire trop longue : %s/%s.user_log\n" #~ msgid "There is a broken smart info in file %s\n" #~ msgstr "Il y a une information « smart » endommagée dans le fichier %s\n" #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "" #~ "Erreur à la fermeture du fichier temporaire de l'utilisateur %s - %s\n" #~ msgid "Temporary file name too long: %s/%s.utmp\n" #~ msgstr "Le nom du fichier temporaire est trop long : %s/%s.utmp\n" #~ msgid "Invalid number of bytes in %s\n" #~ msgstr "Nombre d'octets incorrect dans %s\n" #~ msgid "Invalid elapsed time in %s\n" #~ msgstr "Temps écoulé incorrect dans %s\n" #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "Nom de fichier trop long pour %s/smartfilter.int_unsort\n" #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "(siteuser) Impossible d'ouvrir le fichier %s\n" #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "Nom de fichier trop long : %s/smartfilter.int_unsort\n" #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "Le nom du fichier est trop long : %s/sarg-sites\n" #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "Le nom du fichier est trop long : %s/smartfilter.int_log\n" #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "Le nom du fichier est trop long : %s/smartfilter.html\n" #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "(smartfilter) Impossible d'ouvrir le fichier %s\n" #~ msgid "on" #~ msgstr "le" #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "(smartfilter) Impossible d'ouvrir le fichier %s\n" #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "Le nom du fichier est trop long : %s/%s.utmp\n" #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "Le nom du fichier est trop long : %s/htmlrel.txt\n" #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "le nom d'utilisateur est trop long pour %s/%s.user_unsort\n" #~ msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" #~ msgstr "(splitlog) Répertoire de sortie est trop long : %s%s-YYYY-mm-dd\n" #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "(splitlog) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "(splitlog) Impossible d'ouvrir le fichier de sortie %s - %s\n" #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "(topsites) Impossible d'ouvrir le journal %s\n" #~ msgid "The number of users is invalid in file %s\n" #~ msgstr "Le nombre d'utilisateurs n'est pas valable dans le fichier %s\n" #~ msgid "The url is invalid in file %s\n" #~ msgstr "L'URL n'est pas valable dans le fichier %s\n" #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "(topuser) Impossible d'ouvrir le fichier %s\n" #~ msgid "Not enough memory to read the file %s\n" #~ msgstr "Pas assez de mémoire pour lire le fichier %s\n" #~ msgid "There is a broken user in file %s\n" #~ msgstr "Il y a un nom d'utilisateur endommagé dans le fichier %s\n" #~ msgid "There is a broken elpased time in file %s\n" #~ msgstr "Il y a un temps écoulé endommagé dans le fichier %s\n" #~ msgid "There is a broken in-cache size in file %s\n" #~ msgstr "Il y a un volume de cache atteinte endommagé dans le fichier %s\n" #~ msgid "There is a broken out-of-cache size in file %s\n" #~ msgstr "Il y a un volume de cache ratée endommagé dans le fichier %s\n" #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "" #~ "Échec à la fermeture de la liste des utilisateurs les plus actifs %s - " #~ "%s\n" #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "Le nom du fichier est trop long : %s/%s%s\n" #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "(totday) Impossible d'ouvrir le journal %s\n" #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Pas assez de mémoire pour lire les alias des noms d'hôtes\n" #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "(useragent) Impossible d'ouvrir le fichier %s\n" #~ msgid "Maybe you have a broken useragent entry in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un useragent endommagé dans votre fichier %s\n" #~ msgid "There is an invalid IP address in file %s\n" #~ msgstr "Il y a une adresse IP endommagée dans le fichier %s\n" #~ msgid "There is an invalid useragent in file %s\n" #~ msgstr "Il y a un useragent endommagé dans le fichier %s\n" #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "(usertab) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "La fin du fichier usertab (%s) ne peut pas être atteinte : %s\n" #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Impossible de revenir au début du fichier usertab %s : %s\n" #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "ERREUR: Chargement impossible. Erreur mémoire\n" #~ msgid "getword_multisep loop detected.\n" #~ msgstr "bouclage détecté dans getword_multisep.\n" #~ msgid "getword_skip loop detected after %d bytes.\n" #~ msgstr "bouclage détecté dans getword_skip après %d octets.\n" #~ msgid "Integer overflow detected in getword_atoll in line %s\n" #~ msgstr "" #~ "Débordement de nombre entier détecté dans getword_atoll à la ligne %s\n" #~ msgid "getword_atoll loop detected after %d bytes.\n" #~ msgstr "bouclage détecté dans getword_atoll après %d octets.\n" #~ msgid "getword_atoi loop detected after %d bytes.\n" #~ msgstr "bouclage détecté dans getword_atoi après %d octets.\n" #~ msgid "directory name too long: %s\n" #~ msgstr "Nom de répertoire trop long : %s\n" #~ msgid "There is a invalid user in file %s\n" #~ msgstr "Il y a un nom d'utilisateur endommagé dans le fichier %s\n" #~ msgid "There a broken total number of access in file %s\n" #~ msgstr "Il y a un nombre d'accès total endommagé dans le fichier %s\n" #~ msgid "Cannot copy images to target directory %simages\n" #~ msgstr "Échec lors de la copie des images vers le répertoire %simages\n" #~ msgid "Cannot open file" #~ msgstr "Impossible d'ouvrir le fichier" #~ msgid "cannot open %s for writing\n" #~ msgstr "Impossible d'ouvrir le fichier %s en écriture\n" #~ msgid "(removetmp) directory too long to remove %s/sarg-period\n" #~ msgstr "(removetmp) répertoire trop long pour supprimer %s/sarg-period\n" #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "(removetmp) Impossible d'ouvrir le fichier %s\n" #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "" #~ "Échec à la fermeture de %s après l'écriture du nombre total de lignes - " #~ "%s\n" #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "(util) Impossible d'ouvrir le fichier %s (exclude_codes)\n" #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "" #~ "La fin du fichier d'exclusion des codes (%s) ne peut pas être atteinte: " #~ "%s\n" #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "" #~ "Impossible de revenir au début du fichier d'exclusion des codes %s: %s\n" #~ msgid "The command %s failed\n" #~ msgstr "La commande %s a échoué\n" #~ msgid "directory name to delete too long: %s/%s\n" #~ msgstr "le nom du répertoire à effacer est trop long : %s/%s\n" #~ msgid "cannot stat %s\n" #~ msgstr "Impossible d'obtenir les stat de %s\n" #~ msgid "cannot stat \"%s\"\n" #~ msgstr "Impossible d'obtenir les stat de « %s »\n" #~ msgid "Report" #~ msgstr "Rapport journalier" #~ msgid "H" #~ msgstr "H" #~ msgid "" #~ "\n" #~ "\tPlease donate to the sarg project:" #~ msgstr "" #~ "\n" #~ "\tMerci de faire une donation au projet sarg:" #~ msgid "process aborted.\n" #~ msgstr "traitement interrompu.\n" #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Impossible d'effacer le fichier « %s » après son traitement - %s\n" #~ msgid "Downloaded files report not generated as it is empty\n" #~ msgstr "Rapport des fichiers téléchargés pas créé car il est vide\n" #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Erreur lors de l'effacement du fichier %s: %s\n" #~ msgid "Failed to delete the file %s\n" #~ msgstr "Erreur lors de l'effacement de %s\n" #~ msgid "URL too long in redirector log file %s\n" #~ msgstr "L'URL est trop long dans le journal du redirecteur %s\n" #~ msgid "Temporary file name too long: %s/%s.htmp\n" #~ msgstr "Le nom du fichier temporaire est trop long: %s/%s.htmp\n" #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "(report-1) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "Path too long %s/%s.htmp\n" #~ msgstr "Le chemin %s/%s.htmp est trop long\n" #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "(report-2) Impossible d'ouvrir le fichier %s - %s\n" #~ msgid "pre-sorting files\n" #~ msgstr "Pré triage des fichiers\n" #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Impossible de supprimer le fichier temporaire %s - %s\n" #~ msgid " -b Useragent log" #~ msgstr " -b Journal des useragents" #~ msgid " -c Exclude file" #~ msgstr " -c Fichier des exclusions" #~ msgid " -n Resolve IP Address" #~ msgstr " -n Résolution des adresses IP" #~ msgid " -o Output dir" #~ msgstr " -o Répertoire de sortie" #~ msgid " -t Time [HH, HH:MM]" #~ msgstr " -t Heure (HH ou HH:MM)" #~ msgid " -u User" #~ msgstr " -u Utilisateur" #~ msgid "cannot delete %s - %s\n" #~ msgstr "Impossible d'effacer %s - %s\n" #~ msgid "Cannot get the size of file %s" #~ msgstr "Impossible de déterminer la taille du fichier %s" #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "ERREUR: Chargement impossible. Erreur mémoire" #~ msgid "Ignoring unknown user file %s\n" #~ msgstr "Ignore le fichier utilisateur inconnu %s\n" #~ msgid "IPv6 addresses are not supported (found in %s)\n" #~ msgstr "Les adresses IPv6 ne sont pas supportées (trouvée dans %s)\n" #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "(html2) Impossible d'ouvrir le fichier %s\n" #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "(html11) Impossible d'ouvrir le fichier %s\n" #~ msgid "(html11) read error in %s\n" #~ msgstr "(html11) erreur de lecture dans %s\n" #~ msgid "Unknown user ID %s in directory %s\n" #~ msgstr "ID utilisateur %s inconnu dans le répertoire %s\n" #~ msgid "Time period must be MM or MM:SS. Exit\n" #~ msgstr "La plage horaire doit être MM ou MM:SS. Fin\n" #~ msgid "Path too long %s/%s.utmp\n" #~ msgstr "Le chemin %s/%s.utmp est trop long\n" #~ msgid "There is a broken record or garbage in your %s file\n" #~ msgstr "" #~ "Il y a un enregistrement erroné ou inattendu dans votre fichier %s\n" #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "(totger) Impossible d'ouvrir le fichier %s\n" #~ msgid "Not enough memory to read the temporary file %s\n" #~ msgstr "Pas assez de mémoire pour lire le fichier temporaire %s\n" #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Erreur lors du déplacement à la fin du fichier %s - %s\n" #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Impossible de revenir au début du fichier %s: %s\n" #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Erreur d'écriture du nombre total de lignes dans %s - %s\n" #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Erreur en tronquant %s: %s\n" #~ msgid "Sort" #~ msgstr "Tri" #~ msgid "SARG: MALICIUS CODE DETECTED.\n" #~ msgstr "SARG: CODE MALICIEUX DÉTECTÉ.\n" #~ msgid "" #~ "SARG: I think someone is trying to execute arbitrary code in your system " #~ "using sarg.\n" #~ msgstr "" #~ "SARG: Je pense que quelqu'un essaie d'exécuter un code arbitraire sur " #~ "votre système au travers de sarg.\n" #~ msgid "" #~ "SARG: please review your access.log and/or your useragent.log file.\n" #~ msgstr "" #~ "SARG: Veuillez contrôler vos fichiers access.log ou useragent.log.\n" #~ msgid "SARG: process stoped. No actions taken.\n" #~ msgstr "SARG: traitement arrêté. Aucune action entreprise.\n" #~ msgid "temporary directory too long: %s/sarg\n" #~ msgstr "répertoire temporaire trop long: %s/sarg\n" #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "(convlog) Impossible d'ouvrir le journal %s\n" #~ msgid "user name too long for %s/%s/graph_day.png\n" #~ msgstr "Le nom d'utilisateur est trop long pour %s/%s/graph_day.png\n" #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "" #~ "La chaîne de caractères contenant le mois est trop longue dans le journal " #~ "du redirecteur %s\n" #~ msgid "Day string too long in redirector log file %s\n" #~ msgstr "" #~ "La chaîne de caractères contenant le jour est trop longue dans le journal " #~ "du redirecteur %s\n" #~ msgid "There is a broken rule in file %s\n" #~ msgstr "Il y a une règle endommagée dans le fichier %s\n" #~ msgid "Decompressing log file: %s > %s/sarg/sarg-file.in (zcat)\n" #~ msgstr "Décompression du journal: %s > %s/sarg/sarg-file.in (zcat)\n" #~ msgid "Decompressing log file: %s > %s/sarg/sarg-file.in (bzcat)\n" #~ msgstr "Décompression du journal: %s > %s/sarg/sarg-file.in (bzcat)\n" #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Décompression du journal: %s (uncompress)\n" #~ msgid "There is a broken quantity in file %s\n" #~ msgstr "Il y a une quantité endommagée dans le fichier %s\n" #~ msgid "user name too long for %s/%s.graph\n" #~ msgstr "Le nom d'utilisateur est trop long pour %s/%s.graph\n" #~ msgid "Maybe you have a broken number of access in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un nombre d'accès endommagé dans votre fichier %s\n" #~ msgid "Maybe you have a broken number of bytes in your %s file\n" #~ msgstr "" #~ "Vous avez probablement un nombre d'octets endommagé dans votre fichier " #~ "%s\n" #~ msgid "Maybe you have a broken status in your %s file\n" #~ msgstr "Vous avez probablement un statut endommagé dans votre fichier %s\n" #~ msgid "Maybe you have a broken in cache column in your %s file\n" #~ msgstr "" #~ "Vous avez probablement une colonne de cache atteinte endommagée dans " #~ "votre fichier %s\n" #~ msgid "Maybe you have a broken not in cache column in your %s file (%d)\n" #~ msgstr "" #~ "Vous avez probablement un colonne de cache raté endommagée dans votre " #~ "fichier %s (%d)\n" #~ msgid "Maybe you have a broken elapsed time in your %s file (%d)\n" #~ msgstr "" #~ "Vous avez probablement un temps écoulé endommagé dans votre fichier %s " #~ "(%d)\n" #~ msgid "" #~ "SARG: The date range requested on the command line by option -d is " #~ "invalid.\n" #~ msgstr "" #~ "SARG: La plage de date demandée en ligne de commande par l'option -d " #~ "n'est pas valable.\n" #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Lecture du journal de squidGuard: %s\n" #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #~ msgid "squidGuard" #~ msgstr "squidGuard" #~ msgid "malloc error (1024)\n" #~ msgstr "erreur d'allocation mémoire (1024)\n" #~ msgid "(authfail) read error in %s\n" #~ msgstr "(authfail) erreur de lecture dans %s\n" #~ msgid "(dansguardian_report) read error in %s\n" #~ msgstr "(dansguardian_report) erreur de lecture dans %s\n" #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "(denied) Impossible d'ouvrir le fichier %s\n" #~ msgid "(denied) read error in %s\n" #~ msgstr "(denied) erreur de lecture dans %s\n" #~ msgid "(download) Cannot open file %s\n" #~ msgstr "(download) Impossible d'ouvrir le fichier %s\n" #~ msgid "(download) read error in %s\n" #~ msgstr "(download) erreur de lecture dans %s\n" #~ msgid "(email) read error in %s\n" #~ msgstr "(email) erreur de lecture dans %s\n" #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "(html1) Impossible d'ouvrir le fichier %s\n" #~ msgid "(html1) read error in %s\n" #~ msgstr "(html1) erreur de lecture dans %s\n" #~ msgid "Maybe you have a broken date range definition.\n" #~ msgstr "Vous avez probablement une définition de plage de dates erronée.\n" #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "(siteuser) Impossible d'ouvrir le fichier %s\n" #~ msgid "(siteuser) read error in %s\n" #~ msgstr "(siteuser) erreur de lecture dans %s\n" #~ msgid "(smartfilter) read error in %s\n" #~ msgstr "(smartfilter) erreur de lecture dans %s\n" #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "(squidguard) Impossible d'ouvrir le fichier %s\n" #~ msgid "(squidguard) read error in %s\n" #~ msgstr "(squidguard) erreur de lecture dans %s\n" #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "(topsites) Impossible d'ouvrir le fichier %s\n" #~ msgid "(topsites) read error in %s\n" #~ msgstr "(topsites) erreur de lecture dans %s\n" #~ msgid "(topuser) Read error in %s\n" #~ msgstr "(topuser) Erreur de lecture dans %s\n" #~ msgid "Making period file\n" #~ msgstr "Création du fichier de l'intervalle\n" #~ msgid "Output file name too long: %s/sarg-period\n" #~ msgstr "Le nom du fichier de sortie est trop long: %s/sarg-period\n" #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Impossible d'ouvrir le fichier %s en écriture\n" #~ msgid "Failed to write the requested period in %s\n" #~ msgstr "Erreur d'écriture de la période demandée dans %s\n" #~ msgid "IN" #~ msgstr "DANS" #~ msgid "CACHE" #~ msgstr "CACHE" #~ msgid "OUT" #~ msgstr "HORS" sarg-2.3.11/po/hu.gmo000066400000000000000000000007231324060677300143020ustar00rootroot00000000000000Þ•$,8™9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. sarg-2.3.11/po/hu.po000066400000000000000000002336771324060677300141560ustar00rootroot00000000000000# Hungarian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Csaba Kabai , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Periódus" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "FELHASZNÃLÓ" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/NÉV" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "dátum/idÅ‘" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "MEGLÃTOGATOTT HELY" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Access log file olvasása" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Megnyithatatlan file" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Megnyithatatlan file" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Rendezés" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Megnyithatatlan file" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Rendezés" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Rendezés" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Rendezés" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Megnyithatatlan file" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Access log file olvasása" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Rendezés" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Nem tudom megnyitni a log file-t" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Megnyithatatlan file" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Nem tudom megnyitni a log file-t" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "File keszítés" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Megnyithatatlan file" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "File nem található" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Log file tömörítése" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Log file bontása" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Access log file olvasása" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "File nem található" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Felhasználók szerinti kimutatás" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Elérés csökkentve (byte-al)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periódus" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "Sorszám" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "KAPCSOLAT" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTE-ok" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "ELTÖLTÖTT IDÅ" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "IDÅ" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Rendezés" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Rendezés" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Megnyithatatlan file" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Megnyithatatlan file" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "ÖSSZESEN" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "ÃTLAG" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "kimutatások" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "File nem található" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Kizaró file beolvasása a" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Kizaró file beolvasása a" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Megnyithatatlan file" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Megnyithatatlan file" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Kizaró file beolvasása a" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc hiba" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Megnyithatatlan file" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Megnyithatatlan file" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Felhasználó" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "File nem található" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Rendezés" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "kimutatások" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Felhasználó" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Kimutatás készítése" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "TILTOTT" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Rendezés" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Megnyithatatlan file" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Készítés alatt: index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "kimutatások" msgstr[1] "kimutatások" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Megnyithatatlan file" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Rendezés" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Megnyithatatlan file" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Megnyithatatlan file" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Rendezés" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "FILE/PERIÓDUS" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "KÉSZÃTÉS DÃTUMA" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "FELHASZNÃLÓK" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Megnyithatatlan file" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Megnyithatatlan file" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Access log file olvasása" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Megnyithatatlan file" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "Log file bontása" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Log file bontása" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "File nem található" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Rendezés" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Megnyithatatlan file" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Nem található rekord" msgstr[1] "Nem található rekord" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Removing old report file" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Paraméterek" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hosztnév vagy IP cím" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Email cím a kimutatás küldésére" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Igen" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Nem" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hosztnév vagy IP cím" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hosztnév vagy IP cím" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "IP cimet használ userid helyett" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "verzió" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "Rendezés" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Access log file olvasása" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Log file tömörítése" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Access log file olvasása" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "Megnyithatatlan file" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Megnyithatatlan file" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Megnyithatatlan file" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Megnyithatatlan file" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Rendezés" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Megnyithatatlan file" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Rendezés" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Rendezés" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Access log file olvasása" #: log.c:1515 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Megnyithatatlan file" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "A log-ban keverednek a rekordformátumok (squid es közös log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Közös log formátum" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log formátum" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log érvénytelen formátummal" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Nem található rekord" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Vége" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Access log file olvasása" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periódus" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Jelszó file betöltése a" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Access log file olvasása" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Megnyithatatlan file" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "File nem található" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "Megnyithatatlan file" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Megnyithatatlan file" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Megnyithatatlan file" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "Log file bontása" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Log file bontása" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Log file bontása" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Log file bontása" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Log file bontása" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Megnyithatatlan file" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Megnyithatatlan file" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Megnyithatatlan file" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Access log file olvasása" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Megnyithatatlan file" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "Nem található rekord" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "dátum/idÅ‘" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Sikeres kimutatás generálva:" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Sikeres kimutatás generálva és elküldve:" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "File keszítés" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "File nem található" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Log file bontása" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Megnyithatatlan file" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Megnyithatatlan file" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "hét" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Készítette:" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Rendezés" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "Log file bontása" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "IdÅ‘" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Rendezés" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Felhasználó" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Megnyithatatlan file" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Megnyithatatlan file" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Access log file olvasása" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Megnyithatatlan file" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "Access log file olvasása" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Megnyithatatlan file" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Megnyithatatlan file" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Access log file olvasása" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Hosztnév vagy IP cím" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Convert the access.log file to a legible date" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Email cím a kimutatás küldésére" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr "Debug üzenet" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Kimutatás felhasználó és IP cím alapján" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Input log" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Processz üzenet" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "IP cím visszafejtése" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "Ideiglenes könyvtár" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "IP cimet használ userid helyett" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Split the log file by date in -d parameter" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Kimutatás felhasználó és IP cím alapján" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Ideiglenes könyvtár" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Debug üzenet" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Processz üzenet" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Felhasználói agent log olvasása" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Rendezés" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Rekord olvasva" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Useragent kimutatás készítése" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Felhasználói kimutatás" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Megnyithatatlan file" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Megnyithatatlan file" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Megnyithatatlan file" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "File nem található" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "letezik, átmozgatva" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Megnyithatatlan file" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Megnyithatatlan file" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removing temporary files" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Log file tömörítése" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "Log file bontása" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc hiba" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Periódus" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc hiba" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Access log file olvasása" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "Access log file olvasása" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "on" #~ msgstr "idÅ‘:" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "File nem található" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Access log file olvasása" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Report" #~ msgstr "Kimutatás" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Useragent log" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Kizáró file" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Output könyvtár" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Sort" #~ msgstr "Sorrend" #, fuzzy #~ msgid "USER" #~ msgstr "FELHASZNÃLÓK" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Log file bontása" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Log file bontása" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Access log file olvasása" #, fuzzy #~ msgid "malloc error (%d)\n" #~ msgstr "malloc hiba" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc hiba" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Periódus file készítés" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "OUT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "malloc hiba" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "Usage" #~ msgstr "Használat:" #, fuzzy #~ msgid "options" #~ msgstr "opciók" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Dátum tól-ig" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Email cím a kimutatás küldésére" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout a konzolra" #, fuzzy #~ msgid "Config file" #~ msgstr "Konfigurációs file" #, fuzzy #~ msgid "Date format" #~ msgstr "Dátum formátum" #, fuzzy #~ msgid "Europe" #~ msgstr "Európa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Meglátogatott hely" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Nem tudom megnyitni a log file-t" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Nem tudom megnyitni az ideiglenes file-t" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Access log file olvasása" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Megnyithatatlan file" #, fuzzy #~ msgid "End" #~ msgstr "Vége" #, fuzzy #~ msgid "File" #~ msgstr "File" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limit exceeded" #, fuzzy #~ msgid "Added to file" #~ msgstr "Added to file" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Hosztnév vagy IP cím" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Email cím a kimutatás küldésére" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "IP cimet használ userid helyett" #, fuzzy #~ msgid "written" #~ msgstr "írva" #, fuzzy #~ msgid "excluded" #~ msgstr "Kizárva" #, fuzzy #~ msgid "IP report" #~ msgstr "IP kimutatás" sarg-2.3.11/po/id.gmo000066400000000000000000000007231324060677300142620ustar00rootroot00000000000000Þ•$,8™9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. sarg-2.3.11/po/id.po000066400000000000000000002320611324060677300141200ustar00rootroot00000000000000# Indonesian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # V Gatut Harijiso , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Tak bisa buka file log" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Tak bisa buka file log" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Periode" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "USERID" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/NAMA" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "TANGGAL/WAKTU" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "SITUS DIAKSES" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Membaca file log akses" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Tak bisa buka file" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Tak bisa buka file" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Mengurutkan file" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Tak bisa buka file" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Mengurutkan file" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Mengurutkan file" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Mengurutkan file" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Tak bisa buka file log" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Tak bisa buka file" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Membaca file log akses" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Mengurutkan file" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Tak bisa buka file log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Tak bisa buka file" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Tak bisa buka file log" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Membuat file" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Tak bisa buka file" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "File tidak ditemukan" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Mengkompres file log" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Membongkar file log" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Membaca file log akses" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "File tidak ditemukan" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Laporan Akses Pemakai Squid" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Menurunkan Akses (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periode" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "NO." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "MENGHUBUNGI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "WAKTU TERPAKAI" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILIDETIK" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "WAKTU" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Mengurutkan file" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Mengurutkan file" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Tak bisa buka file" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Tak bisa buka file" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "RATA-RATA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "laporan" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "File tidak ditemukan" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Menyertakan file exclude dari" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Menyertakan file exclude dari" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Tak bisa buka file" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Tak bisa buka file log" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Tak bisa buka file" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Menyertakan file exclude dari" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "kesalahan malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Tak bisa buka file" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Tak bisa buka file" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Pemakai" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "File tidak ditemukan" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Tak bisa buka file log" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Mengurutkan file" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "laporan" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Tak bisa buka file log" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Pemakai" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Membuat laporan" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "DITOLAK" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Mengurutkan file" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Tak bisa buka file" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Membuat index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Tak bisa buka file log" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "laporan" msgstr[1] "laporan" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Tak bisa buka file log" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Tak bisa buka file" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Mengurutkan file" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Tak bisa buka file" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Tak bisa buka file" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Mengurutkan file" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "FILE/PERIOD" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "TANGGAL PEMBUATAN" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "PEMAKAI" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Tak bisa buka file" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Tak bisa buka file" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Membaca file log akses" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Tak bisa buka file log" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Tak bisa buka file" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "Membongkar file log" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Membongkar file log" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "File tidak ditemukan" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Mengurutkan file" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Tak bisa buka file" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Tidak ada record yang dicari" msgstr[1] "Tidak ada record yang dicari" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Membuang file laporan lama" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Tak bisa buka file log" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameter" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Alamat nama host or IP" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Alamat email penerima laporan" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Ya" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Ndak" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Alamat nama host or IP" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Alamat nama host or IP" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Menggunakan Alamat Ip daripada userid" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "versi" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "Mengurutkan file" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Membaca file log akses" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Mengkompres file log" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Membaca file log akses" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "Tak bisa buka file" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Tak bisa buka file" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Tak bisa buka file" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Tak bisa buka file" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Mengurutkan file" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Tak bisa buka file" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Mengurutkan file" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Mengurutkan file" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Membaca file log akses" #: log.c:1515 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Tak bisa buka file" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log mengandung format campuran (squid dan log umum/common)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Format log common" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Format log Squid" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log dengan format yang salah" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Tidak ada record yang dicari" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Selesai" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Membaca file log akses" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periode" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Menyertakan file password dari" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Membaca file log akses" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Tak bisa buka file log" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Tak bisa buka file" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "File tidak ditemukan" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "Tak bisa buka file" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Tak bisa buka file" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Tak bisa buka file" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "Membongkar file log" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Membongkar file log" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Membongkar file log" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Membongkar file log" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Membongkar file log" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Tak bisa buka file" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Tak bisa buka file" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Tak bisa buka file" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Membaca file log akses" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Tak bisa buka file log" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Tak bisa buka file" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "Tidak ada record yang dicari" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "TANGGAL/WAKTU" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Berhasil melaporkan pada" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Berhasil melaporkan dan dikirim ke" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Membuat file" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "File tidak ditemukan" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Membongkar file log" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Tak bisa buka file" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Tak bisa buka file" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Mingguan" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Dibuat oleh" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Mengurutkan file" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "Membongkar file log" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Waktu" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "situs" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Mengurutkan file" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Pemakai" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Tak bisa buka file" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Tak bisa buka file" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Membaca file log akses" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Tak bisa buka file" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "Membaca file log akses" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Tak bisa buka file" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Tak bisa buka file" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Membaca file log akses" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Tak bisa buka file log" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Alamat nama host or IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Mengkonversi file access.log ke tanggal yang dipahami" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Alamat email penerima laporan" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr "Pesan Debug" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Laporan berdasar user dan alamat IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Log input" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Pesan process" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Mengartikan Alamat IP" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "Dir sementara" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Menggunakan Alamat Ip daripada userid" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Membagi file log berdasarkan tanggal dalam parameter -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Laporan berdasar user dan alamat IP" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Dir sementara" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Pesan Debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Pesan process" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Membaca log useragent" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Mengurutkan file" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Record dibaca" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Membuat laporan useragent" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Laporan Useragent Squid" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGEN" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Tak bisa buka file" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Tak bisa buka file" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Tak bisa buka file" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "File tidak ditemukan" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Tak bisa buka file log" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Tak bisa buka file log" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Sudah ada, dipindahkan ke" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Tak bisa buka file" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Tak bisa buka file" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Tak bisa buka file log" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Membuang file sementara" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "Tak bisa buka file log" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Mengkompres file log" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "Membongkar file log" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "kesalahan malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Periode" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "kesalahan malloc" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Membaca file log akses" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "Membaca file log akses" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "on" #~ msgstr "pada" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "File tidak ditemukan" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Membaca file log akses" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Report" #~ msgstr "Laporan" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Log useragent" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "File exclude" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Dir output" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Sort" #~ msgstr "Urut" #, fuzzy #~ msgid "USER" #~ msgstr "PEMAKAI" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Membongkar file log" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Membongkar file log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Membaca file log akses" #, fuzzy #~ msgid "malloc error (%d)\n" #~ msgstr "kesalahan malloc" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "kesalahan malloc" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Membuat laporan periodik" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "OUT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "kesalahan malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "Usage" #~ msgstr "Penggunaan" #, fuzzy #~ msgid "options" #~ msgstr "opsi" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Tanggal dari-sampai" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Alamat email penerima laporan" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout untuk console" #, fuzzy #~ msgid "Config file" #~ msgstr "File konfig" #, fuzzy #~ msgid "Date format" #~ msgstr "Format tanggal" #, fuzzy #~ msgid "Europe" #~ msgstr "Eropa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Situs diakses" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Top" #~ msgstr "Tertinggi" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Tak bisa buka file log" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Tak bisa buka file sementara" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Membaca file log akses" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Tak bisa buka file" #, fuzzy #~ msgid "End" #~ msgstr "Selesai" #, fuzzy #~ msgid "File" #~ msgstr "File" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "batasan terlampaui" #, fuzzy #~ msgid "Added to file" #~ msgstr "Ditambahkan ke file" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Alamat nama host or IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Alamat email penerima laporan" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Menggunakan Alamat Ip daripada userid" #, fuzzy #~ msgid "written" #~ msgstr "ditulis" #, fuzzy #~ msgid "excluded" #~ msgstr "tidak disertakan" #, fuzzy #~ msgid "IP report" #~ msgstr "Laporan IP" sarg-2.3.11/po/insert-header.sin000066400000000000000000000012401324060677300164220ustar00rootroot00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } sarg-2.3.11/po/it.gmo000066400000000000000000000007231324060677300143020ustar00rootroot00000000000000Þ•$,8™9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. sarg-2.3.11/po/it.po000066400000000000000000002355101324060677300141420ustar00rootroot00000000000000# Italian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Matteo Colombo , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Periodo" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "USERID" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/NOME" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "DATA/TEMPO" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "SITI VISITATI" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Lettura access log file" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Sto Ordinano il file" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Sto Ordinano il file" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Sto Ordinano il file" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Sto Ordinano il file" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Lettura access log file" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Sto Ordinano il file" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Non riesco a aprire il log file" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Non riesco a aprire il log file" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Creazione del file" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "File non trovato" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Compressione file di log" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Decompressione file di log" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Lettura access log file" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "File non trovato" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Squid - Rapporto Accessi per Utenti" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Accesso Descrescente (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periodo" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "CONNESSIONI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "TIME UTIL" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "TEMPO" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Sto Ordinano il file" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Sto Ordinano il file" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "TOTALE" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "MEDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "rapporti" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "File non trovato" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Caricamento exclude file da" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Caricamento exclude file da" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Caricamento exclude file da" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc error" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Utente" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "File non trovato" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Non riesco a aprire il log file" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Sto Ordinano il file" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "rapporti" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Utente" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Creazione rapporto" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "NEGATO" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Sto Ordinano il file" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Creazione index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "rapporti" msgstr[1] "rapporti" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Non riesco ad aprire il file" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Sto Ordinano il file" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Non riesco ad aprire il file" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Non riesco ad aprire il file" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Sto Ordinano il file" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "FILE/PERIODO" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "DATA DI CREAZIONE" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "UTENTI" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Lettura access log file" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Non riesco ad aprire il file" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "Decompressione file di log" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Decompressione file di log" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "File non trovato" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Sto Ordinano il file" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Nessun records trovato." msgstr[1] "Nessun records trovato." #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Removing old report file" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Non riesco a aprire il log file" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametri" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname o indirizzo IP" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Repporto spedito all'indirizzo Email" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Si" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "No" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname o indirizzo IP" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname o indirizzo IP" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Usa l'indirizzo Ip invece della userid" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "versione" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "Sto Ordinano il file" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lettura access log file" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Compressione file di log" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lettura access log file" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "Non riesco ad aprire il file" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Sto Ordinano il file" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Sto Ordinano il file" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Sto Ordinano il file" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Lettura access log file" #: log.c:1515 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Non riesco ad aprire il file" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Formato dei log misto (squid and common log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Formato Common log" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Formato Squid log" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Formato invalido dei Log" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Nessun records trovato." #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Fine" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lettura access log file" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periodo" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Caricamento del file delle password da" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Lettura access log file" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Non riesco a aprire il log file" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "File non trovato" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "Decompressione file di log" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Decompressione file di log" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Decompressione file di log" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Decompressione file di log" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Decompressione file di log" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Non riesco ad aprire il file" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Lettura access log file" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Non riesco a aprire il log file" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "Nessun records trovato." #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "DATA/TEMPO" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Rapporto generato con successo in" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapporto generato e spedito con successo in" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Creazione del file" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "File non trovato" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Decompressione file di log" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Sites & Users" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Generato da" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sto Ordinano il file" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "Decompressione file di log" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Tempo" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Sto Ordinano il file" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Utente" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Non riesco ad aprire il file" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Lettura access log file" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Non riesco ad aprire il file" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "Lettura access log file" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Non riesco ad aprire il file" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Lettura access log file" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Hostname o indirizzo IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Convert the access.log file to a legible date" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Repporto spedito all'indirizzo Email" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr "Messaggi di Debug" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Rapporto di user e IP address" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Input log" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Messaggi di Processo" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Risoluzione IP Address" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "Directory Temporanea" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Usa l'indirizzo Ip invece della userid" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Split the log file by date in -d parameter" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Rapporto di user e IP address" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Directory Temporanea" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Messaggi di Debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Messaggi di Processo" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Lettura useragent log" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Sto Ordinano il file" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Records letti" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Creazione rapporto Useragent" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid - Rapporto Useragent" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENTE" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Non riesco ad aprire il file" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "File non trovato" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Non riesco a aprire il log file" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Non riesco a aprire il log file" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "esiste gia', spostato in" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Non riesco ad aprire il file" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Non riesco ad aprire il file" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Non riesco a aprire il log file" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removing temporary files" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "Non riesco a aprire il log file" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Compressione file di log" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "Decompressione file di log" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Periodo" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Lettura access log file" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "Lettura access log file" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "on" #~ msgstr "il" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "File non trovato" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Lettura access log file" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Report" #~ msgstr "Rapporto" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Useragent log" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "File Exclude" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Directory di destinazione" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Sort" #~ msgstr "Ordinato per" #, fuzzy #~ msgid "USER" #~ msgstr "UTENTI" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Decompressione file di log" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Decompressione file di log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Lettura access log file" #, fuzzy #~ msgid "malloc error (%d)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Creazione del file del periodo" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "OUT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "malloc error" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "Usage" #~ msgstr "Usa" #, fuzzy #~ msgid "options" #~ msgstr "opzioni" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Data from-until" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Repporto spedito all'indirizzo Email" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout per console" #, fuzzy #~ msgid "Config file" #~ msgstr "File di Configurazione" #, fuzzy #~ msgid "Date format" #~ msgstr "Formato della Data" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Accessed site" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Non riesco a aprire il log file" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Non riesco a aprire il file temporaneo" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Lettura access log file" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Non riesco ad aprire il file" #, fuzzy #~ msgid "End" #~ msgstr "Fine" #, fuzzy #~ msgid "File" #~ msgstr "File" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limit exceeded" #, fuzzy #~ msgid "Added to file" #~ msgstr "Added to file" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Hostname o indirizzo IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Repporto spedito all'indirizzo Email" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Usa l'indirizzo Ip invece della userid" #, fuzzy #~ msgid "written" #~ msgstr "scritto" #, fuzzy #~ msgid "excluded" #~ msgstr "esclusi" #, fuzzy #~ msgid "IP report" #~ msgstr "Rapporto IP" sarg-2.3.11/po/ja.gmo000066400000000000000000000007231324060677300142600ustar00rootroot00000000000000Þ•$,8™9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. sarg-2.3.11/po/ja.po000066400000000000000000002470531324060677300141250ustar00rootroot00000000000000# Japanese translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Akira Kitamura , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "キャッシュ" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Cannot load. Memory fault" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "å¹³å‡" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "on" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "ã“ã®ãƒ¬ãƒãƒ¼ãƒˆã¯ä»¥ä¸‹ã®ãƒ—ログラムã«ã‚ˆã£ã¦ä½œæˆã•れã¾ã—ãŸ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "期間" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "ファイルをSort" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "ファイルをSort" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "ファイルをSort" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "ファイルをSort" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "ファイルをSort" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Making file" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "ログファイルを圧縮" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "ログファイルを解å‡" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "ユーザ/サイト" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Sarg log format" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Loading User table" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "ミリ秒" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Cannot load. Memory fault" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "ユーザID" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "ユーザ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "アクセス先サイト" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "接続" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "ãƒã‚¤ãƒˆæ•°" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "減少ã—ã¦ã„るアクセス (bytes)" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "ファイルをSort" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "ファイルをSort" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "Squidユーザエージェントレãƒãƒ¼ãƒˆ" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "使用時間" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "レãƒãƒ¼ãƒˆ" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "以下ã‹ã‚‰æŽ’除ã™ã‚‹ãƒ•ァイルを読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "以下ã‹ã‚‰æŽ’除ã™ã‚‹ãƒ•ァイルを読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "以下ã‹ã‚‰æŽ’除ã™ã‚‹ãƒ•ァイルを読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc error" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Squidユーザアクセスレãƒãƒ¼ãƒˆ" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "ファイルをSort" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "レãƒãƒ¼ãƒˆ" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Squidユーザアクセスレãƒãƒ¼ãƒˆ" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "IN" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "レãƒãƒ¼ãƒˆã‚’作æˆ" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "æ‹’å¦" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "ファイルをSort" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "index.htmlを作æˆ" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "レãƒãƒ¼ãƒˆ" msgstr[1] "レãƒãƒ¼ãƒˆ" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "ファイルをSort" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "ファイルをSort" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "時間" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "ナンãƒãƒ¼" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "ファイル/期間" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "ログファイルを解å‡" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "ログファイルを解å‡" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "ファイルをSort" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "レコードãŒã‚りã¾ã›ã‚“" msgstr[1] "レコードãŒã‚りã¾ã›ã‚“" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "reverse" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "パラメータ" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "ホストååˆã¯IPアドレス" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "レãƒãƒ¼ãƒˆã‚’é€ã‚‹E-Mailアドレス" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Yes" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "No" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "ホストååˆã¯IPアドレス" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "ホストååˆã¯IPアドレス" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ユーザIDã®ä»£ã‚りã«IPアドレスを使用ã™ã‚‹" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "ユーザエージェントレãƒãƒ¼ãƒˆã‚’作æˆ" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "ファイルをSort" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "ログファイルを圧縮" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "ファイルをSort" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "ファイルをSort" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "ファイルをSort" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:1515 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "ãƒ­ã‚°ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒæ··åœ¨ã—ã¦ã„ã¾ã™ (squid and common log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Common ログフォーマット" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid ログフォーマット" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg parsed log saved as" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "無効ãªãƒ­ã‚°ãƒ•ォーマットã§ã™" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "レコードãŒã‚りã¾ã›ã‚“" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "終了" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Cannot load. Memory fault" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "squidGuard" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "以下ã‹ã‚‰ãƒ‘スワードファイルを読ã¿è¾¼ã¿ã¾ã™" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "ログファイルを解å‡" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "ログファイルを解å‡" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "ログファイルを解å‡" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "ログファイルを解å‡" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "ログファイルを解å‡" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "SQUIDGUARD" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "レコードãŒã‚りã¾ã›ã‚“" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "ã“ã®ãƒ¬ãƒãƒ¼ãƒˆã¯ä»¥ä¸‹ã®ãƒ—ログラムã«ã‚ˆã£ã¦ä½œæˆã•れã¾ã—ãŸ" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "作æˆå®Œäº†ã€‚以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãƒ¬ãƒãƒ¼ãƒˆãŒä½œæˆã•れã¾ã—ãŸ" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "レãƒãƒ¼ãƒˆã®ä½œæˆãŒå®Œäº†ã—メールを以下宛ã«é€ä¿¡ã—ã¾ã—ãŸ" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Making file" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "ログファイルを解å‡" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "トップ" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "IN" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "エージェント" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "ファイルをSort" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "ログファイルを解å‡" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "スマートフィルター" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "時間" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "テンãƒãƒ©ãƒªãƒ•ァイルを削除" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "スマートフィルター" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "ファイルをSort" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Squidユーザアクセスレãƒãƒ¼ãƒˆ" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "ホストååˆã¯IPアドレス" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "リミットをオーãƒãƒ¼" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "レãƒãƒ¼ãƒˆã‚’é€ã‚‹E-Mailアドレス" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr "デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "ユーザ・IPアドレスã«ã‚ˆã‚‹ãƒ¬ãƒãƒ¼ãƒˆ" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "入力 ログファイル" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "プロセスメッセージ" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "ホストå解決" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "テンãƒãƒ©ãƒª ディレクトリ" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "ユーザIDã®ä»£ã‚りã«IPアドレスを使用ã™ã‚‹" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "ファイルを追加" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "ユーザ・IPアドレスã«ã‚ˆã‚‹ãƒ¬ãƒãƒ¼ãƒˆ" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "テンãƒãƒ©ãƒª ディレクトリ" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "プロセスメッセージ" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "ユーザエージェントログを読んã§ã„ã¾ã™" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "ファイルをSort" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "レコードを読んã§ã„ã¾ã™" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Abuse レãƒãƒ¼ãƒˆ" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "ユーザ" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "Sort" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "サイト" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "サイト" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "サイト" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "æ—¢ã«å­˜åœ¨ã—ã¾ã™, 以下ã«ç§»å‹•ã—ã¾ã—ãŸ" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "normal" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "ログファイルを圧縮" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "ログファイルを解å‡" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "on" #~ msgstr "åˆè¨ˆ" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Sites & Users" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Report" #~ msgstr "レãƒãƒ¼ãƒˆ" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "ユーザエージェントログ" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "排除ã™ã‚‹ãƒ•ァイル" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "出力先ディレクトリ" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Sites & Users" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Sort" #~ msgstr "レãƒãƒ¼ãƒˆä½œæˆæ—¥æ™‚" #, fuzzy #~ msgid "USER" #~ msgstr "ファイル/期間" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "ログファイルを解å‡" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "ログファイルを解å‡" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #, fuzzy #~ msgid "malloc error (%d)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "Authentication failures" #, fuzzy #~ msgid "squidGuard" #~ msgstr "RULE" #, fuzzy #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "集計期間ファイルを作æˆ" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "IN" #~ msgstr "IP/NAME" #, fuzzy #~ msgid "CACHE" #~ msgstr "Squid Abuse Report" #, fuzzy #~ msgid "OUT" #~ msgstr "æ—¥/時間" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Sites & Users" #, fuzzy #~ msgid "malloc error" #~ msgstr "malloc error" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Usage" #~ msgstr "ä½¿ã„æ–¹" #, fuzzy #~ msgid "options" #~ msgstr "オプション" #, fuzzy #~ msgid "Date from-until" #~ msgstr "日付 from-until" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "レãƒãƒ¼ãƒˆã‚’é€ã‚‹E-Mailアドレス" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout for console" #, fuzzy #~ msgid "Config file" #~ msgstr "設定ファイル" #, fuzzy #~ msgid "Date format" #~ msgstr "日付フォーマット" #, fuzzy #~ msgid "Europe" #~ msgstr "ヨーロッパ" #, fuzzy #~ msgid "USA" #~ msgstr "アメリカ" #, fuzzy #~ msgid "Accessed site" #~ msgstr "アクセス先サイト" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Top" #~ msgstr "å¤ã„レãƒãƒ¼ãƒˆã‚’削除" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "テンãƒãƒ©ãƒªãƒ•ァイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #, fuzzy #~ msgid "End" #~ msgstr "終了" #, fuzzy #~ msgid "File" #~ msgstr "ファイル" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "Making Abuse report" #, fuzzy #~ msgid "Added to file" #~ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "ホストååˆã¯IPアドレス" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "レãƒãƒ¼ãƒˆã‚’é€ã‚‹E-Mailアドレス" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "ユーザIDã®ä»£ã‚りã«IPアドレスを使用ã™ã‚‹" #, fuzzy #~ msgid "written" #~ msgstr "書込ã¿ä¸­" #, fuzzy #~ msgid "excluded" #~ msgstr "排除" #, fuzzy #~ msgid "IP report" #~ msgstr "IP レãƒãƒ¼ãƒˆ" sarg-2.3.11/po/lv.gmo000066400000000000000000000011121324060677300143000ustar00rootroot00000000000000Þ•$,89Project-Id-Version: sarg 2.3-pre1 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2010-04-25 20:35+0300 Last-Translator: Juris Valdovskis Language-Team: Latvian Language: lv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); sarg-2.3.11/po/lv.po000066400000000000000000002332551324060677300141530ustar00rootroot00000000000000# Latvian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Juris Valdovskis , 2010 # msgid "" msgstr "" "Project-Id-Version: sarg 2.3-pre1\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2010-04-25 20:35+0300\n" "Last-Translator: Juris Valdovskis \n" "Language-Team: Latvian \n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "AutorizēšanÄs kļūdas" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Periods" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "LietotÄjs" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/VÄrds" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "Datums/Laiks" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "ApmeklÄ“tÄs lapas" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Lasu access log failu" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "KÄrtoju failu" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "KÄrtoju failu" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "KÄrtoju failu" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "KÄrtoju failu" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Lasu access log failu" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "KÄrtoju failu" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Nevar atvÄ“rt log failu" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Nevar atvÄ“rt log failu" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Taisu failu" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Fails nav atrasts" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "KompresÄ“ju log failu" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "DekompresÄ“ju log failu" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Aizliegts" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Lasu access log failu" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "Fails nav atrasts" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Squid lietotÄju atskaite" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "SamazinoÅ¡i apmeklÄ“ts (baiti)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periods" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "Nummurs" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "Pievienot" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "Baiti" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "Izmantotais laiks" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "Laiks" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "KÄrtoju failu" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "KÄrtoju failu" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "PAVISAM" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "VidÄ“ji" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "atskaites" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Fails nav atrasts" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "IelÄdÄ“ju izņēmumu failu no" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "IelÄdÄ“ju izņēmumu failu no" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "IelÄdÄ“ju izņēmumu failu no" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc kļūda" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "LietotÄjs" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Fails nav atrasts" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Nevar atvÄ“rt log failu" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "KÄrtoju failu" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "atskaites" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DIENAS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "LietotÄjs" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "Gudrais filtrs" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Taisu atskaiti" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "AZLIEGTS" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "KÄrtoju failu" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Veidoju index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "atskaites" msgstr[1] "atskaites" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Nevar atvÄ“rt failu" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "KÄrtoju failu" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Nevar atvÄ“rt failu" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Nevar atvÄ“rt failu" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "KÄrtoju failu" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "Fails/Periods" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "Izveides datums" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "LietotÄji" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Lasu access log failu" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "DekompresÄ“ju log failu" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "DekompresÄ“ju log failu" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Fails nav atrasts" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "KÄrtoju failu" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Ieraksti nav atrasti" msgstr[1] "Ieraksti nav atrasti" msgstr[2] "Ieraksti nav atrasti" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Dzēšu vecos atskaiÅ¡u failus" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameteri" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Datora vÄrds vai IP adrese" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-pasta adrese, kur nosÅ«tÄ«t atskaiti" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, fuzzy, c-format msgid " IP report (-i) = %s\n" msgstr " IP atskaite (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "JÄ" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "NÄ“" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " IP atskaite (-i) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr " IP atskaite (-i) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Lietot IP adresi lietotÄja vietÄ" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "versija" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "KÄrtoju failu" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lasu access log failu" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "KompresÄ“ju log failu" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lasu access log failu" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "ŽurnÄls ir no Microsoft ISA: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "KÄrtoju failu" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "KÄrtoju failu" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "KÄrtoju failu" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Lasu access log failu" #: log.c:1515 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log fails ar dažÄda formÄta ierakstiem" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Pamata log formÄts" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log formÄts" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Nepareizs log formÄts" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Ieraksti nav atrasti" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Beigas" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lasu access log failu" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periods" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "IelÄdÄ“ju paroļu failu no" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Lasu access log failu" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Nevar atvÄ“rt log failu" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Fails nav atrasts" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "DekompresÄ“ju log failu" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "DekompresÄ“ju log failu" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "DekompresÄ“ju log failu" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "DekompresÄ“ju log failu" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "DekompresÄ“ju log failu" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Lasu access log failu" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Nevar atvÄ“rt log failu" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "Ieraksti nav atrasti" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "Datums/Laiks" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Atskaite veiksmÄ«gi izveidota uz" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Atskaite veiksmÄ«gi izveidota un nosÅ«tÄ«ta uz" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Taisu failu" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Fails nav atrasts" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "DekompresÄ“ju log failu" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Saites & LietotÄji" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "Gudrais filtrs" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Ä¢enerÄ“ts ar" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "KÄrtoju failu" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "DekompresÄ“ju log failu" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Topsaites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Laiks" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "saites" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsaites" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "KÄrtoju failu" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "LietotÄjs" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Lasu access log failu" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Nevar atvÄ“rt failu" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "Lasu access log failu" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Nevar atvÄ“rt failu" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Lasu access log failu" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Datora vÄrds vai IP adrese" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "KonvertÄ“ access.log uz datumiem" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "E-pasta adrese, kur nosÅ«tÄ«t atskaiti" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr "Izpildes ziņojumi" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Atskaite kÄrtojot pÄ“c lietotÄja un IP adreses" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Ievades log fails" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "DarbÄ«bas ziņojumi" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Nosaku IP adresi" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "Pagaidu direktorijs" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Lietot IP adresi lietotÄja vietÄ" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Sadali log failu ar -d parametru" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Atskaite kÄrtojot pÄ“c lietotÄja un IP adreses" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Pagaidu direktorijs" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Izpildes ziņojumi" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "DarbÄ«bas ziņojumi" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Lasu useragent log failu" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "KÄrtoju failu" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Ieraksti nolasÄ«ti" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Veidoju Useragent atskaiti" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent's atskaite" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "IelÄdÄ“ju lietotÄju tabulu" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "IelÄdÄ“ju lietotÄju tabulu" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "IelÄdÄ“ju lietotÄju tabulu" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "Fails nav atrasts" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "jau eksistÄ“, pÄrceļu uz" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Dzēšu pagaidu failus sarg-general, sarg-period\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "KompresÄ“ju log failu" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "DekompresÄ“ju log failu" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc kļūda" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Periods" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc kļūda" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Lasu access log failu" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "Lasu access log failu" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "on" #~ msgstr "uz" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "Fails nav atrasts" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Lasu access log failu" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Nevar ielÄdÄ“t. Atmiņas kļūda" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Report" #~ msgstr "Atskaite" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Useragent log fails" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Izņemot failu" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Izvades direktorijs" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Nevar ielÄdÄ“t. Atmiņas kļūda" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Sort" #~ msgstr "SakÄrtot" #, fuzzy #~ msgid "USER" #~ msgstr "LietotÄji" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "DekompresÄ“ju log failu" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "DekompresÄ“ju log failu" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Lasu access log failu" #, fuzzy #~ msgid "malloc error (%d)\n" #~ msgstr "malloc kļūda" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc kļūda" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Taisu perioda failu" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "IN" #~ msgstr "IekÅ¡Ä" #, fuzzy #~ msgid "CACHE" #~ msgstr "KeÅ¡s" #, fuzzy #~ msgid "OUT" #~ msgstr "Ä€rÄ" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Nevar ielÄdÄ“t. Atmiņas kļūda" #, fuzzy #~ msgid "malloc error" #~ msgstr "malloc kļūda" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "Usage" #~ msgstr "Izmantots" #, fuzzy #~ msgid "options" #~ msgstr "opcijas" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Datums no-lÄ«dz" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "E-pasta adrese, kur nosÅ«tÄ«t atskaiti" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout konsolei" #, fuzzy #~ msgid "Config file" #~ msgstr "KonfigurÄcijas fails" #, fuzzy #~ msgid "Date format" #~ msgstr "Datuma formÄts" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "ApmeklÄ“tÄ adrese" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Nevar atvÄ“rt log failu" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Nevar atvÄ“rt pagaidu failu" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Lasu access log failu" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Nevar atvÄ“rt failu" #, fuzzy #~ msgid "End" #~ msgstr "Beigas" #, fuzzy #~ msgid "File" #~ msgstr "Fails" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limits beidzies" #, fuzzy #~ msgid "Added to file" #~ msgstr "Pievienots failam" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Datora vÄrds vai IP adrese" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "E-pasta adrese, kur nosÅ«tÄ«t atskaiti" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Lietot IP adresi lietotÄja vietÄ" #, fuzzy #~ msgid "written" #~ msgstr "ierakstÄ«ti" #, fuzzy #~ msgid "excluded" #~ msgstr "izņēmums" #, fuzzy #~ msgid "IP report" #~ msgstr "IP atskaite" sarg-2.3.11/po/nl.gmo000066400000000000000000000015271324060677300143020ustar00rootroot00000000000000Þ•T Œ¸ ¹Ç ßé ñüù ý  *5 = IACCESSED SITECannot delete "%s": %s DATE/TIMEIP/NAMEPeriod: %sUSERIDProject-Id-Version: sarg 2.3.9 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2014-12-11 21:15+0100 Last-Translator: Benno Schulenberg Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Lokalize 1.0 BEZOCHTE SITEKan '%s' niet verwijderen: %s DATUM/TIJDIP/NAAMPeriode: %sGEBRUIKERS-IDsarg-2.3.11/po/nl.po000066400000000000000000002145371324060677300141450ustar00rootroot00000000000000# Dutch translations for sarg. # Copyright (C) 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # # Seth Mos , 2010. # Pieter Kooistra , 2010. # Theo Kastermans , 2010. # Benno Schulenberg , 2014. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.9\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2014-12-11 21:15+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Kan '%s' niet verwijderen: %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Kan '%s' niet verwijderen: %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Periode: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "GEBRUIKERS-ID" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NAAM" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "DATUM/TIJD" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "BEZOCHTE SITE" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Onvoldoende geheugen beschikbaar om bestand %s te lezen\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Kan bestand niet openen" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Kan bestand niet openen" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Kan bestand niet openen" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Kan bestand niet openen" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Kan bestand niet openen" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Kan bestand niet openen" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Sluiten van bestand %s is mislukt - %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Kan bestand niet openen" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Access log bestand inlezen" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Sorteren bestand" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Kan het log bestand niet openen" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Kan bestand niet openen" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Kan het log bestand niet openen" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Bestand maken" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Kan bestand niet openen" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Bestand niet gevonden" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Comprimeren log bestand" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Decomprimeren log bestand" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Geweigerd" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Gebruikers Toegangs Rapport" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Verminderen Toegang (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periode" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "VERBINDING" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "GEBRUIKTE TIJD" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "TIJD" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Access log bestand inlezen" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Kan bestand niet openen" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "TOTAAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "GEMIDDELDE" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "rapporten" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Laden uitzondering bestand uit" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Laden uitzondering bestand uit" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Kan bestand niet openen" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Kan bestand niet openen" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Laden uitzondering bestand uit" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc error" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Kan bestand niet openen" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Gebruiker" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Bestand niet gevonden" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Kan het log bestand niet openen" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Kan bestand niet openen" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "rapporten" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Kan bestand niet openen" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Access log bestand inlezen" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Kan bestand niet openen" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Gebruiker" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Maken rapport" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Kan bestand niet openen" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Kan bestand niet openen" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "GEWEIGERD" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Kan bestand niet openen" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Kan bestand niet openen" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "index.html maken" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "rapporten" msgstr[1] "rapporten" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Kan bestand niet openen" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Kan bestand niet openen" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Kan bestand niet openen" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Kan bestand niet openen" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Kan bestand niet openen" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "BESTAND/PERIODE" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "CREATIE DATUM" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "GEBRUIKERS" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Kan bestand niet openen" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Kan bestand niet openen" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Kan bestand niet openen" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Sorteren bestand" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Kan bestand niet openen" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Geen records gevonden" msgstr[1] "Geen records gevonden" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Verwijderen oude rapport bestand" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameters" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname of IP adres" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Email adres om rapporten te zenden" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Ja" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Nee" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname of IP adres" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname of IP adres" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Gebruik Ip Adres i.p.v. gebruikersnaam" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "SARG-versie: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Access log bestand inlezen" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Comprimeren log bestand" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Access log bestand inlezen" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "Kan bestand niet openen" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Kan bestand niet openen" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Kan bestand niet openen" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Kan bestand niet openen" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Kan bestand niet openen" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Kan bestand niet openen" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Kan bestand niet openen" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Onvoldoende geheugen beschikbaar om bestand %s te lezen\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log heeft gemixte indeling (squid en algemeen log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Algemene log indeling" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log indeling" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log formaat" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log met ongeldige indeling" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Geen records gevonden" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Eind" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Access log bestand inlezen" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periode" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Laden password bestand uit" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Kan bestand niet openen" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Bestand niet gevonden" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "Kan bestand niet openen" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Access log bestand inlezen" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Decomprimeren log bestand" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Decomprimeren log bestand" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Decomprimeren log bestand" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Kan bestand niet openen" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Kan bestand niet openen" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Access log bestand inlezen" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Kan het log bestand niet openen" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Kan bestand niet openen" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "Geen records gevonden" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "DATUM/TIJD" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Succesvol rapport gegenereerd op" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Succesvol rapport gegenereerd en verzonden naar" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Bestand maken" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Kan bestand niet openen" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Kan bestand niet openen" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Access log bestand inlezen" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Kan bestand niet openen" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Kan bestand niet openen" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Access log bestand inlezen" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Access log bestand inlezen" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Decomprimeren log bestand" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Decomprimeren log bestand" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Kan bestand niet openen" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Access log bestand inlezen" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Sites en Gebruikers" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Gegenereerd door" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "sites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Tijd" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Gebruiker" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Access log bestand inlezen" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Kan bestand niet openen" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Kan bestand niet openen" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Access log bestand inlezen" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Hostname of IP adres" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Converteer het access.log bestand naar een geldige datum" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Email adres om rapporten te zenden" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Rapporten per gebruiker en IP adres" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Invoer log" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Process berichten" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Opzoeken IP Adres" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Gebruik Ip Adres i.p.v. gebruikersnaam" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Deel het log bestand per datum met -d parameter" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Tijdelijke dir" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Debug berichten" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Process berichten" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Lezen useragent log" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Kan het log bestand niet openen" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Records gelezen" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Maken Useragent rapport" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent's Rapport" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Kan bestand niet openen" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Kan bestand niet openen" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Kan de status van '%s' niet opvragen\n" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Sluiten van bestand %s is mislukt - %s\n" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "bestaat al, verplaatst naar" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Kan bestand niet openen" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Kan bestand niet openen" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Kan het log bestand niet openen" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Verwijderen tijdelijke bestanden" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "onbekend padtype %s\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #~ msgid "File name too long: %s/%s/.htaccess\n" #~ msgstr "Bestandsnaam is te lang: %s/%s/.htaccess\n" #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "(auth) Kan bestand %s niet openen: %s\n" #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "(auth) Kan sjabloonbestand %s niet openen: %s\n" #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "(authfail) Kan bestand %s niet openen\n" #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "(convlog) Kan logbestand %s niet openen: %s\n" #~ msgid "Not enough memory to read the log file %s\n" #~ msgstr "Onvoldoende geheugen beschikbaar om logbestand %s te lezen\n" #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "(dansguardian) Kan logbestand niet openen: %s\n" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Access log bestand inlezen" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Access log bestand inlezen" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Access log bestand inlezen" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Access log bestand inlezen" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Comprimeren log bestand" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "Decomprimeren log bestand" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Periode" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "on" #~ msgstr "op" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "Bestand niet gevonden" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "Bestand niet gevonden" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Kan bestand niet openen" #~ msgid "The command %s failed\n" #~ msgstr "Opdracht %s is mislukt\n" #~ msgid "directory name to delete too long: %s/%s\n" #~ msgstr "naam van te verwijderen map is te lang: %s/%s\n" #~ msgid "cannot stat %s\n" #~ msgstr "Kan de status van '%s' niet opvragen\n" #~ msgid "Usage" #~ msgstr "Gebruik" #~ msgid "options" #~ msgstr "opties" #~ msgid "Date from-until" #~ msgstr "Datum van-tot" #~ msgid "Config file" #~ msgstr "Configuratiebestand" #~ msgid "Europe" #~ msgstr "Europa" #~ msgid "Accessed site" #~ msgstr "Bezochte site" #~ msgid "Cannot open temporary file" #~ msgstr "Kan tijdelijk bestand niet openen" #~ msgid "End" #~ msgstr "Eind" #~ msgid "File" #~ msgstr "Bestand" #~ msgid "limit exceeded" #~ msgstr "limiet overschreden" #~ msgid "Added to file" #~ msgstr "Toegevoegd aan bestand" #~ msgid "written" #~ msgstr "geschreven" #~ msgid "excluded" #~ msgstr "uitgezonderd" sarg-2.3.11/po/pl.gmo000066400000000000000000000342321324060677300143030ustar00rootroot00000000000000Þ•0°Å0 D T ` ä lå eR [¸ "(0@H‰• «Ë ÐÚß æ6ó *5OV/f– µ ¿Ì$Ñ'ö  *7? ERZ?`U ö#42X‹¤­³*ÆNñ'@h.l›ž@°-ñ6#V z› ¢ ­¸Ñäë ò-.=,V6ƒº ¿TËT u ˆ – ¢¯ÁÚ+ó"BGMCR?–nÖ<E/‚=²/ðA b)~+¨CÔ4 M Z dFnµ¼AÂ/+4!`&‚© ®º ÃKÍC]qŽ“— ·ÄÕÌ¢³@¼)ý'$. SÏ^.6;ZÏl{<¸½ô”·!¾L"¿ #Ë# Ò#à#é#I$K$S$ Z$ f$)s$$ ¢$­$ ´$ ¿$;Ì$ %% 0%;%JO%"š% ½%Ë%Ú%5â%;& T&_&p&w& }&‹& ”&PŸ&fð&#W'#{',Ÿ'2Ì'ÿ' ('(0((F(Uo(+Å(ñ(-õ(#)')C=)7)6¹)&ð)*3* 9*C*%R*x*‹*’* ™*6§*Þ*í*C+RJ++ ¥+U²+U,^,{, ’,Ÿ,²,'Ê,ò,% -3-M-S-X-F_-<¦-dã->H.6‡.<¾.<û.78/p/0/3À/=ô/>20q0‡0™0L°0 ý0 1A16S16Š1Á1+á1 22/2 ?2UM2S£2÷2 3(3,30383 V3 c3Õo3E4T4>]4*œ4Ç4.Ð4 ÿ4Ï 5Ù5â5(é56Ï*6{ú6v7 {7|aY5NKn†8>}_fh%Q„S…AD9v]zExmbJZu+7.C‚B;\`'Ii@#Ž3V2?^Ml "[1~ ˆ(‹oyG k=‡dO4$Xrj0/g<!H€ƒŒPŠqULsT*6c{ t p: W)w&e,-‰FR‡7Ž7l € ” ¨ ¼ Ð •7ÿÿÿÿ·73ÿÿÿÿì73ÿÿÿÿ!8ÿÿÿÿI8&ÿÿÿÿq8'ÿÿÿÿ%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty BYTESCAUSECONNECTCREATION DATECannot enumerate the user list DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Day reportDecreasing Access (bytes)DeniedDenied accessesDenied report not produced because it is empty Download suffix list too long DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! FILE/PERIODGraph reportGraphicH:M:SIN-CACHE-OUTIP/NAMEInit Invalid address type %d returned when resolving host name "%s" January,February,March,April,May,June,July,August,September,October,November,DecemberLoading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Log file name too long passed on command line: %s Log with invalid format MILLISECMONTHMaking index.html Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo records found Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the url Option -%c requires an argument PeriodPeriod: %sRedirectorSARG reportSARG reportsSARG report for %sSARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERShort structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSmartFilterSort: %s, %sSort: %s, %sSquid User Access ReportSquid Useragent's ReportSuccessful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The second word of parameter "%s" is more than %d bytes long The string value of parameter "%s" is too long Too many day directories in %s Supernumerary entries are ignored Too many download suffixes Too many log files in configuration file Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop usersTotal statistics mismatch when reading %s to produce the email report USERIDUSERSUnknown color "%s" requested for the graph. Using orange instead Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown value "%s" for parameter "%s" UserUser reportUser: %sUseragentUsing the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in the index %s YEARYesbytescommand return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg 2.3.2 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2012-07-14 18:32+0100 Last-Translator: MichaÅ‚ Trzebiatowski Language-Team: Polish Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); %d dodatkowy błąd nie pokazany tutaj…%d dodatkowe błędy nie pokazane tutaj…%d dodatkowych błędów nie pokazanych tutaj…%d dodatkowy wiersz DansGuardian nie jest tu pokazany…%d dodatkowe wiersze DansGuardian nie sÄ… tu pokazane…%d dodatkowych wierszy DansGuardian nie jest tu pokazanych…%d dodatkowy dostÄ™p zabroniony nie jest tu pokazany…%d dodatkowe dostÄ™py zabronione nie sÄ… tu pokazane…%d dodatkowych dostÄ™pów zabronionych nie jest tu pokazanych…STRONAPRZEGLÄ„DARKAÅšREDNIABłąd uwierzytelnieniaNie wygenerowano raportu błędów uwierzytelnienia ponieważ jest pusty BAJTÓWPOWÓDPOÅÄ„CZEŃDATA UTWORZ.Nie można wypisać listy użytkowników DATADATA-GODZ.DZIEŃZABRONIONYDansGuardianNie wygenerowano raportu DansGuardian ponieważ jest pusty Raport dniowyDostÄ™p malejÄ…co (bajty)ZabronionyDostÄ™py zabronioneRaport dostÄ™pów zabronionych nie zostaÅ‚ utworzony ponieważ jest pusty Przyrostek pobraÅ„ jest za dÅ‚ugi Pobrane plikiCZAS SPĘDZONYKoniec Błąd: NieprawidÅ‚owa pisownia w znaczniku godziny! Błąd: NieprawidÅ‚owa pisownia w znaczniki dnia tygodnia! PLIK/OKRESRaport graficznyWykresG:M:STAK-BUFOR-NIEIP/NAZWAPoczÄ…tek NieprawidÅ‚owy rodzaj adresu %d zwrócony podczas znalezienia nazwy stacji "%s" StyczeÅ„,Luty,Marzec,KwiecieÅ„,Maj,Czerwiec,Lipiec,SierpieÅ„,WrzesieÅ„,Październik,Listopad,GrudzieÅ„Åadowanie konfiguracji z pliku %s Wczytywanie pliki wykluczeÅ„ z: %s Wczytywanie pliku wykluczonych stacji z: %s Zbyt dÅ‚uga nazwa pliku podana w linii komend: %s NieprawidÅ‚owy format pliku MILISEKUNDMIESIÄ„CTworzenie index.html Brakuje cudzysÅ‚owia po parametrze "%s" Brakuje cudzysÅ‚owia po parametrze "%s" albo wartość jest wiÄ™ksza niż %d bajtów Brakuje drugiego sÅ‚owa dla parametru "%s" Lp.Zbyt dÅ‚uga nazwa pliku do usuniÄ™cia: %s/%s NieBrak wierszy w pliku Zbyt maÅ‚o pamiÄ™ci aby umieÅ›cić nazwÄ™ katalogu "%s" w indeksie Brakuje pamiÄ™ci aby zaÅ‚adować wykluczone adresy URL Brakuje pamiÄ™ci aby zaÅ‚adować wykluczone adresy IP Za maÅ‚o pamiÄ™ci aby przechować url Opcja -%c wymaga argumentu OkresOkres: %sPrzekierowanieRaport SARGRaporty SARGRaporty SARGRaport SARG dla %sSARG, SARG: SARG: (info) SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%SARG: TAG: %s SARG: Nieznana opcja %s SARG: raport dla %04dSARG: raporty dla %04dSARG: raporty dla %04dSARG: raport dla %04d/%02dSARG: raporty dla %04d/%02dSARG: raporty dla %04d/%02dROZMIARSZYBKI FILTRKrótka struktura zwrócona przez getaddrinfo dla adresu IPv4: %d bajtów zamiast %d Krótka struktura zwrócona przez getaddrinfo dla adresu IPv6: %d bajtów zamiast %d Raport dostÄ™pu do serwisówSerwisy i UżytkownicySzybki FiltrSortowanie: %s, %sSortowanie: %s, %sRaport dostÄ™pu użytkowników do proxyRaport Squid przeglÄ…darekWygenerowano raport i wysÅ‚ano do %s Wygenerowano raport w %s CZASUSUMARODZAJNazwa wzorca pliku jest za dÅ‚uga w parametrze "AuthUserTemplateFile" NieprawidÅ‚owy parametr "byte_cost" w pliku konfiguracyjnym Katalog "%s%s" wyglÄ…da jak katalog raportów ale nie zawiera pliku sarg-date. Należy go skasować Pierwsze sÅ‚owo parametru "%s" jest dÅ‚uższe niż %d bajtów Wartość liczbowa parametru "%s" jest nieprawidÅ‚owa Drugie sÅ‚owo parametru "%s" jest dÅ‚uższe niż %d bajtów DÅ‚ugość Å‚aÅ„cucha znaków parametru "%s" jest za dÅ‚uga Zbyt dużo dni w %s PominiÄ™to wartoÅ›ci ponadliczbowe Za dużo przyrostków pobraÅ„ Za dużo plików logów w pliku konfiguracyjnym Zbyt dużo plików logów podanych w linii komend. Zbyt dużo miesiÄ™cy w %s PominiÄ™to wartoÅ›ci ponadliczbowe Za dużo przekierowaÅ„ plików logów w pliku konfiguracyjnym Pierwsze %d serwisówRanking serwisówRanking użytkownikówBłąd sumowania statystyk przy czytaniu %s aby wygenerować raport mailowy UÅ»YTKOWNIKUÅ»YTK.Nieznany kolor "%s" dla wykresu. Użycie koloru pomaraÅ„czowego. Nieznane kryterium sortowania "%s" dla parametru "%s" Nieznany porzÄ…dek sortowania "%s" dla parametru "%s" Nieznany rodzaj %d dla skali Y Nieznana wartość "%s" dla parametru "%s" UżytkownikRaport użytkownikówUżytkownik: %sPrzeglÄ…darkaWykorzystanie pliku logów DansGuardian "%s" okreÅ›lony w pliku konfiguracyjnym "%s" Wartość "%s" jest niekompatybilna z innymi wybranymi wartoÅ›ciami parametru "%s" przy czytaniu "%s" Błąd zapisu w indeksie %s ROKTakbajtówkomenda zwróciÅ‚a status %d komenda: %s połączeÅ„dansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. raport czasowydata=%s libgd nie mógÅ‚ wyliczyć ramÄ™ otaczajÄ…cÄ… tekst "%s": %s libgd nie mógÅ‚ rysować tekstu "%s": %s normalnyzbyt maÅ‚o pamiÄ™ci aby sortować po indeksie okres=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. odwrotnyserwiskomenda sortowania zwróciÅ‚a status %d komenda sortowania: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. czasużytkownikPRIu64PRId64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % błąd pamiÄ™ci (% wymaganych bajtów) NieprawidÅ‚owe minimum dla skali Y : % NieprawidÅ‚owe maksimum dla skali Y : % sarg-2.3.11/po/pl.po000066400000000000000000002350141324060677300141400ustar00rootroot00000000000000# Polish translations for Sarg - Squid Analysis Report Generator # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the Sarg package. # Bruno Devos , 2012. # msgid "" msgstr "" "Project-Id-Version: sarg 2.3.2\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2012-07-14 18:32+0100\n" "Last-Translator: MichaÅ‚ Trzebiatowski \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "(auth) Nie można otworzyć pliku: %s - %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "%d dodatkowy błąd nie pokazany tutaj…" msgstr[1] "%d dodatkowe błędy nie pokazane tutaj…" msgstr[2] "%d dodatkowych błędów nie pokazanych tutaj…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nie można skasować %s - %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "Nie wygenerowano raportu błędów uwierzytelnienia ponieważ jest pusty\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "komenda sortowania zwróciÅ‚a status %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "komenda sortowania: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Błąd uwierzytelnienia" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Okres: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "UÅ»YTKOWNIK" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NAZWA" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "DATA-GODZ." #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "STRONA" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać plik %s\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Nieznana nazwa użytkownika %s w pliku %s\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Błąd zapisu w pliku %s\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Nie udaÅ‚o siÄ™ zamknąć pliku %s - %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "Wykorzystanie pliku logów DansGuardian \"%s\" okreÅ›lony w pliku " "konfiguracyjnym \"%s\"\n" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Wczytanie pliku logów DansGuardian: %s\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Sortowanie pliku: %s\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d dodatkowy wiersz DansGuardian nie jest tu pokazany…" msgstr[1] "%d dodatkowe wiersze DansGuardian nie sÄ… tu pokazane…" msgstr[2] "%d dodatkowych wierszy DansGuardian nie jest tu pokazanych…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Nie wygenerowano raportu DansGuardian ponieważ jest pusty\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "POWÓD" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Nie można wypisać listy użytkowników\n" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Wczytanie pliku użytkowników: %s/%s\n" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Za maÅ‚o pamiÄ™ci aby przechować url\n" #: datafile.c:199 #, fuzzy, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Zapisano plik %s z powodzeniem\n" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Nie znaleziono pliku: %s\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Rozpakowanie pliku logów \"%s\" za pomocÄ… zcat\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "komenda rozpakowania jest za dÅ‚uga dla pliku logów %s\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "%d dodatkowy dostÄ™p zabroniony nie jest tu pokazany…" msgstr[1] "%d dodatkowe dostÄ™py zabronione nie sÄ… tu pokazane…" msgstr[2] "%d dodatkowych dostÄ™pów zabronionych nie jest tu pokazanych…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" "Raport dostÄ™pów zabronionych nie zostaÅ‚ utworzony ponieważ jest pusty\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Zabroniony" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Brakuje pamiÄ™ci aby zaÅ‚adować wykluczone adresy URL\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 #, fuzzy msgid "No downloaded files to report\n" msgstr "Przyrostek pobraÅ„ jest za dÅ‚ugi\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Pobrane pliki" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "Przyrostek pobraÅ„ jest za dÅ‚ugi\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "Za dużo przyrostków pobraÅ„\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Błąd sumowania statystyk przy czytaniu %s aby wygenerować raport mailowy\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Raport dostÄ™pu użytkowników do proxy" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "DostÄ™p malejÄ…co (bajty)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Okres" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "Lp." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "POÅÄ„CZEŃ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "BAJTÓW" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "CZAS SPĘDZONY" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "MILISEKUND" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "CZASU" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "NieprawidÅ‚owa liczba bajtów w pliku %s\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "NieprawidÅ‚owa liczba bajtów w pliku %s\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "SUMA" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "ÅšREDNIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Raport SARG, %s" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "komenda zwróciÅ‚a status %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "komenda: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "Brakuje pamiÄ™ci aby zaÅ‚adować wykluczone adresy IP\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Brakuje pamiÄ™ci aby zaÅ‚adować wykluczone adresy URL\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Wczytywanie pliku wykluczonych stacji z: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "przy czytaniu \"%s\"\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Wczytywanie pliki wykluczeÅ„ z: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Nie udaÅ‚o siÄ™ czytać koÅ„ca pliku wykluczonych użytkowników %s: %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Nie można uzyskać wielkoÅ›ci pliku %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Nie udaÅ‚o siÄ™ usunąć pliku %s: %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "DÅ‚ugość Å‚aÅ„cucha znaków parametru \"%s\" jest za dÅ‚uga\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Brakuje cudzysÅ‚owia po parametrze \"%s\"\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "Brakuje cudzysÅ‚owia po parametrze \"%s\" albo wartość jest wiÄ™ksza niż %d " "bajtów\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Pierwsze sÅ‚owo parametru \"%s\" jest dÅ‚uższe niż %d bajtów\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Brakuje drugiego sÅ‚owa dla parametru \"%s\"\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Drugie sÅ‚owo parametru \"%s\" jest dÅ‚uższe niż %d bajtów\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "Wartość liczbowa parametru \"%s\" jest nieprawidÅ‚owa\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Nieznana wartość \"%s\" dla parametru \"%s\"\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" "Wartość \"%s\" jest niekompatybilna z innymi wybranymi wartoÅ›ciami parametru " "\"%s\"\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Nieznane kryterium sortowania \"%s\" dla parametru \"%s\"\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Nieznany porzÄ…dek sortowania \"%s\" dla parametru \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: TAG: %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Błąd: NieprawidÅ‚owa pisownia w znaczniku godziny!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Błąd: NieprawidÅ‚owa pisownia w znaczniki dnia tygodnia!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "Za dużo plików logów w pliku konfiguracyjnym\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "Za dużo przekierowaÅ„ plików logów w pliku konfiguracyjnym\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" "Nazwa wzorca pliku jest za dÅ‚uga w parametrze \"AuthUserTemplateFile\"\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "NieprawidÅ‚owy parametr \"byte_cost\" w pliku konfiguracyjnym\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: Nieznana opcja %s\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Åadowanie konfiguracji z pliku %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "błąd pamiÄ™ci (% wymaganych bajtów)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, fuzzy, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "(grepday) iconv nie mógÅ‚ przekodować \"%s\" z %s na UTF-8 - %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd nie mógÅ‚ wyliczyć ramÄ™ otaczajÄ…cÄ… tekst \"%s\": %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd nie mógÅ‚ rysować tekstu \"%s\": %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "NieprawidÅ‚owe minimum dla skali Y : %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "NieprawidÅ‚owe maksimum dla skali Y : %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Nieznany rodzaj %d dla skali Y\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "Nieznany kolor \"%s\" dla wykresu. Użycie koloru pomaraÅ„czowego.\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Użytkownik: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "(grepday) Czcionka %s nie znaleziona\n" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "(grepday) iconv nie może przekodować z %s na UTF-8 - %s\n" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: grepday.c:750 msgid "Graph report" msgstr "Raport graficzny" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "DZIEŃ" #: html.c:89 #, fuzzy, c-format msgid "Destination directory too long: " msgstr "Zbyt dÅ‚uga nazawa folderu docelowego: %s/%s\n" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Nie można utworzyć katalogu %s - %s\n" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "WystÄ™puje nieprawidÅ‚owa wielkość out-cache'u w pliku %s\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Raport użytkowników" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Użytkownik" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Sortowanie: %s, %s" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "Szybki Filtr" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "TAK-BUFOR-NIE" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Tworzenie raportu: %s\n" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "raport czasowy" #: html.c:327 msgid "DENIED" msgstr "ZABRONIONY" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: html.c:563 #, fuzzy, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "Użytkownik %s przekroczyÅ‚ granicÄ™ (%d MB). Dodano do pliku %s\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Tworzenie index.html\n" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Nie można otworzyć katalogu %s - %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Raport SARG" msgstr[1] "Raporty SARG" msgstr[2] "Raporty SARG" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "ROK" #: index.c:151 msgid "SIZE" msgstr "ROZMIAR" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Zbyt dużo miesiÄ™cy w %s\n" "PominiÄ™to wartoÅ›ci ponadliczbowe\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: raport dla %04d" msgstr[1] "SARG: raporty dla %04d" msgstr[2] "SARG: raporty dla %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "MIESIÄ„C" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Nie można utworzyć katalogu %s - %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Zbyt dużo dni w %s\n" "PominiÄ™to wartoÅ›ci ponadliczbowe\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG: raport dla %04d/%02d" msgstr[1] "SARG: raporty dla %04d/%02d" msgstr[2] "SARG: raporty dla %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Błąd zapisu w indeksie %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "Katalog \"%s%s\" wyglÄ…da jak katalog raportów ale nie zawiera pliku sarg-" "date. Należy go skasować\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "zbyt maÅ‚o pamiÄ™ci aby sortować po indeksie\n" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "Zbyt maÅ‚o pamiÄ™ci aby umieÅ›cić nazwÄ™ katalogu \"%s\" w indeksie\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "PLIK/OKRES" #: index.c:432 msgid "CREATION DATE" msgstr "DATA UTWORZ." #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "UÅ»YTK." #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "nie udaÅ‚o siÄ™ utworzyć linku \"%s\" do \"%s\" - %s\n" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "nie udaÅ‚o siÄ™ utworzyć linku \"%s\" do \"%s\" - %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Zbyt dÅ‚uga nazwa pliku do usuniÄ™cia: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Brakuje pamiÄ™ci aby zaÅ‚adować wykluczone adresy IP\n" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Nie można znaleźć nazwy stacji %s: %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "Krótka struktura zwrócona przez getaddrinfo dla adresu IPv4: %d bajtów " "zamiast %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "Krótka struktura zwrócona przez getaddrinfo dla adresu IPv6: %d bajtów " "zamiast %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" "NieprawidÅ‚owy rodzaj adresu %d zwrócony podczas znalezienia nazwy stacji \"%s" "\"\n" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: ip2name_dns.c:93 #, fuzzy, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "Znalezienie nazwy IP (getnameinfo) dla adresu %s zwróciÅ‚o kod błędu %d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "komenda sortowania: %s\n" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "komenda: %s\n" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Nie udaÅ‚o siÄ™ uzyskać czasu utworzenia %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Brak wierszy w pliku\n" msgstr[1] "Brak wierszy w pliku\n" msgstr[2] "Brak wierszy w pliku\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Kasowanie starego pliku raportu %s\n" #: log.c:429 log.c:442 #, fuzzy, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "Zbyt dużo plików logów podanych w linii komend z opcjÄ… -l.\n" #: log.c:433 log.c:446 #, fuzzy, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "Zbyt dÅ‚uga nazwa pliku podana w linii komend z opcjÄ… -l: %s\n" #: log.c:480 #, fuzzy, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "Okres czasu podany w linii komend z opcjÄ… -t musi być MM:SS\n" #: log.c:488 #, fuzzy, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "Okres czasu podany w linii komend z opcjÄ… -t musi być MM:SS-MM:SS\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "Opcja -%c wymaga argumentu\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Zbyt dużo plików logów podanych w linii komend.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "Zbyt dÅ‚uga nazwa pliku podana w linii komend: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "PoczÄ…tek\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Tak" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "Nie" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "SARG: TAG: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "Błąd zapisu w pliku %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Za maÅ‚o pamiÄ™ci aby przechować url\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "NieprawidÅ‚owy format pliku\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "Brak wierszy w pliku\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Koniec\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "data=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "okres=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Nie udaÅ‚o siÄ™ uzyskać czasu utworzenia %s\n" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Nie znaleziono pliku: %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: realtime.c:314 msgid "Realtime" msgstr "" #: realtime.c:315 msgid "Auto refresh" msgstr "" #: realtime.c:316 msgid "TYPE" msgstr "RODZAJ" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "komenda rozpakowania jest za dÅ‚uga dla pliku logów %s\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Wczytanie pliku logów DansGuardian: %s\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 msgid "RULE" msgstr "" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "Raport dniowy" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "G:M:S" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "Raport dostÄ™pu do serwisów" #: report.c:268 msgid "DATE" msgstr "DATA" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "Wygenerowano raport w %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Wygenerowano raport i wysÅ‚ano do %s\n" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Tworzenie pliku: %s/%s\n" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Nie udaÅ‚o sie skasować pliku %s\n" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Nie udaÅ‚o sie skasować pliku %s\n" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "NieprawidÅ‚owa liczba bajtów w pliku %s\n" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "zbyt dÅ‚uga nazwa użytkownika dla %s/%s/%s\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Serwisy i Użytkownicy" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "Szybki Filtr" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "SZYBKI FILTR" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Raport utworzony za pomocÄ…" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "nazwa użytkownika zbyt dÅ‚uga dla %s/%s.day\n" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "połączeÅ„" #: sort.c:165 msgid "site" msgstr "serwis" #: sort.c:167 topuser.c:174 msgid "time" msgstr "czas" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "bajtów" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "normalny" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "odwrotny" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Ranking serwisów" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "Pierwsze %d serwisów" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "NieprawidÅ‚owa liczba bajtów w pliku %s\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 msgid "user" msgstr "użytkownik" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "Raport SARG dla %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Sortowanie: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Ranking użytkowników" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "Przekierowanie" #: topuser.c:241 msgid "Denied accesses" msgstr "DostÄ™py zabronione" #: topuser.c:244 msgid "Useragent" msgstr "PrzeglÄ…darka" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: topuser.c:353 msgid "Graphic" msgstr "Wykres" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Za maÅ‚o pamiÄ™ci aby przechować url\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Znaleziono nieprawidÅ‚owÄ… datÄ™ w pliku logów DansGuardian %s\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "Zbyt maÅ‚o pamiÄ™ci aby umieÅ›cić nazwÄ™ katalogu \"%s\" w indeksie\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Nie udaÅ‚o siÄ™ usunąć pliku %s: %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Wczytanie pliku logów DansGuardian: %s\n" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Nie można znaleźć nazwy stacji %s: %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr "" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr " -h Niniejsza pomoc" #: usage.c:43 #, fuzzy msgid " --help This help" msgstr " -h Niniejsza pomoc" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr "" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 msgid " -l FILE Input log" msgstr "" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 msgid " -m Advanced process messages" msgstr "" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr "" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr "" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr "" #: usage.c:61 msgid " -x Debug messages" msgstr "" #: usage.c:62 msgid " -z Process messages" msgstr "" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Wczytanie pliku użytkowników: %s/%s\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Raport Squid przeglÄ…darek" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "PRZEGLÄ„DARKA" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, fuzzy, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "Jest nieprawidÅ‚owa nazwa użytkownika w pliku %s\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Wczytywanie pliki wykluczeÅ„ z: %s\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "StyczeÅ„,Luty,Marzec,KwiecieÅ„,Maj,Czerwiec,Lipiec,SierpieÅ„,WrzesieÅ„," "Październik,Listopad,GrudzieÅ„" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Nie udaÅ‚o sie skasować pliku %s\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Nie można przewijać pliku wykluczonych użytkowników %s: %s\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "zbyt dÅ‚uga nazwa użytkownika dla %s/%s/%s\n" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Nie można skasować %s - %s\n" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Nie udaÅ‚o siÄ™ zamknąć pliku %s - %s\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Nie udaÅ‚o sie skasować pliku %s\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "" #: util.c:1522 #, fuzzy, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "Za dużo plików logów w pliku konfiguracyjnym\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #~ msgid "File name too long: %s/%s/.htaccess\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s/.htaccess\n" #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "(auth) Nie można otworzyć wzorca: %s - %s\n" #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "(authfail) Nie można otworzyć pliku %s\n" #~ msgid "There is a broken date in file %s\n" #~ msgstr "Jest nieprawidÅ‚owa data w pliku %s\n" #~ msgid "There is a broken time in file %s\n" #~ msgstr "Jest nieprawidÅ‚owa godzina w pliku %s\n" #~ msgid "There is a broken IP address in file %s\n" #~ msgstr "Jest nieprawidÅ‚owy adres IP w pliku %s\n" #~ msgid "There is a broken url in file %s\n" #~ msgstr "Jest nieprawidÅ‚owy url w pliku %s\n" #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "(convlog) Nie można otworzyć pliku logów %s - %s\n" #~ msgid "Not enough memory to read the log file %s\n" #~ msgstr "Za maÅ‚o pamiÄ™ci aby czytać plik logów %s\n" #~ msgid "Maybe you have a broken record or garbage in file %s\n" #~ msgstr "Może wystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s\n" #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Nie można otworzyć pliku konfiguracyjnego DansGuardian: %s\n" #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "(dansguardian) Nie można otworzyć pliku logów: %s\n" #~ msgid "Maybe you have a broken record or garbage in your %s file\n" #~ msgstr "Może wystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s\n" #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Znaleziono nieprawidÅ‚owÄ… godzinÄ™ w pliku logów DansGuardian %s\n" #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "" #~ "Znaleziono nieprawidÅ‚owego użytkownika w pliku logów DansGuardian %s\n" #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Znaleziono nieprawidÅ‚owy adres IP w pliku logów DansGuardian %s\n" #~ msgid "Maybe you have a broken url in your %s file\n" #~ msgstr "Znaleziono nieprawidÅ‚owy url w pliku %s\n" #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "(dansguardian_report) Nie można otworzyć pliku logów %s\n" #~ msgid "Maybe you have a broken rule in your %s file\n" #~ msgstr "Może wystÄ™puje nieprawidÅ‚owa reguÅ‚a w pliku %s\n" #~ msgid "(datafile) directory path too long: %s/%s.log\n" #~ msgstr "(datafile) zbyt dÅ‚uga Å›cieżka katalogu: %s/%s.log\n" #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "(datafile) Nie można otworzyć pliku %s\n" #~ msgid "Not enough memory to read the downloaded files.\n" #~ msgstr "Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki.\n" #~ msgid "There is a broken record or garbage in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s\n" #~ msgid "There is an invalid smart info in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy tag w pliku %s\n" #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "Rozpakowywanie pliku logów \"%s\" za pomocÄ… bzcat\n" #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "(denied) Nie można otworzyć pliku logów %s\n" #~ msgid "Not enough memory to read the denied accesses\n" #~ msgstr "Za maÅ‚o pamiÄ™ci aby czytać dostÄ™py zabronione\n" #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Nie udaÅ‚o siÄ™ skasować pliku \"%s\" po jego przetworzeniu - %s\n" #~ msgid "Downloaded files report not generated as it is empty\n" #~ msgstr "Raport plików pobranych nie zostaÅ‚ utworzony ponieważ jest pusty\n" #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "(download) Nie można otworzyć pliku logów %s\n" #~ msgid "(email) Cannot open file %s\n" #~ msgstr "(email) Nie można otworzyć pliku %s\n" #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "" #~ "Komenda sortowania jest za dÅ‚uga przy sortowaniu pliku \"%s\" do \"%s\"\n" #~ msgid "There is an invalid user ID in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy identyfikator użytkownika w pliku %s\n" #~ msgid "There is an invalid number of bytes in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa liczba bajtów w pliku %s\n" #~ msgid "There is an invalid number of access in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa liczba połączeÅ„ w pliku %s\n" #~ msgid "There is an invalid elapsed time in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy spÄ™dzony czas w pliku %s\n" #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Nie można otworzyć pliku exclude_hosts: %s - %s\n" #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "(gethexclude) Nie można otworzyć pliku %s - %s\n" #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "błąd malloc (%ld bajtów wymaganych)\n" #~ msgid "" #~ "Maybe you have a broken record or garbage in \"date_format\" parameter\n" #~ msgstr "" #~ "Prawdopodobnie masz uszkodzony wiersz lub baÅ‚agan dla parametru " #~ "\"date_format\"\n" #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "(getconf) Nie można otworzyć pliku %s\n" #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "(grepday) Nie można otworzyć pliku logów %s\n" #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "(grepday) Nie można otworzyć pliku wyjÅ›ciowego %s\n" #~ msgid "File name too long: %s/sargtmp.unsort\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.unsort\n" #~ msgid "File name too long: %s/sargtmp.log\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.log\n" #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/htmlrel.txt\n" #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "(html3) Nie można otworzyć pliku %s\n" #~ msgid "Output file name too long: %s/%s/%s.html\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/%s/%s.html\n" #~ msgid "File name too long: %s/%s/denied_%s.html\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s/denied_%s.html\n" #~ msgid "There is a broken number of access in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa liczba dostÄ™pów w pliku %s\n" #~ msgid "There is a broken downloaded size in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa wielkość pobraÅ„ w pliku %s\n" #~ msgid "There is a broken access code in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy kod dostÄ™pu w pliku %s\n" #~ msgid "There is a broken elapsed time in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy spÄ™dzony czas w pliku %s\n" #~ msgid "There is a broken in-cache volume in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa wielkość in-cache'u w pliku %s\n" #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "(html5) Nie można otworzyć pliku %s\n" #~ msgid "Report" #~ msgstr "Raport" #~ msgid "There is a broken number of bytes in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa liczba bajtów w pliku %s\n" #~ msgid "There is a broken in cache column in file %s\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa wartość kolumnie cache w pliku %s\n" #~ msgid "There is a broken out of cache column in file %s (%d)\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa kolumna out of cache w pliku %s (%d)\n" #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nie można usunąć nieużywanego pliku \"%s\" - %s\n" #~ msgid "File name too long: %s/%s.ip\n" #~ msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s.ip\n" #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "(html6) Nie można otworzyć pliku %s\n" #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "(html7) Nie można otworzyć pliku %s\n" #~ msgid "Maybe you have a broken user IP in your %s file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy numer IP użytkownika w pliku %s\n" #~ msgid "Maybe you have a broken day in your %s file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa data w pliku %s\n" #~ msgid "Maybe you have a broken time in your %s file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa godzina w pliku %s\n" #~ msgid "Maybe you have a broken size in your %s file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy rozmiar w pliku %s\n" #~ msgid "Maybe you have a broken elapsed time in your %s file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy okres czasu w pliku %s\n" #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "(html8) Nie można otworzyć pliku %s\n" #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "(html9) Nie można otworzyć pliku %s\n" #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "(html0) Nie można otworzyć pliku %s\n" #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "(index) Nie można otworzyć pliku %s - %s\n" #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Nie udaÅ‚o siÄ™ zamknąć pliku indeksu %s - %s\n" #~ msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy dzieÅ„ tygodnia w pliku %s%s/sarg-date\n" #~ msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy miesiÄ…c w pliku %s%s/sarg-date\n" #~ msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy dzieÅ„ w pliku %s%s/sarg-date\n" #~ msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owa godzina w pliku %s%s/sarg-date\n" #~ msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" #~ msgstr "WystÄ™puje nieprawidÅ‚owy rok w pliku %s%s/sarg-date\n" #~ msgid "(index) Cannot open file %s\n" #~ msgstr "(index) Nie można otworzyć pliku %s\n" #~ msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" #~ msgstr "(index) błąd zmiany nazwy dla \"%s\" z \"%s\" - %s\n" #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "(lastlog) Nie można otworzyć pliku tymczasowego %s\n" #~ msgid "Directory name too long: %s%s\n" #~ msgstr "Zbyt dÅ‚uga nazwa katalogu: %s%s\n" #~ msgid "Too many redirector logs passed on command line with option -L.\n" #~ msgstr "Zbyt dużo logów przekierowaÅ„ podanych w linii komend z opcjÄ… -L.\n" #~ msgid "" #~ "Redirector log file name too long passed on command line with opton -L: " #~ "%s\n" #~ msgstr "" #~ "Zbyt dÅ‚uga nazwa pliku przekierowaÅ„ podana w linii komend z opcjÄ… -L: %s\n" #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Nie można otworzyć pliku konfiguracyjnego: %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%" #~ msgstr "SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" #~ msgstr "SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%\n" #~ msgid "Period: %s\n" #~ msgstr "Okres: %s\n" #~ msgid "H" #~ msgstr "H" #~ msgid "on" #~ msgstr "dnia" sarg-2.3.11/po/pt.gmo000066400000000000000000000006231324060677300143100ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/pt.po000066400000000000000000002144521324060677300141530ustar00rootroot00000000000000# Portuguese translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Pedro Lineu Orso , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Falha de autenticação" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Periodo" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "USUÁRIO" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/NOME" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "DATA/HORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "LOCAL ACESSADO" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Erro no open do arquivo" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Erro no open do arquivo" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Classificando" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Erro no open do arquivo" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Removendo relatorio antigo" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Lendo arquivo acccess.log" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Classificando" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Erro no open do arquivo log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSA" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Erro no open do arquivo log" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Criando arquivo" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Arquivo nao encontrado" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Compactando arquivo log" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Descompactando arquivo log" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Proibido" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Squid - Relatório de Acessos por Usuario" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Acesso decrescente (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periodo" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "CONEXÃO" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "TEMPO GASTO" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEG" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "TEMPO" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Erro no open do arquivo" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "MÉDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "relatorios" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Carregando arquivo de exclusao" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Carregando arquivo de exclusao" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Erro no open do arquivo" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Erro no open do arquivo" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Carregando arquivo de exclusao" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "erro no malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Erro no open do arquivo" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Usuario" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Arquivo nao encontrado" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Erro no open do arquivo" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "relatorios" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DIAS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Erro no open do arquivo" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Lendo arquivo acccess.log" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Usuario" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Gerando relatorio" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "NEGADO" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Gerando index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "relatorios" msgstr[1] "relatorios" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "ANO" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "TAMANHO" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MÊS" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "ARQUIVO/PERÍODO" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "DATA CRIAÇÃO" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "USUÁRIOS" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Erro no open do arquivo" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Classificando" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Erro no open do arquivo" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Nao ha registros" msgstr[1] "Nao ha registros" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Removendo relatorio antigo" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametros" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname ou endereco IP" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Endereço email para envio do relatorio" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Sim" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Nao" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname ou endereco IP" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname ou endereco IP" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Utiliza endereco IP como usuario" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "versao" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lendo arquivo acccess.log" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Compactando arquivo log" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lendo arquivo acccess.log" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Erro no open do arquivo" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Erro no open do arquivo" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log com registros mistos (squid e common log)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Log em format Common" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Log em formato Squid" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Log com formato sarg" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log com formato invalido" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Nao ha registros" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Fim" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lendo arquivo acccess.log" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periodo" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Log parsed do sarg salvo em" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Carregando arquivo de senhas" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Erro no open do arquivo" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Arquivo nao encontrado" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Lendo arquivo acccess.log" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TIPO" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Descompactando arquivo log" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Descompactando arquivo log" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Descompactando arquivo log" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Lendo arquivo acccess.log" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Erro no open do arquivo log" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "REGRA" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "DATA/HORA" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Relatorio gerado com sucesso em" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Relatorio gerado com sucesso e enviado para" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Criando arquivo" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Erro no open do arquivo" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Erro no open do arquivo" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Sites & Users" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Gerado por" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "sites" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Gráfico" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Erro no open do arquivo" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Lendo arquivo acccess.log" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Hostname ou endereco IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Converte a data do access.log em formato legivel" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Endereço email para envio do relatorio" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Relatorios por usuario e por endereço IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Log de entrada" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Mensagens do processo" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Resolve endereco IP" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Utiliza endereco IP como usuario" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Separa o access.log conforme a data entrada com -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Diretorio para temporario" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Mensagens de debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Mensagens do processo" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Lendo arquivo useragent" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Erro no open do arquivo" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Registros lidos" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Criando Useragent report" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid - Relatório Useragent" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENTE" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Carregandpo a tabela de usuários" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Carregandpo a tabela de usuários" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Carregandpo a tabela de usuários" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "Janeiro,Fevereiro,Marco,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro," "Novembro,Dezembro" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Erro no open do arquivo" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Erro no open do arquivo" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Erro no open do arquivo log" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Erro no open do arquivo log" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "ja existe, movido para" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Erro no open do arquivo" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Erro no open do arquivo" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Erro no open do arquivo log" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removendo arquivos temporarios" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Descompactando arquivo log" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Report" #~ msgstr "Relatorio" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "erro no malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Sort" #~ msgstr "Ordem" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "erro no malloc" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Falha de memoria na carga da tabela" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "on" #~ msgstr "em" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-classificando arquivos" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Lendo arquivo acccess.log" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Arquivo useragent log" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Arquivo de exclusao" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Diretorio de saida" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Falha de memoria na carga da tabela" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "erro no malloc" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Criando arquivo periodo" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "OUT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Falha de memoria na carga da tabela" #, fuzzy #~ msgid "malloc error" #~ msgstr "erro no malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topsites" #, fuzzy #~ msgid "Usage" #~ msgstr "Uso" #, fuzzy #~ msgid "options" #~ msgstr "opcoes" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Data de-ate" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Endereço email para envio do relatorio" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout para saida na console" #, fuzzy #~ msgid "Config file" #~ msgstr "Arquivo de configuracao" #, fuzzy #~ msgid "Date format" #~ msgstr "Formato da data" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "EUA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Site acessado" #, fuzzy #~ msgid "Time" #~ msgstr "Hora" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Erro no open do arquivo temporario" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Lendo arquivo acccess.log" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "End" #~ msgstr "Fim" #, fuzzy #~ msgid "File" #~ msgstr "Arquivo" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "Limit excedido" #, fuzzy #~ msgid "Added to file" #~ msgstr "Adicionado no arquivo" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Hostname ou endereco IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Endereço email para envio do relatorio" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Utiliza endereco IP como usuario" #, fuzzy #~ msgid "written" #~ msgstr "gravados" #, fuzzy #~ msgid "excluded" #~ msgstr "Excluidos" #, fuzzy #~ msgid "IP report" #~ msgstr "Relatorio por IP" sarg-2.3.11/po/pt_BR.gmo000066400000000000000000001554651324060677300147120ustar00rootroot00000000000000Þ•í0˜¡„)œ)°)¬*Ÿ­*+M++y++¥++Ñ++ý++),<U,@’,9Ó,+ -+9-+e-+‘-+½-+é-+.+A.+m.+™.+Å.Añ.+3/_/:}/>¸/>÷/Y60-0?¾0=þ0;<1Yx1IÒ1B2M_2­22Ë2þ2-33J3+~3>ª3Ié3E344y4'®4"Ö4$ù4+5J52`5“5 «5·5#Æ5 ê5+÷5#6z)6l¤6e7[w7aÓ72587h8A 8 â8ð8ö8þ8@9<W9 ”9¡95§97Ý9:: #:1:Q:5p:>¦:!å:R;Z;r;%’;:¸;&ó;Q<%l<$’<·<×<'ò</=1J=*|="§=Ê=á="÷=>Q.>€>“>%¦>'Ì>$ô>? ?(?-? 4?6A?Yx?#Ò?!ö? @$#@1H@z@"”@·@¾@4Î@/A 3ATA5sA ©A ³AÀA$ÅA'êAB%B8B KBWB<rB¯B2ÎB"C'$C0LC,}CªC-ÊC"øC D+Z]™]©]#°] Ô]Bß]$"^G^#L^p^$^²^!Ð^ò^ _)_ 2_ ?_J_4\_‘_ °_Ñ_ê_ý_ ``&` -`-;`i`x`,‘`6¾`õ` ú`?aFaWataT“aTèa=b Pb2^bB‘b Ôbàb óbc;cNcac€c™c²c+Äc"ðcddd#dC4d?xd'¸d àd#eR%e0xe!©eSËeYfnyf<èf/%gWUg/­g$ÝgJhbMh=°h!îh#i/4i'di4Œi6ÁiOøi$Hj!mjDjIÔj!k'@kAhk3ªk!Þkl)l:Fl+lC­l4ñl &m 3m;=m.ym ¨m$²mF×mCnCbn ¦nÇnÎn8ÔnA oÓOo#p2Bpup7p/Åp+õp!!q Cq&dq ‹q¬q+Äqðq3õq-)rWr&mr,”r(Ár êr4ör+s 4s2>sKqsC½stt/t'Lt tt•tštžt.¤tÓt ítútÕuØuéuòu*v91v@kv)¬v"Öv$ùvw1w$8w ]wÏhw8x@xUxjxoxŽxÏ x{pyìyñy#öy |4»|5ð|5&}4\}6‘}6È}Eÿ}ME~B“~4Ö~4 6@4w4¬4á5€4L€5€5·€5í€F#(j“@²KóF?‚W†‚?Þ‚8ƒGWƒ<Ÿƒ`܃W=„Q•„Qç„9…;X…"”…4·…6ì…6#†IZ†P¤†Tõ†EJ‡*‡,»‡.è‡6ˆNˆ5gˆˆ µˆÁˆ#Ј ôˆ6‰8‰>‰m܉gJŠ[²Šu‹G„‹RÌ‹XŒ xŒ†ŒŒ”ŒC­ŒEñŒ7JEPD–Û áï1Ž.3ŽDbŽV§Ž/þŽV.#…1©;ÛQ;iu¥5‘<Q‘/Ž‘,¾‘Dë‘H0’Fy’=À’4þ’)3“"]“(€“©“`¿“ ”5”)K”5u”%«”Ñ” Ö”à”å” ì”4ù”c.•*’•&½•ä•*ó•C–b–%}–£–ª–<º–2÷–"*—)M—6w— ®—¸—È—&Í—/ô—$˜;˜O˜g˜x˜H•˜#Þ˜0™(3™)\™%†™3¬™à™)þ™%(šNš,kš%˜š'¾š æš›&'›+N›z›˜›´›È›Ü›?å›-%œSœ8Yœ4’œ>Çœ ?=T?’.Òbždž_lžAÌž#Ÿ2Ÿ1;Ÿ^mŸlÌŸj9 '¤ 8Ì ,¡)2¡I\¡.¦¡PÕ¡*&¢1Q¢0ƒ¢'´¢ Ü¢1ý¢B/£r£9’£Ì£*ê£<¤,R¤.¤0®¤"ߤ/¥/2¥&b¥-‰¥·¥+×¥%¦+)¦+U¦,¦/®¦.Þ¦1 §/?§Co§)³§)ݧ#¨4+¨3`¨2”¨-Ǩ õ¨!©'8©'`©*ˆ©³©+Ó©/ÿ©./ª.^ª6ª Īåª#«6(«._«#Ž«$²«,׫4¬9¬*X¬Yƒ¬$ݬ­ ­<)­&f­"­°­"Ì­+ï­#®$?®6d®T›®Cð®4¯Q¯=l¯%ª¯ Яޯ⯰°+°+B°Mn°+¼°è°0í°±g#±"‹±®±D0²—u², ³:³LV³M£³0ñ³."´;Q´0´?¾´Jþ´4Iµ?~µQ¾µ=¶SN¶N¢¶+ñ¶0·3N· ‚·S£· ÷·T¸Z¸o¸,x¸ ¥¸K²¸+þ¸*¹+0¹$\¹*¹&¬¹+Ó¹#ÿ¹#º =ºHºWºfº;‚º,¾º2ëº »?»W»k»}»„» Š»/—»Ç»Ö»6õ»@,¼m¼ u¼A¼üؼ!ö¼\½\u½Ò½ð½;¾U>¾ ”¾ ¾·¾ǾDà¾%¿!>¿`¿|¿™¿0¯¿$à¿À ÀÀÀP+ÀC|À*ÀÀ!ëÀ$ Á\2Á3Á"ÃÁXæÁ]?‡Â<%Ã0bÃX“Ã5ìÃ#"ÄJFÄb‘Ä;ôÄ%0Å$VÅ4{Å'°Å8ØÅ/ÆMAÆ,Æ&¼ÆNãÆU2Ç'ˆÇ-°ÇCÞÇ8"È [È|È4˜ÈFÍÈ5ÉEJÉ>É ÏÉ ÜÉMæÉ34Ê hÊ*vÊJ¡ÊJìÊG7Ë%Ë¥Ë ´Ë>¾ËDýËBÌ'DÍ8lÍ"¥ÍHÈÍGÎCYÎ-Î/ËÎ/ûÎ#+ÏOÏ5fÏœÏA¥ÏCçÏ+Ð2KÐ9~Ð)¸ÐâÐ@úÐ ;Ñ HÑ?RÑW’ÑMêÑ8Ò MÒnÒ1Ò-¿ÒíÒñÒõÒPûÒ LÓ mÓzÓÚƒÓ^ÔsÔ|Ô4Ô>ÅÔ=Õ(BÕ#kÕ!Õ±ÕÃÕ-ÊÕ øÕÔÖ ÚÖæÖüÖ×/×E×Ôa׃6غؿØ@bíAi‘šèj“r~I„P#"¤zh’J)!“E¯?AºÔ”ò¹Vä/c!{±™¬7u%Mk%ë¬5<×v®IK=ÌÚðÿê~Ínm[¢ƒ«Ó:Gž&ˆFG[„ãT\Òω v ÂnoÉ1Wâá’.—÷°6U&à ¥ÐÑÐP³ ô¡§f>}Ž`]ë§ ?ÃYêg¾;ña:£ÄÓTDX²>^‘—Ä Ee|›X¤»åÊl¥­ÚÞ HpÈc2a@è†LãOí^‡Uîµ(©×¼õRùC£0JH©¡È8Üå}\L¸-ٽߴ'Þ3B/ˆÙyæ_ÆrϺ۔ú f¸ÀÉR4N°{7$û,xóe±+b ¾Øp VZÎt€Ö´ïΨK=Å¢O‚ŒŒ9ø¦t]m6|3‹oà¼*… …¶Æ<kdÑuàš«ŠqÛËÅ•$ᆇg­wŠ Õµçª²çÝq®ªÇ'œ³Íƒ1½Ô™€9iþ¨8 jâ0,Ž`·h–;ZË*sFW¹lÁߦSæ·ä.Ÿ–›ìB5QD˜C-MwŸzéx4Á‰"SÇ_ìÕö»¿#•ÖØœsYݶ‹Àžü¯ÜQéýdN2ʘ¿(Ì)Òy ‚+ÈØÏØÖØÄ)Ø)ì)**8*L*`*t**ÝØÿÿÿÿÿØ3ÿÿÿÿ4Ù3ÿÿÿÿiÙ "ÿÿÿÿ³Ù "ÿÿÿÿùÙÿÿÿÿÚ<ÿÿÿÿ\Ú<ÿÿÿÿšÚ(ÿÿÿÿíÚ ÿÿÿÿ For the translation to work, a valid message file should be installed as "%s//LC_MESSAGES/%s.mo" where is derived from the effective locale. Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Keep temporary files (-k) = %s Hostname or IP address (-a) = %s --convert Convert the access.log file to a legible date --css Output the internal CSS --help This help --keeplogs Keep every previously generated report --lastlog Set the number of previous reports to keep --split Split the log file by date in -d parameter --splitprefix PREFIX Prepend a prefix to the splitted file names --statistics Print run time statistics -P PREFIX Prepend a prefix to the splitted file names -a NAME|IP Create report for host name or IP address -c FILE Exclude connected hosts from the report -d DATE Date range to include in the report: from-until dd/mm/yyyy-dd/mm/yyyy -e MAIL Email address to send reports to (stdout for console) -f FILE Config file to read (default is %s/sarg.conf) -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy] -h This help -i Reports by user and IP address -l FILE Input log -m Advanced process messages -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages -z Process messages Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Previous reports to keep (--lastlog) = %d %02dH%d error found in the log file. Some entries may be missing.%d errors found in the log file. Some entries may be missing.%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…%d more redirector entry not shown here…%d more redirector entries not shown here…%d old report to delete %d old reports to delete %d report directory found %d report directories found A text line is more than %d bytes long denoting a corrupted file ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty Authentication failures report not requested in report_type Auto refreshBYTESBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create a temporary file name to produce the report: %s Cannot create directory "%s": %s Cannot create the output directory name containing the period as part of the name Cannot delete "%s": %s Cannot enumerate the user list Cannot get disk size with command %s Cannot get disk space because the path "%s%s" is too long Cannot get disk space with command %s Cannot get the modification time of input log file "%s": %s Processing it anyway Cannot get the size of file "%s": %s Cannot load "%s": not enough memory Cannot open directory "%s": %s Cannot open file "%s": %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot prepare ldap URI for server %s on port %d Cannot read host name alias file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Cannot stat "%s": %s Chaining IP resolving module "%s" Command failed: %s Command to execute to resolve the IP addresses is too long (maximum is %d bytes) Command too long: Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d Currently effective locale is "%s". DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Dansguardian report not produced because no dansguardian configuration file was provided Datafile "%s" written successfully Date too long or invalid in "%s" Day reportDecompressing log file "%s" with %s Decompression command too long for log file "%s" Decreasing Access (bytes)Deleting temporary directory "%s" DeniedDenied accessesDenied accesses report not requested in report_type Denied report not produced because it is empty Destination directory too long: Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed "tail" command: %s Failed to build the string representation of the date range Failed to close file "%s": %s Failed to compile the regular expression "%s": %s Failed to copy image "%s" to "%s" Failed to create link "%s" to "%s": %s Failed to get the %d trailing lines of "%s": %s Failed to get the creation time of "%s": %s Failed to get the current time Failed to move till the end of file "%s": %s Failed to open directory "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s Failed to rewind file "%s": %s Failed to write a line in "%s" Failed to write the date in "%s" Failed to write the total line in "%s" File "%s" already exists, moved to "%s" File "%s" not found Fontname "%s" not found Generated by %s on %sGraph reportGraphicGraphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" H:M:SHost name alias "%*s" must not end with a wildcard Host name alias "%s*%s" contains too many wildcards (*) Hour string too long in redirector log file %s IN-CACHE-OUTIP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP address too long in redirector log file %s IP address too long or invalid in "%s" IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIf this message is in English, then your language is not supported or not correctly installed. Ignoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Integer overflow detected in %s in line "%s" Invalid "redirector_log_format" option in your sarg.conf (missing # at end of tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters before first tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters in column separator) Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid access type in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid amount of data in file "%s" Invalid buffer length passed to the function to safely copy a string Invalid buffer passed to getword_ptr Invalid cache hit size in "%s" Invalid cache miss size in "%s" Invalid client IP address in file "%s" Invalid data returned by %s Invalid date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date in file "%s" Invalid date range passed on command line Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid day index found in the hourly statistics Invalid download duration in file "%s" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid in-cache column in file "%s" Invalid in-cache size in file "%s" Invalid in-cache volume in file "%s" Invalid month in file "%s" Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of users in file "%s" Invalid number of weeks in -d parameter Invalid out-of-cache column in file "%s" Invalid out-of-cache volume in file "%s" Invalid path "%s". Please, use absolute paths only. Invalid record in IP address "%s" Invalid record in exclusion string Invalid record in file "%s" Invalid redirected list in file "%s" Invalid redirected source in file %s Invalid request method in file "%s" Invalid result code in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid source IP in file "%s" Invalid time column in file %s Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid total cache hit in "%s" Invalid total cache miss in "%s" Invalid total elapsed time in "%s" Invalid total number of accesses in file "%s" Invalid total size in "%s" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user found in file "%s" Invalid user in file "%s" Invalid useragent in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s" Invalid year in file "%s%s/sarg-date" January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Line="%s" Lines read: %lu lines in %.0lf seconds (%.0lf lines/s) List of host names to alias: Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Loading user table from LDAP Locale is not set in the environment variable. Log file name too long passed on command line with option %s: %s Log file name too long passed on command line: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) Loop detected in %s after %d bytes. MILLISECMONTHMaking Useragent report Making file %s/%s Making index.html Making report %s Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No graphs available as sarg was not compiled with libgd. Set "graphs" to "no" in %s to disable this warning No known module to resolve an IP address using the DNS No old reports to delete as only %d report currently exist No old reports to delete as only %d reports currently exists No option to configure for module %s No records found No redirector logs provided to produce that kind of report No top users report because it is not configured in report_type Not enough memory to read a log file Not enough memory to read file "%s" Not enough memory to read one more line from the file Not enough memory to read the log file Not enough memory to store the daily statistics Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the host name aliasing directives Not enough memory to store the key/value pair %s/%s Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Not enough memory to store user %s Option -%c requires an argument PCRE not compiled in therefore the regular expressions are not available in the host alias file Parameters: Parsing of tag "%s" in redirector log "%s" returned no result Path too long: PeriodPeriod covered by log files: %s-%s Period: %sProcessed records: %lu records in %.0lf seconds (%.0lf records/s) Purging temporary file sarg-general RULEReading DansGuardian log file "%s" Reading access log file: %s Reading access log file: from stdin Reading host alias file "%s" Reading redirector log file "%s" Reading user file "%s/%s" Reading useragent log "%s" RealtimeRecord="%s" RedirectorRedirector reportRedirector report not generated because it is empty Removing old report file "%s" Report output directory name=%s SARG reportSARG reportsSARG report for %sSARG report, %cSARG version: %s SARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERSarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Sending mail with command: %s Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSites & users report not requested in report_type Sites and users report not generated because privacy option is on SmartFilterSmartFilter reportSort: %s, %sSort: %s, %sSorted file doesn't exist (to produce the download report) Sorting file "%s" Sorting log %s/%s.user_unsort Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETable of contentTemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The command to compute the occupied disk size (%s) returned the unknown string %s The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The internal list of month names is invalid. Please report this bug to the translator. The list of the users is too long in file "%s" The name of the file is invalid: %s The output directory "%s" must be outside of the temporary directory "%s" The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The time stamp decimal part at column 1 is too long The total of the in-cache and cache-miss is not 100%% The total of the in-cache and cache-miss is not 100%% at position %d (user %s) The user ID at column 8 is too long The user at column 9 is too long Time period passed on the command line with option -t must be HH:MM Time range passed on the command line with option -t must be HH:MM-HH:MM Time too long or invalid in "%s" Too many codes to exclude in file "%s" Too many day directories in %s Supernumerary entries are ignored Too many different dates for the hourly statistics Too many different dates in "%s" Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option %s. Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop sites report not produced because privacy option is on Top sites report not requested in report_type Top usersTotal execution time: %.0lf seconds Total statistics mismatch when reading %s to produce the email report Total statistics mismatch when reading %s to produce the top sites Total statistics mismatch when reading %s to produce the top users URL too long or invalid in "%s" USERIDUSERSUnable to connect to LDAP server %s on port %d: %d (%s) Unknown color "%s" requested for the graph. Using orange instead Unknown file "%s" found in temporary directory "%s". It is not one of our files. Please check the temporary directory you gave to sarg. Adjust the path to a safe directory or manually delete the content of "%s" Unknown input log file format Unknown module "%.*s" to resolve the IP addresses Unknown path type "%s" Unknown path type "%s". Check your temporary directory Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser %s limit exceeded (%d MB). Added to file "%s" User ID too long in redirector log file "%s" User ID too long: %s User name too long or invalid in "%s" User name too long to manufacture file name User name too long to sort with command User reportUser's detailed report not requested in report_type User: %sUseragentUsers: %lu users in %.0lf seconds (%.0lf users/s) Using the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in file "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYesbytescannot build the sort command to sort file %s command return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s getword backtrace: iconv cannot convert from %s to UTF-8: %s iconv failed to convert string "%s" from %s to UTF-8: %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s looking for "%s" at or below "%s" malloc failed to allocate %ld bytes mkstemp error: %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesearching for 'x%x' setrlimit error: %s sitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg 2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2015-03-31 18:01-0300 Last-Translator: Marcio Fernandes da Costa Language-Team: Brazilian Portuguese Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Poedit 1.7.1 Para a tradução funcionar, um arquivo válido de mensagem deve ser instalado em "%s//LC_MESSAGES/%s.mo", onde é derivado do local efetivo. Tempo (-t) = %s Usuário (-u) = %s Relatório IP (-i) = %s Log de entrada (-l) = %s Diretório de saída (-o) = %s Arquivo de configuração (-f) = %s Formato da data (-g) = Europa (dd/mm/aaaa) Formato da data (-g) = Sites & Usuários (aaaa/ss) Formato da data (-g) = USA (mm/dd/aaaa) Exclui arquivo (-c) = %s Site acessado (-s) = %s Diretório temporário (-w) = %s Useragent log (-b) = %s Mensagens de debug (-x) = %s Log de redirecionamento (-L) = %s Data de-até (-d) = %s Mensagens de Processamento (-z) = %s Resolver endereço IP (-n) = %s Manter arquivos temporários (-k) = %s Nome do host ou endereço IP (-a) = %s --convert Converte arquivo access.log para uma data legível --css Mostra a CSS interna --help Esta ajuda --keeplogs Mantém cada relatório gerado anteriormente --lastlog Seta o número de relatórios prévios a serem mantidos --split Diminui o arquivo de log por data no parâmetro -d --splitprefix PREFIXO Coloca um prefixo nos nomes de arquivos --statitics Mostra estatísticas de tempo de execução -P PREFIX Coloca um prefixo no nome do arquivo -a NOME|IP Cria relatório para o nome de host ou endereço IP -c ARQUIVO Exclui do relatório os hosts conectados -d DATA Intervalo de datas para incluir no relatório: de-até dd/mm/aaaa-dd/mm/aaaa -e MAIL Endereço de email para enviar os relatórios (stdout para console) -f ARQUIVO Arquivo de configuração para ler (default é %s/sarg.conf) -g FMT Formato da data [e=Europa -> dd/mm/aaaa, u=USA -> mm/dd/aaaa] -h Esta ajuda -i Relatórios por usuário e endereço IP -l ARQUIVO Log de Entrada -m Mensagens avançadas de processo -n Resolve endereços IPs usando RDNS -o DIR Diretório de saída do relatório -p Usa endereço IP no lugar do ID do usuário (reports) -s SITE Limita o relatório ao site acessado [ex. www.microsoft.com] -t HORA Limita o relatório ao intervalo de tempo [HH:MM ou HH:MM-HH:MM] -u USUÃRIO Relatório de atividades somente para o usuário -w DIR Diretório temporário -x Mensagens de depuração -z Mensagens de Processamento Endereço de email para enviar relatórios (-e) = %s Registros lidos: %ld Registros lidos: %ld, gravados: %ld, excluídos: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Relatórios prévios a manter (--lastlog) = %d %02dH%d erro encontrado no arquivo de log. Algumas entradas podem estar perdidas.%d erros encontrados no arquivo de log. Algumas entradas podem estar perdidas.%d falha de autenticação não mostrada aqui…%d falhas de autenticação não mostradas aqui…%d entrada dansguardian não mostrada aqui…%d entradas dansguardian não mostradas aqui…%d acesso negado não mostrado aqui…%d acessos negados não mostrados aqui… %d entrada de redirecionamento não mostrada aqui…%d entradas de redirecionamento não mostradas aqui…%d relatório antigo para remover %d relatórios antigos para remover %d diretório de relatório encontrado %d diretórios de relatórios encontrados Uma linha de texto tem mais de %d bytes de comprimento, indicando um arquivo corrompido SITE ACESSADOAGENTEMÉDIAFalhas de AutenticaçãoRelatório de falhas de autenticação não criado por estar vazio Relatório de falhas de autenticação não requerido em report_type Auto atualizaçãoBYTESLista de banimento muito longa no arquivo log de redirecionamento %s Nome de banimento muito longo no arquivo log de redirecionamento %s CAUSANRO.CONEXÕESDATA DE CRIAÇÃONão foi possível conectar ao servidor LDAP: %s Não foi possível converter a hora local: %s Não foi possível converter a data/hora do arquivo de log do squid Não foi possível criar o nome de arquivo temporário para produzir o relatório: %s Não foi possível criar o diretório "%s": %s Não é possível criar o diretório de saída contendo o período como parte do nome Não foi possível apagar "%s": %s Não foi possível enumerar a lista de usuários Não foi possível ver o tamanho do disco com o comando %s Não foi possível ver o espaço do disco porque o caminho "%s%s" é muito longo Não foi possível ver o espaço do disco com o comando %s Não foi possível verificar a hora de modificação do arquivo de log de entrada "%s": %s . Continuando a processar Não foi possível ver o tamanho do arquivo "%s": %s Não foi possível carregar "%s": sem memória disponível Não foi possível abrir o diretório "%s": %s Não foi possível abrir o arquivo "%s": %s Não foi possível abrir o arquivo de configuração squidGuard: %s Não foi possível analisar novamente a linha porque ela foi modificada Não foi possível preparar a URI ldap para o servidor %s na porta %d Não foi possível ler o arquivo de apelido de host "%s": %s Não foi possível resolver o nome do host "%s": %s Não foi possível executar o comando %s Não foi possível pegar "%s": %s Módulo encadeamento resolvendo IP "%s" O comando falhou: %s O comando a executar para a resolução de endereços IP é muito longo (o máximo é %d bytes) Comando muito longo:Formato comum de log Incapaz de desabilitar LDAP_OPT_REFERALS Incapaz de configurar a versão %d do protocolo LDAP O locale efetivamente atual é "%s". DATADATA/HORADIASNEGADODansGuardianRelatório Dansguardian não gerado por estar vazio Relatório Dansguardian não gerado porque falta informar o arquivo de configuração dansguardian Arquivo de dados "%s" gravado com sucesso Data muito longa ou inválida em "%s" Relatório DiaDescompactando arquivo de log "%s" com %s Comando de descompactação muito longo para o arquivo de log "%s" Diminuindo Acessos (bytes)Apagando diretório temporário "%s" NegadoAcessos NegadosRelatório de acessos negados não requerido em report_type Relatório de Negados não gerado por estar vazio Diretório de destino muito longo:Lista de sufixos de download muito longa Relatório de downloads não requerido em report_type DownloadsTEMPO UTILIZADOFim Erro: sintaxe inválida na tag horas! Erro: sintaxe inválida na tag dias da semana! Código excluído: %s Site excluído: %s Usuário excluído: %s ARQUIVO/PERÃODOFalha no comando "tail": %s Falha na construção da string de representação do intervalo de data Falha ao fechar o arquivo "%s": %s Falha ao compilar a expressão regular "%s": %s Falha ao copiar a imagem "%s" para "%s" Falha ao criar o link "%s" para "%s": %s Falha ao pegar %d linhas de "%s": %s Falha ao verificar a data de criação de "%s": %s Falha ao ler a hora corrente Falha ao ir ao final do arquivo "%s": %s Falha ao abrir o diretório "%s": %s Falha ao ler a data em "%s" Falha ao ler o número de usuários em "%s" Falha ao renomear "%s" para "%s": %s Falha ao retroceder o arquivo "%s": %s Falha ao gravar a linha em "%s" Falha ao gravar a data em "%s" Falha ao gravar a linha total em "%s" Arquivo "%s" já existe, movendo para "%s" Arquivo "%s" não encontrado Fonte "%s" não encontrada Gerado por %s em %sRelatório GráficoGráficoGráfico desabilitado devido a falta de nome de fontes em "%s" Gráfico desabilitado como requerido em "%s" H:M:SApelido do host "%*s" não pode terminar com um coringa Apelido do host "%s*%s" contém muitos coringas (*) String hora muito longa no arquivo log de redirecionamento %s EM-CACHE-FORAO endereço IP "%.*s" é muito longo para o comando a executar O endereço IP "%s" é muito longo para o comando a executar Endereço IP muito longo no arquivo log de redirecionamento %s Endereço IP muito longo ou inválido em "%s" A resolução de nomes (getnameinfo) para o endereço IP "%s" falhou com o seguinte erro: %d - %s IP/NOMEIf this message is in English, then your language is not supported or not correctly installed. Ignorando módulos duplicados "%s" para resolver um endereço IP Ignorando arquivo antigo de log %s Início Estouro de inteiro detectado em %s na linha "%s" Opção "redirector_log_format" é inválida no arquivo sarg.conf (falta o # ao final da tag) Opção "redirector_log_format" é inválida no arquivo sarg.conf (muitos caracteres antes da primeira tag) Opção "redirector_log_format" é inválida no arquivo sarg.conf (muitos caracteresna coluna separadora) Endereço IP inválido no arquivo "%s" Caracter NUL inválido encontrado na expressão regular Código de acesso inválido no arquivo "%s" Tipo de acesso inválido no arquivo "%s" Tipo de endereço inválido %d retornado ao resolver o nome do host "%s" Quantidade inválida de dados no arquivo "%s" Tamanho de buffer inválido passado para a função para copia segura da string Buffer inválido passado para getword_ptr Tamanho de acertos do cache é inválido em "%s" Tamanho de faltas de cache é inválido em "%s" Endereço IP inválido no arquivo "%s" Data inválida retornada por %s Data inválida "%s" para estatísticas horárias Componente data inválido em "%s" para as estatísticas horárias Data inválida no arquivo "%s" Intervalo de datas inválido passado na linha de comando Dia inválido no arquivo"%s" Dia inválido no arquivo "%s%s/sarg-date" Ãndice dia inválido encontrado nas estatíticas horárias Tempo de download inválido no arquivo "%s" Tamanho de download inválido no arquivo "%s" Tempo de utilização inválido no arquivo "%s" Entrada inválida no arquivo "%s" Hora %d inválida para estatísticas horárias A coluna em-cache é inválida no arquivo "%s" Tamanho inválido de em-cache em "%s" Volume em-cache é inválido no arquivo "%s" Mês inválido no arquivo "%s" Mês inválido no arquivo "%s%s/sarg-date" Número de acessos inválido em "%s" Número de bytes inválido no arquivo "%s" Número inválido de dias no parâmetro -d Número de meses inválido no parâmetro -d Número inválido de usuários no arquivo "%s" Número inválido de semanas no parâmetro -d A coluna cache-fora é inválida no arquivo "%s" Volume cache-fora é inválido no arquivo "%s" Caminho "%s" inválido. Por favor use somente caminhos absolutos. Registro de endereço IP "%s" inválido Registro inválido na regra de exclusão Registro inválido no arquivo "%s" Lista de redirecionamento inválida no arquivo "%s" Origem de redirecionamento inválida no arquivo %s Requisição de método inválido no arquivo "%s" Código de retorno inválido no arquivo "%s" Regra inválida no arquivo "%s" Tamanho inválido no arquivo"%s" Informação inválida no arquivo "%s" IP de origem inválido no arquivo "%s" A coluna tempo é inválida no arquivo %s Hora inválida no arquivo "%s" Hora inválida no arquivo "%s%s/sarg-date" Total de acertos em cache é inválido em "%s" Total de faltas em cache é inválido em "%s" Total de tempo utilizado é inválido em "%s" Número total de acessos é inválido no arquivo "%s" Tamanho total inválido em "%s" URL inválida no arquivo "%s" Usuário inválido no arquivo "%s" Endereço IP de usuário é inválido no arquivo "%s" Usuário inválido encontrado no arquivo "%s" Usuário inválido no arquivo "%s" UserAgent inválido no arquivo "%s" Valor inválido no parâmetro "date_format" Dia da semana inválido no arquivo "%s%s/sarg-date" Ano inválido no arquivo "%s" Ano inválido no arquivo "%s%s/sarg-date" Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,DezembroMódulo LDAP não compilado no sarg A procura LDAP falhou: %s Linha="%s" Linhas lidas: %lu linhas em %.0lf segundos (%.0lf linhas/s) Lista de nomes de host para apelidos: Carregando tabela de usuário: %s Lendo configuração de %s Lendo arquivo de exclusão de: %s Lendo arquivo de exclusão de hosts de: %s Carregando arquivo de senhas de %s Carregando tabela LDAP de usuários Locale não está informado na variável de ambiente. Nome de arquivo de log muito longo passado na linha de comando com a opção %s: %s Nome de arquivo de log muito longo passado na linha de comando: %s Log é de Microsoft ISA: %s Log com formato inválido Log com registros em formatos misturados (squid e log comum) Loop detectado em %s após %d bytes. MILISSEGUNDOSMESCriando relatório useragent Criando arquivo %s/%s Criando index.html Criando relatório %s Falta aspas duplas após o parâmetro "%s" Falta aspas duplas após o parâmetro "%s" ou o valor é maior que %d bytes Falta a segunda palavra do parâmetro "%s" SEQ.Nome do arquivo a remover é muito longo: %s/%s NãoNenhum comando a executar para resolver o endereço IP. Por favor configure isto no arquivo sarg.conf Sem arquivos baixados para listar Gráficos não disponíveis, SARG compilado sem a biblioteca libgd. Configure "graphs" para "no" em %s para não ver este aviso Nenhum módulo conhecido para resolver um endereço IP usando o DNS Nenhum relatório antigo para remover, somente %d relatório atual existe Sem relatórios antigos para remover, somente %d relatórios atuais existem Sem opções a configurar para o módulo %s Nenhum registro encontrado Nenhum log de redirecionamento informado para produzir o tipo de relatório Sem relatório de top usuários porque não está configurado em report_type Memória insuficiente para ler o arquivo de log Memória insuficiente para ler o arquivo "%s" Memória insuficiente para ler uma linha a mais do arquivo Memória insuficiente para ler o arquivo de log Memória insuficiente para armazenar as estatísticas diárias Memória insuficiente para armazenar o nome de diretório "%s" no índice Não há memória para armazenar as URLs excluídas Não há memória para armazenar os endereços IPSs excluídos Memória insuficiente para armazenar as diretivas de apelido para o nome do host Memória insuficiente para armazenar o par chave/valor %s/%s Memória insuficiente para armazenar o novo nome do redirecionador a ser lido - %s Memória insuficiente para armazenar os nomes correspondentes ao endereço IP Memória insuficiente para armazenar a url Memória insuficiente para armazenar o usuário Memória insuficiente para armazenar o usuário %s Opção -%c requer um argumento PCRE não compilado em consequência da falta das expressões regulares no arquivo Parâmetros: Análise da tag "%s" no log de redirecionamento "%s" não retornou nenhum resultado Caminho muito longo:PeríodoPeríodo coberto pelo arquivo de log: %s-%s Período: %sRegistros processados: %lu registros em %.0lf segundos (%.0lf registros/s) Removendo arquivo temporário sarg-general REGRALendo arquivo de log do DansGuardian: "%s" Lendo arquivo de log de acessos: %s Lendo arquivo de log de acessos: de stdin Lendo arquivo de apelido do host "%s" Lendo arquivo log de redirecionamento "%s" Lendo arquivo de usuário: "%s/%s" Lendo log useragent "%s" Tempo RealRegistro="%s" RedirecionadorRelatório RedirecionamentoRelatório de redirecionamento não gerado por estar vazio Removendo arquivo antigo de relatório "%s" Nome do diretório de saída do relatório = "%s" Relatório SARGRelatórios SARGRelatório SARG para %sRelatório SARG, %cVersão SARG: %s SARG, SARG:SARG: (info)SARG:Registros no arquivo: %lu, lendo: %3.2lf%%SARG: TAG: %s SARG: opção desconhecida %s SARG: Relatório para %04dSARG: Relatórios para %04dSARG: Relatório para %04d/%02dSARG: Relatórios para %04d/%02dTAMANHOSMARTFILTERSarg compilado para reportar avisos se a saída é inconsistente Formato Sarg de log Sarg analisado salvo como %s Enviando email com o comando: %s Pequena estrutura retornada por getaddrinfo para um endereço IPv4: %d bytes no lugar de %d Pequena estrutura retornada por getaddrinfo para um endereço IPv6: %d bytes no lugar de %d Relatório de Acessos a SitesSites & UsuáriosRelatório Sites & Usuários não requerido em report_type Relatório de Sites & Usuários não gerado porque a opção de privacidade está on SmartFilterRelatório SmartFilterOrdenar: %s, %sOrdenação: %s, %sArquivo ordenado não existe (para gerar o relatório de downloads) Ordenando arquivo: "%s" Ordenando log: %s/%s.user_unsort Relatório de Acessos SQUIDRelatório Squid UserAgent'sFormato Squid de log Relatório gerado e enviado com sucesso para %s Relatório gerado com sucesso em %s TEMPOTOTALTIPOTabela de conteúdosNome do arquivo de template é muito longo no parâmetro "AuthUserTemplateFile" O parâmetro "byte_cost" é inválido no arquivo de configuração O endereço IP na coluna 3 é muito longo A URL na coluna 7 é muito longa A ação na coluna 6 é muito longa O comando (%s) para calcular o tamanho ocupado do disco retornou uma string desconhecida %s A duração da conexão na coluna 2 é muito longa A data na coluna 8 é muito longa A data passada como argumento não está no formato dd/mm/aaaa ou dd/mm/aaaa-dd/mm/aaaa O intervalo passado como argumento não está no formato dd/mm/aaaa ou dd/mm/aaaa-dd/mm/aaaa O diretório "%s%s" parece ser um diretório de relatório, mas não contém nenhum arquivo SARG. Você pode remover este diretório. A primeira palavra do parâmetro "%s" é maior que %d bytes O valor inteiro do parâmetro "%s" é inválido A lista interna de nome de meses é inválida. Por favor avise esta falha ao tradutor. A lista de usuários é muito grande no arquivo "%s" O nome do arquivo é inválido: %s O diretório de saída "%s"deve estar fora do diretório temporário "%s" O número de dígitos passados para my_lltoa (%d) é maior que o tamanho do buffer de saída (%d) A segunda palavra do parâmetro "%s" é maior que %d bytes O tamanho na coluna 5 é muito longo O status na coluna 4 é muito longo O valor da string do parâmetro "%s" é muito longo A data/hora na coluna 1 é muito longa A parte decimal da data/hora na coluna 1 é muito longa O total de em-cache e cache-fora não é 100%% O total de em-cache e cache-fora não é 100%% na posição %d (usuário %s) O ID do usuário na coluna 8 é muito longa O usuário na coluna 9 é muito longa Período de tempo passado na linha de comando com a opção -t deve ser HH:MM Intervalo de tempo passado na linha de comando com a opção -t deve ser HH:MM-HH:MM Tempo muito longo ou inválido em "%s" Muitos códigos para excluir no arquivo "%s" Muitos diretórios dias em %s Entradas em excesso serão ignoradas Muitas datas diferentes para as estatísticas horárias Muitas datas diferentes em "%s" Muitos sufixos de download Muitos arquivos de log no arquivo de configuração Muitos arquivos de log passados na linha de comando com a opção %s. Muitos arquivos de log passados na linha de comando. Muitos diretórios de meses em %s Entradas em excesso são ignoradas Muitos logs de redirecionamentos no arquivo de configuração Top %d sitesTop sitesRelatório Top Sites não produzido porque a opção de privacidade está on Relatório Top Sites não requerido em report_type Top UsuáriosTempo total de execução: %.0lf segundos Total de estatísticas diferem ao ler %s para gerar o relatório de email Total de estatísticas diferem quando lendo %s para produzir os top sites Total de estatísticas diferem ao ler %s para produzir o top usuários URL muito longa ou inválida em "%s" ID DE USUÃRIOUSUÃRIOSImpossível conectar ao servidor LDAP %s na porta %d: %d (%s) Cor "%s" desconhecida para o gráfico. Usando laranja por padrão. Arquivo "%s" desconhecido encontrado no diretório temporário "%s". Ele não é um dos nossos arquivos. Por favor verifique o diretório temporário informado ao sarg. Ajuste o caminho para um diretório seguro ou manualmente apague o conteúdo de "%s" Formato desconhecido do arquivo de log Módulo "%.*s" desconhecido para resolver endereços IP Tipo de caminho desconhecido "%s" Tipo de caminho desconhecido "%s". Verifique o diretório temporário. O critério de ordenação "%s" é desconhecido para o parâmetro "%s" A ordem de ordenação "%s" é desconhecida para o parâmetro "%s" Tipo %d desconhecido para a escala do eixo Y ID de usuário %s desconhecida no arquivo "%s" Valor "%s" desconhecido para o parâmetro "%s" Expressão regular não finalizada Uso: %s [opções...] Usar endereço IP no lugar de USERID (-p) = %s UsuárioUsuário %s excedeu o limite (%d MB). Adicionado ao arquivo"%s" ID de usuário muito longo no arquivo log de redirecionamento "%s" ID do Usuário muito longo: %s Nome do usuário muito longo ou inválido em "%s" Nome do usuário muito longo para criar o nome do arquivoNome de usuário muito longo para ordenarRelatório de UsuáriosRelatório Detalhado de Usuários não requerido em report_type Usuário: %sUseragentUsuários: %lu usuários em %.0lf segundos (%.0lf usuários/s) Usando o arquivo dansguardian de log "%s" que consta no arquivo de configuração "%s" O valor "%s" conflita com outros valores selecionados para o parâmetro "%s" Enquanto lendo "%s" Erro de escrita no arquivo "%s" Erro de escrita no índice %s Erro de escrita no arquivo de log do usuário %s Erro de gravação na lista top usuários %s ANOSimbytesNão foi possível construir o comando de ordenação para ordenar o arquivo %s status de retorno do comando %d comando: %s conectardansguardian_ignore_date é obsoleto e foi substituído por dansguardian_filter_out_date que faz a ação implícita no seu nome ao oposto a dansguardian_ignore_date. Por favor atualize seu arquivo de configuração. Relatório Data/Horadata=%s getword backtrace: iconv não conseguiu converter de %s para UTF-8: %s iconv falhou ao converter a string "%s" de %s para UTF-8 - %s libgd falhou ao calcular o limite da caixa do texto "%s": %s libgd falhou ao render o texto "%s": %s Procurando por "%s" em ou sob "%s" falha malloc ao alocar %ld bytes erro mkstemp: %s normalMemória insuficiente para ordenar o índice período=%s redirector_ignore_date é obsoleto e foi substituído por redirector_filter_out_date que faz a ação implícita no seu nome ao oposto a redirector_ignore_date. Por favor atualize seu arquivo de configuração. decrescenteprocurando por 'x%x' erro setrlimit: %s sitestatus de retorno do comando de ordenação %d comando de ordenação: %s squidguard_ignore_date é obsoleto e foi substituído por redirector_filter_out_date que faz a ação implícita no seu nome ao oposto a squidguard_ignore_date. Por favor atualize seu arquivo de configuração. squidguard_log_format é obsoleto e foi substituído por redirector_log_format. Por favor atualize seu arquivo de configuração. horausuárioPRIu64PRId64PRIi64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % Total downloaded bytes is % instead of % in the hourly report of user %s Total elapsed time is % instead of % in the hourly report of user %s Erro realloc (% bytes necessários) O mínimo para a escala Y do gráfico está fora da faixa: % O máximo para a escala Y do gráfico está fora da faixa: % O total de downloads é % bytes em vez de % no relatório horário do usuário %s Total de tempo utilizado é % em vez de % no relatório do usuário %s sarg-2.3.11/po/pt_BR.po000066400000000000000000002417701324060677300145410ustar00rootroot00000000000000# Brazilian Portuguese translations for sarg. # Copyright (C) 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Marcio Fernandes da Costa , 2015. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2015-03-31 18:01-0300\n" "Last-Translator: Marcio Fernandes da Costa \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 1.7.1\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Caminho muito longo:" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Não foi possível abrir o arquivo \"%s\": %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "%d falha de autenticação não mostrada aqui…" msgstr[1] "%d falhas de autenticação não mostradas aqui…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Não foi possível apagar \"%s\": %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "Relatório de falhas de autenticação não criado por estar vazio\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "status de retorno do comando de ordenação %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "comando de ordenação: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Falhas de Autenticação" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Período: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "ID DE USUÃRIO" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/NOME" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "DATA/HORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "SITE ACESSADO" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Memória insuficiente para ler o arquivo \"%s\"\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Data inválida no arquivo \"%s\"\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Hora inválida no arquivo \"%s\"\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Usuário inválido no arquivo \"%s\"\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Endereço IP inválido no arquivo \"%s\"\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "URL inválida no arquivo \"%s\"\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "ID de usuário %s desconhecida no arquivo \"%s\"\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Erro de escrita no arquivo \"%s\"\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Falha ao fechar o arquivo \"%s\": %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Registro inválido no arquivo \"%s\"\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "Usando o arquivo dansguardian de log \"%s\" que consta no arquivo de " "configuração \"%s\"\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Lendo arquivo de log do DansGuardian: \"%s\"\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Ordenando arquivo: \"%s\"\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d entrada dansguardian não mostrada aqui…" msgstr[1] "%d entradas dansguardian não mostradas aqui…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Relatório Dansguardian não gerado por estar vazio\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "CAUSA" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Regra inválida no arquivo \"%s\"\n" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Não foi possível enumerar a lista de usuários\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Lendo arquivo de usuário: \"%s/%s\"\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Informação inválida no arquivo \"%s\"\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Memória insuficiente para armazenar a url\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Arquivo de dados \"%s\" gravado com sucesso\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "Arquivo \"%s\" não encontrado\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Descompactando arquivo de log \"%s\" com %s\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Comando de descompactação muito longo para o arquivo de log \"%s\"\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "%d acesso negado não mostrado aqui…" msgstr[1] "%d acessos negados não mostrados aqui… " #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "Relatório de Negados não gerado por estar vazio\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Negado" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Memória insuficiente para armazenar o par chave/valor %s/%s\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Comando muito longo:" #: download.c:117 msgid "No downloaded files to report\n" msgstr "Sem arquivos baixados para listar\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "Arquivo ordenado não existe (para gerar o relatório de downloads)\n" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "Lista de sufixos de download muito longa\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "Muitos sufixos de download\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Total de estatísticas diferem ao ler %s para gerar o relatório de email\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Relatório de Acessos SQUID" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "Diminuindo Acessos (bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Período" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "SEQ." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "NRO.CONEXÕES" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "BYTES" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "TEMPO UTILIZADO" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "MILISSEGUNDOS" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "TEMPO" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Usuário inválido no arquivo \"%s\"\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Número de bytes inválido no arquivo \"%s\"\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Número de acessos inválido em \"%s\"\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Tempo de utilização inválido no arquivo \"%s\"\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "MÉDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "Relatório SARG, %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Enviando email com o comando: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "status de retorno do comando %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "comando: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "Não há memória para armazenar os endereços IPSs excluídos\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Não há memória para armazenar as URLs excluídas\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Lendo arquivo de exclusão de hosts de: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "Enquanto lendo \"%s\"\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Lendo arquivo de exclusão de: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Falha ao ir ao final do arquivo \"%s\": %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Não foi possível ver o tamanho do arquivo \"%s\": %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Falha ao retroceder o arquivo \"%s\": %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "falha malloc ao alocar %ld bytes\n" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "O valor da string do parâmetro \"%s\" é muito longo\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Falta aspas duplas após o parâmetro \"%s\"\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "Falta aspas duplas após o parâmetro \"%s\" ou o valor é maior que %d bytes \n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "A primeira palavra do parâmetro \"%s\" é maior que %d bytes\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Falta a segunda palavra do parâmetro \"%s\"\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "A segunda palavra do parâmetro \"%s\" é maior que %d bytes\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "O valor inteiro do parâmetro \"%s\" é inválido\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Valor \"%s\" desconhecido para o parâmetro \"%s\"\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" "O valor \"%s\" conflita com outros valores selecionados para o parâmetro \"%s" "\"\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "" "O critério de ordenação \"%s\" é desconhecido para o parâmetro \"%s\"\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "A ordem de ordenação \"%s\" é desconhecida para o parâmetro \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: TAG: %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "Valor inválido no parâmetro \"date_format\"\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Erro: sintaxe inválida na tag horas!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Erro: sintaxe inválida na tag dias da semana!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "Muitos arquivos de log no arquivo de configuração\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "Muitos logs de redirecionamentos no arquivo de configuração\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" "Nome do arquivo de template é muito longo no parâmetro \"AuthUserTemplateFile" "\"\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" "Gráficos não disponíveis, SARG compilado sem a biblioteca libgd. Configure " "\"graphs\" para \"no\" em %s para não ver este aviso\n" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "squidguard_log_format é obsoleto e foi substituído por " "redirector_log_format. Por favor atualize seu arquivo de configuração.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "redirector_ignore_date é obsoleto e foi substituído por " "redirector_filter_out_date que faz a ação implícita no seu nome ao oposto a " "redirector_ignore_date. Por favor atualize seu arquivo de configuração.\n" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date é obsoleto e foi substituído por " "redirector_filter_out_date que faz a ação implícita no seu nome ao oposto a " "squidguard_ignore_date. Por favor atualize seu arquivo de configuração.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "dansguardian_ignore_date é obsoleto e foi substituído por " "dansguardian_filter_out_date que faz a ação implícita no seu nome ao oposto " "a dansguardian_ignore_date. Por favor atualize seu arquivo de " "configuração.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "O parâmetro \"byte_cost\" é inválido no arquivo de configuração\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: opção desconhecida %s\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Lendo configuração de %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "Erro realloc (% bytes necessários)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "iconv falhou ao converter a string \"%s\" de %s para UTF-8 - %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd falhou ao calcular o limite da caixa do texto \"%s\": %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd falhou ao render o texto \"%s\": %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "O mínimo para a escala Y do gráfico está fora da faixa: %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "O máximo para a escala Y do gráfico está fora da faixa: %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Tipo %d desconhecido para a escala do eixo Y\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "Cor \"%s\" desconhecida para o gráfico. Usando laranja por padrão.\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Usuário: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "Nome do usuário muito longo para criar o nome do arquivo" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Gráfico desabilitado como requerido em \"%s\"\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "Gráfico desabilitado devido a falta de nome de fontes em \"%s\"\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "Fonte \"%s\" não encontrada\n" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "iconv não conseguiu converter de %s para UTF-8: %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Entrada inválida no arquivo \"%s\"\n" #: grepday.c:750 msgid "Graph report" msgstr "Relatório Gráfico" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "DIAS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Diretório de destino muito longo:" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Não foi possível criar o diretório \"%s\": %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Tamanho de download inválido no arquivo \"%s\"\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Código de acesso inválido no arquivo \"%s\"\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Volume em-cache é inválido no arquivo \"%s\"\n" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Volume cache-fora é inválido no arquivo \"%s\"\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Relatório de Usuários" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Usuário" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Ordenação: %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "Relatório SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "EM-CACHE-FORA" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "Criando relatório %s\n" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "A coluna em-cache é inválida no arquivo \"%s\"\n" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "A coluna cache-fora é inválida no arquivo \"%s\"\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "Relatório Data/Hora" #: html.c:327 msgid "DENIED" msgstr "NEGADO" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Endereço IP de usuário é inválido no arquivo \"%s\"\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Dia inválido no arquivo\"%s\"\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Tamanho inválido no arquivo\"%s\"\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "Usuário %s excedeu o limite (%d MB). Adicionado ao arquivo\"%s\"\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Criando index.html\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Falha ao abrir o diretório \"%s\": %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Relatório SARG" msgstr[1] "Relatórios SARG" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "ANO" #: index.c:151 msgid "SIZE" msgstr "TAMANHO" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Muitos diretórios de meses em %s\n" "Entradas em excesso são ignoradas\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: Relatório para %04d" msgstr[1] "SARG: Relatórios para %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "MES" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Não foi possível abrir o diretório \"%s\": %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Muitos diretórios dias em %s\n" "Entradas em excesso serão ignoradas\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG: Relatório para %04d/%02d" msgstr[1] "SARG: Relatórios para %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Erro de escrita no índice %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "O diretório \"%s%s\" parece ser um diretório de relatório, mas não contém " "nenhum arquivo SARG. Você pode remover este diretório.\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "Memória insuficiente para ordenar o índice\n" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Dia da semana inválido no arquivo \"%s%s/sarg-date\"\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Mês inválido no arquivo \"%s%s/sarg-date\"\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Dia inválido no arquivo \"%s%s/sarg-date\"\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Hora inválida no arquivo \"%s%s/sarg-date\"\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Ano inválido no arquivo \"%s%s/sarg-date\"\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" "Memória insuficiente para armazenar o nome de diretório \"%s\" no índice\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "ARQUIVO/PERÃODO" #: index.c:432 msgid "CREATION DATE" msgstr "DATA DE CRIAÇÃO" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "USUÃRIOS" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Falha ao renomear \"%s\" para \"%s\": %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Falha ao criar o link \"%s\" para \"%s\": %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Nome do arquivo a remover é muito longo: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "Módulo encadeamento resolvendo IP \"%s\"\n" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "Ignorando módulos duplicados \"%s\" para resolver um endereço IP\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "Módulo \"%.*s\" desconhecido para resolver endereços IP\n" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "Sem opções a configurar para o módulo %s\n" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "Nenhum módulo conhecido para resolver um endereço IP usando o DNS\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" "Memória insuficiente para armazenar os nomes correspondentes ao endereço IP\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Não foi possível resolver o nome do host \"%s\": %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "Pequena estrutura retornada por getaddrinfo para um endereço IPv4: %d bytes " "no lugar de %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "Pequena estrutura retornada por getaddrinfo para um endereço IPv6: %d bytes " "no lugar de %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" "Tipo de endereço inválido %d retornado ao resolver o nome do host \"%s\"\n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Registro de endereço IP \"%s\" inválido\n" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "A resolução de nomes (getnameinfo) para o endereço IP \"%s\" falhou com o " "seguinte erro: %d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" "O comando a executar para a resolução de endereços IP é muito longo (o " "máximo é %d bytes)\n" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "Nenhum comando a executar para resolver o endereço IP. Por favor configure " "isto no arquivo sarg.conf\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "O endereço IP \"%s\" é muito longo para o comando a executar\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "O endereço IP \"%.*s\" é muito longo para o comando a executar\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "Não foi possível executar o comando %s\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "O comando falhou: %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Falha ao verificar a data de criação de \"%s\": %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" "Nenhum relatório antigo para remover, somente %d relatório atual existe\n" msgstr[1] "" "Sem relatórios antigos para remover, somente %d relatórios atuais existem\n" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "%d diretório de relatório encontrado\n" msgstr[1] "%d diretórios de relatórios encontrados\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "%d relatório antigo para remover\n" msgstr[1] "%d relatórios antigos para remover\n" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "Removendo arquivo antigo de relatório \"%s\"\n" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "Muitos arquivos de log passados na linha de comando com a opção %s.\n" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" "Nome de arquivo de log muito longo passado na linha de comando com a opção " "%s: %s\n" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "Período de tempo passado na linha de comando com a opção -t deve ser HH:MM\n" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "Intervalo de tempo passado na linha de comando com a opção -t deve ser HH:MM-" "HH:MM\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "Opção -%c requer um argumento\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Muitos arquivos de log passados na linha de comando.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "Nome de arquivo de log muito longo passado na linha de comando: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Início\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" "O diretório de saída \"%s\"deve estar fora do diretório temporário \"%s\"\n" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Apagando diretório temporário \"%s\"\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "Parâmetros:\n" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Nome do host ou endereço IP (-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Useragent log (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Exclui arquivo (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Data de-até (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " Endereço de email para enviar relatórios (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " Arquivo de configuração (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Formato da data (-g) = Europa (dd/mm/aaaa)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Formato da data (-g) = USA (mm/dd/aaaa)\n" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Formato da data (-g) = Sites & Usuários (aaaa/ss)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " Relatório IP (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Sim" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "Não" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Manter arquivos temporários (-k) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " Log de entrada (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Log de redirecionamento (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Resolver endereço IP (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Diretório de saída (-o) = %s\n" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr " Usar endereço IP no lugar de USERID (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " Site acessado (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " Tempo (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " Usuário (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Diretório temporário (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Mensagens de debug (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Mensagens de Processamento (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Relatórios prévios a manter (--lastlog) = %d\n" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "Versão SARG: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "Sarg compilado para reportar avisos se a saída é inconsistente\n" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "erro setrlimit: %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "Memória insuficiente para ler o arquivo de log\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Lendo arquivo de log de acessos: de stdin\n" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" "Não foi possível verificar a hora de modificação do arquivo de log de " "entrada \"%s\": %s\n" ". Continuando a processar\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignorando arquivo antigo de log %s\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "Lendo arquivo de log de acessos: %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG:Registros no arquivo: %lu, lendo: %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log é de Microsoft ISA: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "O nome do arquivo é inválido: %s\n" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "Registro inválido na regra de exclusão\n" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Endereço IP inválido no arquivo \"%s\"\n" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Código de retorno inválido no arquivo \"%s\"\n" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Quantidade inválida de dados no arquivo \"%s\"\n" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Requisição de método inválido no arquivo \"%s\"\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Não foi possível converter a data/hora do arquivo de log do squid\n" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Tempo de download inválido no arquivo \"%s\"\n" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Ano inválido no arquivo \"%s\"\n" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Mês inválido no arquivo \"%s\"\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "Formato desconhecido do arquivo de log\n" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "ID do Usuário muito longo: %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "Código excluído: %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "Site excluído: %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "Usuário excluído: %s\n" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "Memória insuficiente para armazenar o usuário %s\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Erro de escrita no arquivo de log do usuário %s\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "Registros lidos: %ld, gravados: %ld, excluídos: %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log com registros em formatos misturados (squid e log comum)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "Formato comum de log\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "Formato Squid de log\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "Formato Sarg de log\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "Log com formato inválido\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "Nenhum registro encontrado\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Fim\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Período coberto pelo arquivo de log: %s-%s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "Falha na construção da string de representação do intervalo de data\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "data=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "período=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg analisado salvo como %s\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Tempo total de execução: %.0lf segundos\n" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "Linhas lidas: %lu linhas em %.0lf segundos (%.0lf linhas/s)\n" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" "Registros processados: %lu registros em %.0lf segundos (%.0lf registros/s)\n" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "Usuários: %lu usuários em %.0lf segundos (%.0lf usuários/s)\n" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "Carregando arquivo de senhas de %s\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" "Uma linha de texto tem mais de %d bytes de comprimento, indicando um arquivo " "corrompido\n" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Memória insuficiente para ler uma linha a mais do arquivo\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" "Não foi possível criar o nome de arquivo temporário para produzir o " "relatório: %s\n" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "erro mkstemp: %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "Memória insuficiente para ler o arquivo de log\n" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Falha ao pegar %d linhas de \"%s\": %s\n" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Falha no comando \"tail\": %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "Data inválida retornada por %s\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "A data/hora na coluna 1 é muito longa\n" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "A parte decimal da data/hora na coluna 1 é muito longa\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "A duração da conexão na coluna 2 é muito longa\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "O endereço IP na coluna 3 é muito longo\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "O status na coluna 4 é muito longo\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "O tamanho na coluna 5 é muito longo\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "A ação na coluna 6 é muito longa\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "A URL na coluna 7 é muito longa\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "O ID do usuário na coluna 8 é muito longa\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "A data na coluna 8 é muito longa\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "O usuário na coluna 9 é muito longa\n" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "A coluna tempo é inválida no arquivo %s\n" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Tipo de acesso inválido no arquivo \"%s\"\n" #: realtime.c:314 msgid "Realtime" msgstr "Tempo Real" #: realtime.c:315 msgid "Auto refresh" msgstr "Auto atualização" #: realtime.c:316 msgid "TYPE" msgstr "TIPO" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" "Opção \"redirector_log_format\" é inválida no arquivo sarg.conf (muitos " "caracteres antes da primeira tag)\n" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" "Opção \"redirector_log_format\" é inválida no arquivo sarg.conf (falta o # " "ao final da tag)\n" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" "Opção \"redirector_log_format\" é inválida no arquivo sarg.conf (muitos " "caracteresna coluna separadora)\n" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" "Análise da tag \"%s\" no log de redirecionamento \"%s\" não retornou nenhum " "resultado\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "String hora muito longa no arquivo log de redirecionamento %s\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Nome de banimento muito longo no arquivo log de redirecionamento %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "Lista de banimento muito longa no arquivo log de redirecionamento %s\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Endereço IP muito longo no arquivo log de redirecionamento %s\n" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "ID de usuário muito longo no arquivo log de redirecionamento \"%s\"\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "Origem de redirecionamento inválida no arquivo %s\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Lista de redirecionamento inválida no arquivo \"%s\"\n" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "IP de origem inválido no arquivo \"%s\"\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Lendo arquivo log de redirecionamento \"%s\"\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" "Memória insuficiente para armazenar o novo nome do redirecionador a ser lido " "- %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" "Nenhum log de redirecionamento informado para produzir o tipo de relatório\n" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Não foi possível abrir o arquivo de configuração squidGuard: %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "%d entrada de redirecionamento não mostrada aqui…" msgstr[1] "%d entradas de redirecionamento não mostradas aqui…" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "Relatório de redirecionamento não gerado por estar vazio\n" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "Relatório Redirecionamento" #: redirector.c:478 msgid "RULE" msgstr "REGRA" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Usuário inválido encontrado no arquivo \"%s\"\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" "%d erro encontrado no arquivo de log. Algumas entradas podem estar perdidas." msgstr[1] "" "%d erros encontrados no arquivo de log. Algumas entradas podem estar " "perdidas." #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "Muitas datas diferentes em \"%s\"\n" #: repday.c:127 msgid "Day report" msgstr "Relatório Dia" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "%02dH" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" "O total de downloads é % bytes em vez de % no relatório " "horário do usuário %s\n" #: repday.c:194 msgid "H:M:S" msgstr "H:M:S" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" "Total de tempo utilizado é % em vez de % no relatório do " "usuário %s\n" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" "Não é possível criar o diretório de saída contendo o período como parte do " "nome\n" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "Nome do diretório de saída do relatório = \"%s\"\n" #: report.c:258 msgid "Site access report" msgstr "Relatório de Acessos a Sites" #: report.c:268 msgid "DATE" msgstr "DATA" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" "Relatório Dansguardian não gerado porque falta informar o arquivo de " "configuração dansguardian\n" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "Relatório de downloads não requerido em report_type\n" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "Relatório Top Sites não requerido em report_type\n" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "Relatório Sites & Usuários não requerido em report_type\n" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "Relatório de acessos negados não requerido em report_type\n" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "Relatório de falhas de autenticação não requerido em report_type\n" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "Relatório Detalhado de Usuários não requerido em report_type\n" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "Relatório gerado com sucesso em %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Relatório gerado e enviado com sucesso para %s\n" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "Criando arquivo %s/%s\n" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Falha ao gravar a linha em \"%s\"\n" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Falha ao gravar a linha total em \"%s\"\n" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Número total de acessos é inválido no arquivo \"%s\"\n" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Tamanho total inválido em \"%s\"\n" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Total de tempo utilizado é inválido em \"%s\"\n" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Total de acertos em cache é inválido em \"%s\"\n" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Total de faltas em cache é inválido em \"%s\"\n" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Nome do usuário muito longo ou inválido em \"%s\"\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "URL muito longa ou inválida em \"%s\"\n" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Endereço IP muito longo ou inválido em \"%s\"\n" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "Tempo muito longo ou inválido em \"%s\"\n" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "Data muito longa ou inválida em \"%s\"\n" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Tamanho de acertos do cache é inválido em \"%s\"\n" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Tamanho de faltas de cache é inválido em \"%s\"\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" "Relatório de Sites & Usuários não gerado porque a opção de privacidade está " "on\n" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Sites & Usuários" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" "Não foi possível construir o comando de ordenação para ordenar o arquivo %s\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "SMARTFILTER" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "Gerado por %s em %s" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ordenando log: %s/%s.user_unsort\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "Nome de usuário muito longo para ordenar" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "conectar" #: sort.c:165 msgid "site" msgstr "site" #: sort.c:167 topuser.c:174 msgid "time" msgstr "hora" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "bytes" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "decrescente" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" "Relatório Top Sites não produzido porque a opção de privacidade está on\n" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" "Total de estatísticas diferem quando lendo %s para produzir os top sites\n" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Top sites" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "Top %d sites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Número inválido de usuários no arquivo \"%s\"\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "Total de estatísticas diferem ao ler %s para produzir o top usuários\n" #: topuser.c:168 msgid "user" msgstr "usuário" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "Relatório SARG para %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Ordenar: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Top Usuários" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Tabela de conteúdos" #: topuser.c:239 msgid "Redirector" msgstr "Redirecionador" #: topuser.c:241 msgid "Denied accesses" msgstr "Acessos Negados" #: topuser.c:244 msgid "Useragent" msgstr "Useragent" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" "Sem relatório de top usuários porque não está configurado em report_type\n" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Tamanho inválido de em-cache em \"%s\"\n" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Tamanho inválido de cache-fora em \"%s\"\n" #: topuser.c:353 msgid "Graphic" msgstr "Gráfico" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "O total de em-cache e cache-fora não é 100%% na posição %d (usuário %s)\n" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "O total de em-cache e cache-fora não é 100%%\n" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Erro de gravação na lista top usuários %s\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Memória insuficiente para armazenar as estatísticas diárias\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "Data inválida \"%s\" para estatísticas horárias\n" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "Componente data inválido em \"%s\" para as estatísticas horárias\n" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "Hora %d inválida para estatísticas horárias\n" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Muitas datas diferentes para as estatísticas horárias\n" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ãndice dia inválido encontrado nas estatíticas horárias\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "Apelido do host \"%s*%s\" contém muitos coringas (*)\n" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "Apelido do host \"%*s\" não pode terminar com um coringa\n" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" "Memória insuficiente para armazenar as diretivas de apelido para o nome do " "host\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Caracter NUL inválido encontrado na expressão regular\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Expressão regular não finalizada\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Falha ao compilar a expressão regular \"%s\": %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" "PCRE não compilado em consequência da falta das expressões regulares no " "arquivo\n" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Lendo arquivo de apelido do host \"%s\"\n" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Não foi possível ler o arquivo de apelido de host \"%s\": %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "Lista de nomes de host para apelidos:\n" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr " %s*%s => %s\n" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr " %s => %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr " *%s => %s\n" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr " %d.%d.%d.%d/%d => %s\n" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "Uso: %s [opções...]\n" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr " -a NOME|IP Cria relatório para o nome de host ou endereço IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr " -c ARQUIVO Exclui do relatório os hosts conectados" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr " --convert Converte arquivo access.log para uma data legível" #: usage.c:37 msgid " --css Output the internal CSS" msgstr " --css Mostra a CSS interna" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" " -d DATA Intervalo de datas para incluir no relatório: de-até dd/" "mm/aaaa-dd/mm/aaaa" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e MAIL Endereço de email para enviar os relatórios (stdout para " "console)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" " -f ARQUIVO Arquivo de configuração para ler (default é %s/sarg." "conf)\n" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" " -g FMT Formato da data [e=Europa -> dd/mm/aaaa, u=USA -> mm/dd/" "aaaa]" #: usage.c:42 msgid " -h This help" msgstr " -h Esta ajuda" #: usage.c:43 msgid " --help This help" msgstr " --help Esta ajuda" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Relatórios por usuário e endereço IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr " --keeplogs Mantém cada relatório gerado anteriormente" #: usage.c:46 msgid " -l FILE Input log" msgstr " -l ARQUIVO Log de Entrada" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" " --lastlog Seta o número de relatórios prévios a serem mantidos" #: usage.c:48 msgid " -m Advanced process messages" msgstr " -m Mensagens avançadas de processo" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n Resolve endereços IPs usando RDNS" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o DIR Diretório de saída do relatório" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" " -p Usa endereço IP no lugar do ID do usuário (reports)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr " -P PREFIX Coloca um prefixo no nome do arquivo" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s SITE Limita o relatório ao site acessado [ex. www.microsoft." "com]" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr " --split Diminui o arquivo de log por data no parâmetro -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" " --splitprefix PREFIXO\n" " Coloca um prefixo nos nomes de arquivos" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr " --statitics Mostra estatísticas de tempo de execução" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" " -t HORA Limita o relatório ao intervalo de tempo [HH:MM ou HH:MM-" "HH:MM]" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u USUÃRIO Relatório de atividades somente para o usuário" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w DIR Diretório temporário" #: usage.c:61 msgid " -x Debug messages" msgstr " -x Mensagens de depuração" #: usage.c:62 msgid " -z Process messages" msgstr " -z Mensagens de Processamento" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Lendo log useragent \"%s\"\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "UserAgent inválido no arquivo \"%s\"\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Registros lidos: %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "Criando relatório useragent\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Relatório Squid UserAgent's" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "AGENTE" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "Memória insuficiente para armazenar o usuário\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "Não foi possível carregar \"%s\": sem memória disponível\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "A lista de usuários é muito grande no arquivo \"%s\"\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "Não foi possível preparar a URI ldap para o servidor %s na porta %d\n" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "Impossível conectar ao servidor LDAP %s na porta %d: %d (%s)\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "Incapaz de desabilitar LDAP_OPT_REFERALS\n" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "Incapaz de configurar a versão %d do protocolo LDAP\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "Não foi possível conectar ao servidor LDAP: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "A procura LDAP falhou: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "Procurando por \"%s\" em ou sob \"%s\"\n" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "Carregando tabela LDAP de usuários\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "Módulo LDAP não compilado no sarg\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Carregando tabela de usuário: %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "getword backtrace:\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" "Não foi possível analisar novamente a linha porque ela foi modificada\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "Loop detectado em %s após %d bytes.\n" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "Linha=\"%s\"\n" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "Registro=\"%s\"\n" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "procurando por 'x%x'\n" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Estouro de inteiro detectado em %s na linha \"%s\"\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Buffer inválido passado para getword_ptr\n" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "Caminho \"%s\" inválido. Por favor use somente caminhos absolutos.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" "O número de dígitos passados para my_lltoa (%d) é maior que o tamanho do " "buffer de saída (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro," "Novembro,Dezembro" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" "A lista interna de nome de meses é inválida. Por favor avise esta falha ao " "tradutor.\n" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG:" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (info)" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Falha ao ler a data em \"%s\"\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Falha ao ler o número de usuários em \"%s\"\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Não foi possível pegar \"%s\": %s\n" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Falha ao copiar a imagem \"%s\" para \"%s\"\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Arquivo \"%s\" já existe, movendo para \"%s\"\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Falha ao gravar a data em \"%s\"\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" "Tamanho de buffer inválido passado para a função para copia segura da " "string\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" "A data passada como argumento não está no formato dd/mm/aaaa ou dd/mm/aaaa-" "dd/mm/aaaa\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "O intervalo passado como argumento não está no formato dd/mm/aaaa ou dd/mm/" "aaaa-dd/mm/aaaa\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "Falha ao ler a hora corrente\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Número inválido de dias no parâmetro -d\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Não foi possível converter a hora local: %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Número inválido de semanas no parâmetro -d\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Número de meses inválido no parâmetro -d\n" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Intervalo de datas inválido passado na linha de comando\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removendo arquivo temporário sarg-general\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "Muitos códigos para excluir no arquivo \"%s\"\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" "Não foi possível ver o espaço do disco porque o caminho \"%s%s\" é muito " "longo\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Não foi possível ver o espaço do disco com o comando %s\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Não foi possível ver o tamanho do disco com o comando %s\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" "O comando (%s) para calcular o tamanho ocupado do disco retornou uma string " "desconhecida %s\n" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" "\n" "Para a tradução funcionar, um arquivo válido de mensagem deve ser instalado " "em \"%s//LC_MESSAGES/%s.mo\", onde é derivado do local " "efetivo.\n" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "O locale efetivamente atual é \"%s\".\n" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "Locale não está informado na variável de ambiente.\n" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "Tipo de caminho desconhecido \"%s\"\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" "Arquivo \"%s\" desconhecido encontrado no diretório temporário \"%s\". Ele " "não é um dos nossos arquivos. Por favor verifique o diretório temporário " "informado ao sarg. Ajuste o caminho para um diretório seguro ou manualmente " "apague o conteúdo de \"%s\"\n" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" "Tipo de caminho desconhecido \"%s\". Verifique o diretório temporário.\n" #~ msgid "Log file name too long passed on command line with opton %s: %s\n" #~ msgstr "" #~ "Nome de arquivo de log muito longo passado na linha de comando com a " #~ "opção %s: %s\n" sarg-2.3.11/po/quot.sed000066400000000000000000000002311324060677300146410ustar00rootroot00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g sarg-2.3.11/po/remove-potcdate.sin000066400000000000000000000006601324060677300167730ustar00rootroot00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } sarg-2.3.11/po/ro.gmo000066400000000000000000000006231324060677300143050ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/ro.po000066400000000000000000002164151324060677300141510ustar00rootroot00000000000000# Romanian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Adrian Cretu , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Autentificari esuate" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Perioada" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "HOST" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/NUME" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "DATA/ORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "SIT ACCESAT" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Se sorteaza fisierul" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Se sterge vechiul raport" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Se citeste fisierul de accese" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Se sorteaza fisierul" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Nu poate fi deschis fisierul de accese" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Nu poate fi deschis fisierul de accese" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Se creaza fisierul" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Fisierul nu a putut fi gasit" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Fisier de loguri comprimat" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Se decompreseaza fisierul de loguri" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Interzis" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Raportul de acces Squid" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Acces descrescator (octeti)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Perioada" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "NR." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "CONECTARI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "OCTETI" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "TIMP FOLOSIT" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISECUNDE" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "ORA" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "MEDIU" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "rapoarte" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Se incarca fisierul de excluderi din" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Se incarca fisierul de excluderi din" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Se incarca fisierul de excluderi din" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "eroare la apelul malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Utilizator" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Fisierul nu a putut fi gasit" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "rapoarte" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Se citeste fisierul de accese" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Utilizator" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Se genereaza raportul" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "INTERZIS" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Se genereaza fisierul index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "rapoarte" msgstr[1] "rapoarte" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "FISIER/PERIOADA" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "DATA CREARII" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "UTILIZATORI" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Se sorteaza fisierul" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Nu s-au gasit inregistrari" msgstr[1] "Nu s-au gasit inregistrari" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Se sterge vechiul raport" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametri" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Nume de host sau adresa IP" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Adresa email pentru trimiterea rapoartelor" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Da" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Nu" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Nume de host sau adresa IP" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Nume de host sau adresa IP" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Se foloseste adresa IP in loc de userid" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "versiune" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Se citeste fisierul de accese" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Fisier de loguri comprimat" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Se citeste fisierul de accese" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Fisier de loguri cu format mixat (squid si comun)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Loguri in format comun" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Loguri in format squid" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Loguri in format invalid" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Nu s-au gasit inregistrari" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Sfarsit" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Se citeste fisierul de accese" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Perioada" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Se incarca fisierul de parole din" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Fisierul nu a putut fi gasit" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Se citeste fisierul de accese" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Se decompreseaza fisierul de loguri" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Se decompreseaza fisierul de loguri" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Se decompreseaza fisierul de loguri" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Se citeste fisierul de accese" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "DATA/ORA" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Raport generat cu succes in" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Raport generat cu succes si trimis la adresa" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Se creaza fisierul" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Situri & Utilizatori" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Generat de" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "situri" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topul siturilor -" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Se citeste fisierul de accese" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Nume de host sau adresa IP" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Se converteste fisierul access.log catre o data legitima" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Adresa email pentru trimiterea rapoartelor" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Rapoarte dupa user si adresa IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Log de intrare" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Mesaje de proces" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Se rezolva adresa de IP" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Se foloseste adresa IP in loc de userid" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Se imparte fisierul de loguri dupa data in parametrul -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Director temporar" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Mesaj de debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Mesaje de proces" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Se citeste logul useragent" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Inregistrari citite" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Se genereaza raportul useragent" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Raportul Squid Useragent" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Se incarca tabela de utilizatori" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Se incarca tabela de utilizatori" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Se incarca tabela de utilizatori" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "exista deja, mutat in" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Nu poate fi deshis fisierul" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nu poate fi deshis fisierul" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Se sterg fisierele temporare" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Se decompreseaza fisierul de loguri" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Report" #~ msgstr "Raport" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "eroare la apelul malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Sort" #~ msgstr "Sortare" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "eroare la apelul malloc" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Nu se poate incarca. Problema de memorie" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "on" #~ msgstr "la" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Se citeste fisierul de accese" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Logurile useragent" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Fisierul de excluderi" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Director de iesire" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Nu se poate incarca. Problema de memorie" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "eroare la apelul malloc" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Se creaza fisierul despartit cu virgule" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "IN" #~ msgstr "INTRARE" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "IESIRE" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Nu se poate incarca. Problema de memorie" #, fuzzy #~ msgid "malloc error" #~ msgstr "eroare la apelul malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topul siturilor -" #, fuzzy #~ msgid "Usage" #~ msgstr "Utilizare" #, fuzzy #~ msgid "options" #~ msgstr "optiuni" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Data de la - pana la" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Adresa email pentru trimiterea rapoartelor" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout pentru consola" #, fuzzy #~ msgid "Config file" #~ msgstr "Fisierul de configurare" #, fuzzy #~ msgid "Date format" #~ msgstr "Formatul datei" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Situri accesate" #, fuzzy #~ msgid "Time" #~ msgstr "Ora" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Top" #~ msgstr "Topul primelor" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Nu poate fi creat fisierul temporar" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Se citeste fisierul de accese" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "End" #~ msgstr "Sfarsit" #, fuzzy #~ msgid "File" #~ msgstr "Fisier" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limita depasita" #, fuzzy #~ msgid "Added to file" #~ msgstr "Adaugat la fisierul" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Nume de host sau adresa IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Adresa email pentru trimiterea rapoartelor" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Se foloseste adresa IP in loc de userid" #, fuzzy #~ msgid "written" #~ msgstr "scrise" #, fuzzy #~ msgid "excluded" #~ msgstr "exclus" #, fuzzy #~ msgid "IP report" #~ msgstr "Report adrese IP" sarg-2.3.11/po/ru.gmo000066400000000000000000002162151324060677300143210ustar00rootroot00000000000000Þ•î0 ¡”)¬)À)¼*Ÿ½*+]++‰++µ++á++ ,+9,<e,@¢,9ã,+-+I-+u-+¡-+Í-+ù-+%.+Q.+}.+©.+Õ.A/+C/o/:/>È/>0YF0- 0?Î0=1;L1Yˆ1Iâ1B,2Mo2½22Û23-,33Z3+Ž3>º3Iù3EC44‰4'¾4"æ4$ 5+.5Z52p5£5 »5Ç5#Ö5 ú5+636z96l´6e!7[‡7aã72E87x8A°8 ò8999@&9<g9 ¤9±95·97í9%:+: 3:A:a:5€:>¶:!õ:R;j;‚;%¢;:È;&<Q*<%|<$¢<Ç<ç<'=/*=1Z=*Œ="·=Ú=ñ=">*>Q>>>£>%¶>'Ü>$?)? .?8?=? D?6Q?Yˆ?#â?!@ (@$3@1X@Š@"¤@Ç@Î@4Þ@/A CAdA5ƒA ¹A ÃAÐA$ÕA'úA"B5BHB [BgB<‚B¿B2ÞB"C'4C0\C,CºC-ÚC"D +D+LD$xDD½D!ÝD'ÿD('EPEeE~E ”E¡E7©E%áEF3 F8AF/zF ªF2·F0êF.G'JGQrGÄG_ÌG8,HeHH-…HS³H`IchI ÌI2íI! J!BJ?dJ$¤JEÉJ%K5K UK'vKžK,»K9èK"L*=LhL%‚L1¨L'ÚL#M"&MIM*eM%M#¶M%ÚMN'N(DN%mN'“N)»N%åN( O)4O'^O)†O4°O"åO#P,P%IP%oP$•P!ºPÜP÷P Q3QSQsQ&ŽQ µQ!ÖQ#øQ.RKRgRRŸR ½RÞRùR-S*GSrS&SU´S! T,T DT7OT‡T¥T½TÜT#ûTU>U/\UAŒU2ÎUV V59V$oV”VV£V¼VÏVâV*ôVNW'nW–W.šWÉWMÌWXl9X7¦XyÞX%XY~Y;Y@ÌY% Z$3Z6XZ'Z0·Z@èZ-)[6W[=Ž[4Ì[N\EP\#–\$º\#ß\ ]`$] …]>’]Ñ]á]#è] ^B^$Z^^#„^¨^$Å^ê^!_*_E_a_ j_ w_‚_4”_É_ è_ `"`5`E`W`^` e`-s`¡`°`,É`6ö`-a 2a?>a~aa¬aTËaT bub ˆb2–bBÉb cc +c8c;Jc†c™c¸cÑcêc+üc"(dKdPdVd[dCld?°d'ðd e#9eR]e0°e!áeSfYWfn±f< g/]gWg/åg$hJ:hb…h=èh!&i#Hi/li'œi4Äi6ùiO0j$€j!¥jDÇjI k!Vk'xkA k3âk!l8l)Tl:~l+¹lCål4)m ^m km;um.±m àm$êmFnCVnCšn Þnÿno8 oAEoÓ‡o[p2zp­p7Åp/ýp+-q!Yq {q&œq Ãqäq+üq(r3-r-arr&¥r,Ìr(ùr "s4.scs ls2vsK©sCõs9tMtgt'„t ¬tÍtÒtÖt.Üt u %u2uÕ:uv!v*v*>v9iv@£v)äv"w$1wVwiw$pw •wÏ wpxxxx¢x§xÆxÏØx{¨y$z)z7.zöf|?]}F}Aä}L&~Is~J½~cxl]åHC€IŒ€JÖ€T!RvKÉD‚LZ‚K§‚Qó‚JEƒtƒB„%H„_n„^΄h-…–…a&†{ˆ†]‡Jb‡­‡‰-ˆ`·ˆs‰%Œ‰V²‰= ŠYGŠR¡Š?ôŠ4‹y´‹ˆ.Œm·Œ8%H^<§Oä'4ŽV\Ž³Ž ËŽ׎#æŽ Um‹tU‘èV’ó?“3”~:•¥¹•~_–Þ– ô–ÿ–%—~4—‹³—?˜\˜ƒe˜ƒé˜m™|™“™D­™Qò™fDšh«š;›vP›&Ç›Qî›U@œ–œk$¦F7žM~ž;Ìž6ŸT?Ÿˆ”Ÿ^ ]| BÚ 3¡5Q¡P‡¡4Ø¡Œ ¢.š¢'É¢Kñ¢K=£J‰£Ô£Ý£ñ£ø£ ¤S¤©l¤9¥oP¥À¥IÙ¥h#¦:Œ¦<Ǧ"§'§ªF§Zñ§CL¨O¨{à¨\©!m© ©E›©Há©"*ª$Mª4rª §ªW´ªu «5‚«b¸«O¬Ck¬T¯¬H­?M­M­;Û­8®UP®@¦®Gç®:/¯6j¯L¡¯Fî¯"5°-X°(†°!¯°1Ѱl±Ap±²±b»±f²j…²"ð²X³Tl³XÁ³L´©g´ µXµhtµ;ݵ ¶y'¶¡¶Ÿ2·§Ò·;z¸b¶¸B¹@\¹ƒ¹D!º”fºBûºd>»i£»I ¼?W¼R—¼hê¼5S½c‰½5í½P#¾at¾]Ö¾]4¿F’¿9Ù¿aÀ_uÀGÕÀEÁ7cÁR›Á>îÁ>-Â>lÂL«Â\øÂLUÃ\¢ÃLÿÃBLÄkÄ;ûÄa7Å9™ÅVÓÅ\*ÆF‡ÆHÎÆAÇ9YÇ@“Ç8ÔÇ5 È7CÈR{ÈMÎÈRÉVoÉ@ÆÉAÊ1IÊH{ÊSÄÊRËFkË4²ËKçË]3Ì3‘ÌNÅÌ“Í9¨Í:âÍÎ`0Îf‘Î?øÎ28Ï:kÏK¦Ï3òÏC&ÐKjЊ¶Ð€AÑÂÑ:âÑ„ÒL¢ÒïÒ ÓOÓ"aÓ„Ó!¡ÓXÃÓŽÔG«ÔóÔL÷ÔDÕzKÕ?ÆÕùÖo×Lp×F½Ø#Ù(ÙsªÙVÚJuÚ@ÀÚVÛ]XÛu¶ÛT,ÜbÜŽäÜbsݯÖÝŒ†Þ=ßWQßU©ßBÿߺBàýàxá(‹á ´áLÁáâjâ<ŠâÇâ8Öâ:ãBJã?ã6ÍãCäIHä’ä®äÁä!ÖäVøä2Oå?‚å3Âåöåæ&æ=æDæ KæEYæŸæ1¹æTëæc@ç ¤ç ±ç½ç!€èM¢è1ðè‘"é‘´é/Fê&vêœêÀ:ë ûëì"ì'Aìiì%ùì6íPVíW§í"ÿíL"î4oî ¤î ¯îºîÁîlÖîRCï@–ï6×ïVð–eðeüðLbñž¯ñ­Nò¬üòG©óKñó=ômÎô7<õtõöõI”öRÞö[1÷Z÷Pè÷p9øIªø~ôøRsùgÆùª.ú°ÙúuŠûRüˆSü_Üü<<ý>yýg¸ý† þk§þŽÿ~¢ÿ!8LmÜ!J>l‘«œ=ªÚ@…ÆßcøŠ\BçO*Yz,Ôiak_ÍB-IpLºC 7K bƒ æ cÿ ~c Vâ f9 k  e (r ‰› % )B †l ‹ó l"ì+-;QiO» `)4Š¿Ó0ñ'" J-WL…^Òz1I¬(öO&o"–Q¹ *"Gj(|¥9·ñ* Í5AbîBj’›éj“sJ„Q#"Â¥{i’K)!”E¯?AºÕ”óºWå/d"|²š­7v&Mk%ì¬6=×w®IK>ÌÛñë~Ío m\¢„«Ó;Hž&ˆFG[…äT] ÓÏŠ v ÃnoÉ2Wãâ“.˜ø°7U'à ¥ÑÑÐP³ õ¡¨g?}Ž`]ì§ @ÄZëg¿;òa:£ÄÔUDY²>^‘—Å Fe}›X¤»æËm¦­Úß HpÈc3b@é†LäOî_‡Vïµ)©Ø¼öRúD¤1JIª¢É9Ýæ~\M¸-ڽߵ(Þ3B0‰Ùyç`Ærлܕû fàÀʹS5N±{8%ü-xôf±,c ¾ØqV[Îu×´ðÏ©L‚=Æ£P‚Œ9ù¦t^n6|4‹pá½*† …·Ç<le‘ÒuᚬŠqÛËÅ•$⎇ˆh®w‹¡Õ¶è«³èÝr¯ªÇ'´Îƒ1¾Ô™€:iÿ¨8 kã0,ža¸h–<ZÌ+sGX¹lÁà§Tç·å/Ÿ—œíC5QE™C.Nx z€êy4‰#SÈ_íÖ÷¼À$–ÖÙœtYÞ¶ŒÁŸý°ÜRêþdO2ʘ¿(Í*Òz!ƒ+5<CÔ)è)ü)*,*H*\*p*„* *Jÿÿÿÿl3ÿÿÿÿ¡3ÿÿÿÿÖ "ÿÿÿÿ  "ÿÿÿÿfF ÿÿÿÿ¸kÿÿÿÿ%mÿÿÿÿ”3=ÿÿÿÿ.=ÿÿÿÿ For the translation to work, a valid message file should be installed as "%s//LC_MESSAGES/%s.mo" where is derived from the effective locale. Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Keep temporary files (-k) = %s Hostname or IP address (-a) = %s --convert Convert the access.log file to a legible date --css Output the internal CSS --help This help --keeplogs Keep every previously generated report --lastlog Set the number of previous reports to keep --split Split the log file by date in -d parameter --splitprefix PREFIX Prepend a prefix to the splitted file names --statistics Print run time statistics -P PREFIX Prepend a prefix to the splitted file names -a NAME|IP Create report for host name or IP address -c FILE Exclude connected hosts from the report -d DATE Date range to include in the report: from-until dd/mm/yyyy-dd/mm/yyyy -e MAIL Email address to send reports to (stdout for console) -f FILE Config file to read (default is %s/sarg.conf) -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy] -h This help -i Reports by user and IP address -l FILE Input log -m Advanced process messages -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages -z Process messages Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Previous reports to keep (--lastlog) = %d %02dH%d error found in the log file. Some entries may be missing.%d errors found in the log file. Some entries may be missing.%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…%d more redirector entry not shown here…%d more redirector entries not shown here…%d old report to delete %d old reports to delete %d report directory found %d report directories found A text line is more than %d bytes long denoting a corrupted file ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty Authentication failures report not requested in report_type Auto refreshBYTESBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create a temporary file name to produce the report: %s Cannot create directory "%s": %s Cannot create the output directory name containing the period as part of the name Cannot delete "%s": %s Cannot enumerate the user list Cannot get disk size with command %s Cannot get disk space because the path "%s%s" is too long Cannot get disk space with command %s Cannot get the modification time of input log file "%s": %s Processing it anyway Cannot get the size of file "%s": %s Cannot load "%s": not enough memory Cannot open directory "%s": %s Cannot open file "%s": %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot prepare ldap URI for server %s on port %d Cannot read host name alias file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Cannot stat "%s": %s Chaining IP resolving module "%s" Command failed: %s Command to execute to resolve the IP addresses is too long (maximum is %d bytes) Command too long: Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d Currently effective locale is "%s". DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Dansguardian report not produced because no dansguardian configuration file was provided Datafile "%s" written successfully Date too long or invalid in "%s" Day reportDecompressing log file "%s" with %s Decompression command too long for log file "%s" Decreasing Access (bytes)Deleting temporary directory "%s" DeniedDenied accessesDenied accesses report not requested in report_type Denied report not produced because it is empty Destination directory too long: Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed "tail" command: %s Failed to build the string representation of the date range Failed to close file "%s": %s Failed to compile the regular expression "%s": %s Failed to copy image "%s" to "%s" Failed to create link "%s" to "%s": %s Failed to get the %d trailing lines of "%s": %s Failed to get the creation time of "%s": %s Failed to get the current time Failed to move till the end of file "%s": %s Failed to open directory "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s Failed to rewind file "%s": %s Failed to write a line in "%s" Failed to write the date in "%s" Failed to write the total line in "%s" File "%s" already exists, moved to "%s" File "%s" not found Fontname "%s" not found Generated by %s on %sGraph reportGraphicGraphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" H:M:SHost name alias "%*s" must not end with a wildcard Host name alias "%s*%s" contains too many wildcards (*) Hour string too long in redirector log file %s IN-CACHE-OUTIP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP address too long in redirector log file %s IP address too long or invalid in "%s" IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIf this message is in English, then your language is not supported or not correctly installed. Ignoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Integer overflow detected in %s in line "%s" Invalid "redirector_log_format" option in your sarg.conf (missing # at end of tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters before first tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters in column separator) Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid access type in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid amount of data in file "%s" Invalid buffer length passed to the function to safely copy a string Invalid buffer passed to getword_ptr Invalid cache hit size in "%s" Invalid cache miss size in "%s" Invalid client IP address in file "%s" Invalid data returned by %s Invalid date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date in file "%s" Invalid date range passed on command line Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid day index found in the hourly statistics Invalid download duration in file "%s" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid in-cache column in file "%s" Invalid in-cache size in file "%s" Invalid in-cache volume in file "%s" Invalid month in file "%s" Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of users in file "%s" Invalid number of weeks in -d parameter Invalid out-of-cache column in file "%s" Invalid out-of-cache size in file "%s" Invalid out-of-cache volume in file "%s" Invalid path "%s". Please, use absolute paths only. Invalid record in IP address "%s" Invalid record in exclusion string Invalid record in file "%s" Invalid redirected list in file "%s" Invalid redirected source in file %s Invalid request method in file "%s" Invalid result code in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid source IP in file "%s" Invalid time column in file %s Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid total cache hit in "%s" Invalid total cache miss in "%s" Invalid total elapsed time in "%s" Invalid total number of accesses in file "%s" Invalid total size in "%s" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user found in file "%s" Invalid user in file "%s" Invalid useragent in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s" Invalid year in file "%s%s/sarg-date" January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Line="%s" Lines read: %lu lines in %.0lf seconds (%.0lf lines/s) List of host names to alias: Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Loading user table from LDAP Locale is not set in the environment variable. Log file name too long passed on command line with option %s: %s Log file name too long passed on command line: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) Loop detected in %s after %d bytes. MILLISECMONTHMaking Useragent report Making file %s/%s Making index.html Making report %s Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No graphs available as sarg was not compiled with libgd. Set "graphs" to "no" in %s to disable this warning No known module to resolve an IP address using the DNS No old reports to delete as only %d report currently exist No old reports to delete as only %d reports currently exists No option to configure for module %s No records found No redirector logs provided to produce that kind of report No top users report because it is not configured in report_type Not enough memory to read a log file Not enough memory to read file "%s" Not enough memory to read one more line from the file Not enough memory to read the log file Not enough memory to store the daily statistics Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the host name aliasing directives Not enough memory to store the key/value pair %s/%s Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Not enough memory to store user %s Option -%c requires an argument PCRE not compiled in therefore the regular expressions are not available in the host alias file Parameters: Parsing of tag "%s" in redirector log "%s" returned no result Path too long: PeriodPeriod covered by log files: %s-%s Period: %sProcessed records: %lu records in %.0lf seconds (%.0lf records/s) Purging temporary file sarg-general RULEReading DansGuardian log file "%s" Reading access log file: %s Reading access log file: from stdin Reading host alias file "%s" Reading redirector log file "%s" Reading user file "%s/%s" Reading useragent log "%s" RealtimeRecord="%s" RedirectorRedirector reportRedirector report not generated because it is empty Removing old report file "%s" Report output directory name=%s SARG reportSARG reportsSARG report for %sSARG report, %cSARG version: %s SARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERSarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Sending mail with command: %s Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSites & users report not requested in report_type Sites and users report not generated because privacy option is on SmartFilterSmartFilter reportSort: %s, %sSort: %s, %sSorted file doesn't exist (to produce the download report) Sorting file "%s" Sorting log %s/%s.user_unsort Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETable of contentTemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The command to compute the occupied disk size (%s) returned the unknown string %s The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The internal list of month names is invalid. Please report this bug to the translator. The list of the users is too long in file "%s" The name of the file is invalid: %s The output directory "%s" must be outside of the temporary directory "%s" The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The time stamp decimal part at column 1 is too long The total of the in-cache and cache-miss is not 100%% The total of the in-cache and cache-miss is not 100%% at position %d (user %s) The user ID at column 8 is too long The user at column 9 is too long Time period passed on the command line with option -t must be HH:MM Time range passed on the command line with option -t must be HH:MM-HH:MM Time too long or invalid in "%s" Too many codes to exclude in file "%s" Too many day directories in %s Supernumerary entries are ignored Too many different dates for the hourly statistics Too many different dates in "%s" Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option %s. Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop sites report not produced because privacy option is on Top sites report not requested in report_type Top usersTotal execution time: %.0lf seconds Total statistics mismatch when reading %s to produce the email report Total statistics mismatch when reading %s to produce the top sites Total statistics mismatch when reading %s to produce the top users URL too long or invalid in "%s" USERIDUSERSUnable to connect to LDAP server %s on port %d: %d (%s) Unknown color "%s" requested for the graph. Using orange instead Unknown file "%s" found in temporary directory "%s". It is not one of our files. Please check the temporary directory you gave to sarg. Adjust the path to a safe directory or manually delete the content of "%s" Unknown input log file format Unknown module "%.*s" to resolve the IP addresses Unknown path type "%s" Unknown path type "%s". Check your temporary directory Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser %s limit exceeded (%d MB). Added to file "%s" User ID too long in redirector log file "%s" User ID too long: %s User name too long or invalid in "%s" User name too long to manufacture file name User name too long to sort with command User reportUser's detailed report not requested in report_type User: %sUseragentUsers: %lu users in %.0lf seconds (%.0lf users/s) Using the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in file "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYesbytescannot build the sort command to sort file %s command return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s getword backtrace: iconv cannot convert from %s to UTF-8: %s iconv failed to convert string "%s" from %s to UTF-8: %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s looking for "%s" at or below "%s" malloc failed to allocate %ld bytes mkstemp error: %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesearching for 'x%x' setrlimit error: %s sitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg 2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2015-10-28 18:20+0300 Last-Translator: Evgeniy Yakushev Language-Team: Russian Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) X-Generator: Gtranslator 2.91.6 Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы работал перевод, должен приÑутÑтвовать файл Ñообщений по пути "%s//LC_MESSAGES/%s.mo", где взÑто из дейÑтвующей локали. Ð’Ñ€ÐµÐ¼Ñ (-t) = %s Пользователь (-u) = %s Отчёт по IP (-i) = %s Входной файл журнала (-l) = %s Выходной каталог (-o) = %s Файл конфигурации (-f) = %s Формат даты (-g) = Европа (дд/мм/гггг) Формат даты (-g) = Сайты и пользователи (гггг/мм) Формат даты (-g) = СШР(мм/дд/гггг) Файл иÑключений (-c) = %s ПоÑещённые Ñайты (-s) = %s Временный каталог (-w) = %s Журнал клиентÑких приложений (-b) = %s ДиагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ (-x) = %s Журнал редиректора (-L) = %s Период (от-до) (-d) = %s Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов (-z) = %s Разрешение IP-адреÑов (-n) = %s СохранÑть временные файлы (-k) = %s Ð˜Ð¼Ñ Ñ…Ð¾Ñта или IP-Ð°Ð´Ñ€ÐµÑ (-a) = %s --convert Преобразовать даты в файле access.log в читаемый формат --css Выгрузить вÑтроенный CSS --help Справка --keeplogs СохранÑть каждый ранее Ñозданный отчет --lastlog УÑтановка количеÑтва хранимых отчетов --split Разделить файл журнала по дате в параметре -d --splitprefix PREFIX Добавить Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð² начало имени разделÑемых файлов --statistics ВывеÑти ÑтатиÑтику по времени Ð²Ñ‹Ð¿Ð¾Ð»ÐµÐ½Ð¸Ñ -P PREFIX Добавление префикÑа в начале имени разделенных файлов -a Создание отчета Ð´Ð»Ñ Ñ…Ð¾Ñта или IP-адреÑа -c ФÐЙЛ ИÑключить хоÑты из отчета -d ДÐТРПериод, за который ÑтроитÑÑ Ð¾Ñ‚Ñ‡ÐµÑ‚: дд/мм/гггг-дд/мм/гггг -e MAIL ÐÐ´Ñ€ÐµÑ email, на который отправить отчет (stdout Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° в конÑоль) -f Файл конфигурации (по умолчанию %s/sarg.conf) -g Формат даты [e=Европа -> дд/мм/гггг, u=СШР-> мм/дд/гггг] -h Справка -i Отчет по пользователÑм и IP-адреÑам -l Входной файл журнала -m Дополнительные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов -n Разрешать IP адреÑа, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ RDNS -o DIR Каталог запиÑи отчета -p ИÑпользовать IP-адреÑа вмеÑто имен пользователей (отчеты) -s SITE Ограничить очет определенным Ñайтом [напр., www.microsoft.com] -t ВРЕМЯ Ограничить отчет временым интервалом [ЧЧ:ММ или ЧЧ:ММ-ЧЧ-ММ] -u ПОЛЬЗОВÐТЕЛЬ Отчет по активноÑти одного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -w DIR Временный каталог -x ДиагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ -z Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов Ðдреc email Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ отчета (-e) = %s Прочитано запиÑей: %ld ЗапиÑей прочитано %ld, запиÑано: %ld, иÑключено: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Сколько Ñтарых отчетов хранить (--lastlog) = %d %02dЧВ файле журнала найдена %d ошибка. Ðекоторые запиÑи могут отÑутÑтвовать.Ð’ файле журнала найдены %d ошибки. Ðекоторые запиÑи могут отÑутÑтвовать.Ð’ файле журнала найдено %d ошибок. Ðекоторые запиÑи могут отÑутÑтвовать.Ещё %d Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° аутентификации здеÑÑŒ не показана…Ещё %d неудачные попытки аутентификации здеÑÑŒ не показаны…Ещё %d неудачных попыток аутентификации здеÑÑŒ не показаны…Еще %d запиÑÑŒ dansguardian здеÑÑŒ не показана…Еще %d запиÑи dansguardian здеÑÑŒ не показаны…Еще %d запиÑей dansguardian здеÑÑŒ не показаны…Еще %d отказ в доÑтупе здеÑÑŒ не показан…Еще %d отказа в доÑтупе здеÑÑŒ не показаны…Еще %d отказов в доÑтупе здеÑÑŒ не показаны…Еще %d запиÑÑŒ редиректора здеÑÑŒ не показана…Еще %d запиÑи редиректора здеÑÑŒ не показаны…Еще %d запиÑей редиректора здеÑÑŒ не показано…Будет удален %d отчет Будет удалено %d отчета Будет удалено %d отчетов Ðайден %d каталог Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°Ð¼Ð¸ Ðайдены %d каталога Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°Ð¼Ð¸ Ðайдено %d каталогов Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°Ð¼Ð¸ ТекÑÑ‚Ð¾Ð²Ð°Ñ Ñтрока длиной более %d байт указывает на поврежденный файл ÐÐ´Ñ€ÐµÑ ÑайтаÐгентСреднееСбои аутентификацииОтчет об отказах аутентификации не был Ñоздан, поÑкольку что он пуÑÑ‚ Создание отчета о неудавшейÑÑ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ не указано в параметре report_type ÐвтообновлениеБайтСлишком длинный ÑпиÑок блокируемых иÑточников в журнале редиректора %s Слишком длинное иÑходное блокируемое иÑходное в журнале редиректора %s ПричинаПодключенийДата ÑозданиÑÐе удалоÑÑŒ ÑвÑзатьÑÑ Ñ Ñервером LDAP: %s Ðе удаётÑÑ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ локальное времÑ: %s Ðе могу преобразовать метку времени в файле журнала squid Ðе удаётÑÑ Ñоздать временный файл Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°: %s Ðе удалоÑÑŒ Ñоздать каталог "%s": %s Ðе удаётÑÑ Ñоздать выходной каталог Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, Ñодержащим период Ðе могу удалить "%s": %s Ðе могу пронумеровать ÑпиÑок пользователей Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер диÑка командой %s Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке, Ñ‚.к. путь "%s%s" Ñлишком длинный Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке командой %s Ðе могу получить Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла журнала "%s": %s Работа Ñ Ð½Ð¸Ð¼ бует продолжена Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ размер файла "%s": %s Ðе могу загрузить "%s": недоÑтаточно памÑти Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ каталог "%s": %s Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: "%s": %s Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации squidGuard: %s Ðе удаётÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ проанализировать Ñтроку, поÑкольку она была изменена Ðе удалоÑÑŒ подготовить ldap URI Ð´Ð»Ñ Ñервера %s на порт %d Ðе удаётÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ файл пÑевдонимов хоÑтов "%s": %s Ðе удаётÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ñ‚ÑŒ Ð¸Ð¼Ñ Ñ…Ð¾Ñта "%s": %s Ðе могу выполнить команду %s Ðе удаётÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ stat "%s": %s Подключение Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов "%s" Ðе могу выполнить команду: %s Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑа (макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° -%d байт) Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: Общий формат журнала Ðе удалоÑÑŒ отключить параметр LDAP_OPT_REFERRALS Ðе удалоÑÑŒ выбрать верÑию протокола LDAP %d Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð´ÐµÐ¹Ñтвующей локалью ÑвлÑетÑÑ "%s". ДатаДата/ВремÑДниЗапрещеноDansGuardianОтчет dansguardian не Ñоздан, поÑкольку что он пуÑÑ‚ Отчет по журналу dansguardian не Ñделан, потому что конфигурационный файл dansguardian не предоÑтавлен Файл данных "%s" уÑпешно запиÑан Слишком большое или недейÑтвительное значение Ð´Ð»Ñ Ð´Ð°Ñ‚Ñ‹ в "%s" Отчет за деньРаÑпаковка файла журнала "%s" Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ %s Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° раÑпаковки Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° журнала "%s" ДоÑтуп в порÑдке ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸Ñ (байт)Удаление временного каталога "%s" Отказано в доÑтупеОтказы в доÑтупеСоздание отчета о попытках Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº запрещенным реÑурÑам не указано в параметре report_type Отчет об отказах не Ñоздан, поÑкольку что он пуÑÑ‚ Слишком длинный каталог назначениÑ: Слишком длинный ÑпиÑок ÑуффикÑов загрузок Создание отчета о загруженных файлах не указано в параметре report_type ЗагрузкиЗатраченное времÑКонец Ошибка: Ðеверный ÑинтакÑÐ¸Ñ Ð² теге hours! Ошибка: Ðеверный ÑинтакÑÐ¸Ñ Ð² теге weekdays! ИÑключенный код: %s ИÑключенный Ñайт: %s ИÑключенный пользователь: %s ПериодВыполнение команды "tail" завершилоÑÑŒ неудачей: %s Ðе удалоÑÑŒ Ñформировать Ñтроковое предÑтавление диапазона дат Ðе удалоÑÑŒ закрыть файл "%s": %s Ðе удалоÑÑŒ Ñкомпилировать регулÑрное выражение "%s": %s Ðе удалоÑÑŒ Ñкопировать изображение "%s" в "%s" Ðе удалоÑÑŒ Ñоздать ÑÑылку "%s" на "%s": %s Ðе удалоÑÑŒ получить %d поÑледних Ñтрок из "%s": %s Ðе удалоÑÑŒ получить дату ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ "%s": %s Ðе удалоÑÑŒ получить текущее Ð²Ñ€ÐµÐ¼Ñ Ðе удалоÑÑŒ перемеÑтить в конец файла "%s": %s Ðе удалоÑÑŒ открыть каталог "%s": %s Ðе удалоÑÑŒ прочитать дату в "%s" Ðе удалоÑÑŒ прочитать чиÑло пользователей в "%s" Ðе удалоÑÑŒ переименовать "%s" в "%s": %s Ðе удалоÑÑŒ перейти в начало файла "%s": %s Ðе удалоÑÑŒ запиÑать Ñтроку в "%s" Ðе удалоÑÑŒ запиÑать дату в "%s" Ðе удалоÑÑŒ запиÑать общее чиÑло Ñтрок в %s Файл "%s" уже ÑущеÑтвует, перемещён в "%s" Файл "%s" не найден: Ðе найдено Ð¸Ð¼Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð° "%s" Сгенерировано на %s в %sГрафичеÑкий отчётГрафичеÑкое предÑтавлениеГрафики отключены, поÑкольку не указаны имена шрифтов в "%s" Графики отключены, как указано в "%s" Ч:М:СПÑевдоним хоÑта "%*s" не должен заканчиватьÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼ ПÑевдоним хоÑта "%s*%s" Ñодержит Ñлишком много шаблонов (*) Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ñтрока в поле Ñ‡Ð°Ñ Ð² журнале редиректора %s из кÑша / не из кÑшаСлишком длинный IP-Ð°Ð´Ñ€ÐµÑ "%.*s" Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка команды Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ %s Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка команды Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ Ð² журнале редиректора %s Ðеверный или Ñлишком длинный IP-Ð°Ð´Ñ€ÐµÑ Ð² "%s" Разрешение IP-адреÑа в Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð° (getnameinfo) Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа "%s" завершилоÑÑŒ неудачно, ошибка %d - %s IP/ИмÑПроверка перевода: руÑÑкий Ñзык поддерживаетÑÑ ÐŸÑ€Ð¾Ð¿ÑƒÑк дублирующего Ð¼Ð¾Ð´ÑƒÐ»Ñ "%s" Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов ПропуÑк Ñтарых файлов журнала %s Ðачало Обнаружено переполнение целочиÑленной переменной в %s в Ñтроке "%s" ÐедопуÑтимый параметр "redirector_log_format" в sarg.conf (отÑутÑтвует Ñимвол '#' в конце Ñ‚Ñга) ÐедопуÑтимый параметр "redirector_log_format" в sarg.conf (Ñлишком много Ñимволов перед первым Ñ‚Ñгом) ÐедопуÑтимый параметр "redirector_log_format" в sarg.conf (Ñлишком много Ñимволов в разделителе Ñтолбцов) ÐедопуÑтимый IP-Ð°Ð´Ñ€ÐµÑ Ð² файле "%s" Ð’ регулÑрном выражении найден недопуÑтимый Ñимвол NUL ÐедопуÑтимый код доÑтупа в файле "%s" ÐедопуÑтимый тип доÑтупа в файле %s Возвращен недопуÑтимый тип адреÑа %d во Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ хоÑта "%s" ÐедопуÑтимый объем данных в файле "%s" ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð»Ð¸Ð½Ð° буфера, Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² функцию безопаÑного ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтроки ÐедопуÑтимый буфер передан в getword_ptr ÐедейÑтвительное значение объема данных "из кÑша" в "%s" ÐедейÑтвительное значение объема данных "не из кÑша" в "%s" ÐедопуÑтимый IP-Ð°Ð´Ñ€ÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð° в файле "%s" %s вернул недейÑтвительные данные ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð°Ñ‚Ð° "%s" Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики ÐедопуÑтимый компонент даты в "%s" Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð°Ñ‚Ð° в файле "%s" Ð’ командной Ñтроке передан недопуÑтимый интервал дат ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð°Ñ‚Ð° в файле "%s" Ð’ файле "%s%s/sarg-date" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день Ðайден недопуÑтимый Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð½Ñ Ð² чаÑовой ÑтатиÑтике ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ в файле "%s" ÐедопуÑтимый размер загруженных данных в файле "%s" Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле "%s" ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле "%s" ÐедопуÑтимое значение чаÑа %d Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики ÐедопуÑтимое значение в Ñтолбце "из кеша" в файле "%s" ÐедопуÑтимый объём "из кеша" в файле "%s" ÐедопуÑтимый объем "из кеша" в файле %s ÐедопуÑтимый меÑÑц в файле "%s" Ð’ файле "%s%s/sarg-date" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ меÑÑц Ðеверное чиÑло доÑтупа в файле "%s" ÐедопуÑтимое чиÑло байт в файле %s Ðеверное чиÑло дней в параметре -d ÐедопуÑтимое чиÑло меÑÑцев в параметре -d ÐедопуÑтимое количеÑтво пользователей в файле "%s" ÐедопуÑтимое чиÑло неделей в параметре -d ÐедопуÑтимый значение в Ñтолбце out-of-cache в файле "%s" ÐедопуÑтимый объём "не из кеша" в файле "%s" ÐедопуÑтимый объем out-of-cache в файле %s ÐедопуÑтимый путь "%s". ИÑпользуйте только абÑолютные пути. ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ IP-адреÑа "%s" ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в Ñтроке Ñ Ð¾Ð¿Ð¸Ñанием иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле "%s" ÐедопуÑтимый ÑпиÑок перенаправлений в файле %s ÐедопуÑтимый перенаправленный иÑточник в файле %s ÐедопуÑтимый метод запроÑа в файле "%s" ÐедопуÑтимый код результата в файле "%s" ÐедейÑтвительное правило в файле %s ÐедопуÑтимый назмер в файле "%s" ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ smart Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² файле "%s" Ðеверный IP иÑточника в файле %s ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð² файле "%s" Ð’ файле "%s%s/sarg-date" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ ÐедопуÑтимое значение "найдено в кÑше" в %s ÐедопуÑтимое значение "не найдено в кÑше" в %s ÐедопуÑтимое Ñуммарное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² "%s" Ðеверное чиÑло доÑтупов в файле "%s" ÐедопуÑтимый Ñуммарный размер в "%s" ÐедопуÑтимый URL в файле "%s" ÐедопуÑтимый ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле "%s" ÐедопуÑтимый IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле "%s" Ðайден недопуÑтимый пользователь в файле "%s" ÐедопуÑтимый пользователь в файле "%s" ÐедопуÑтимый useragent в файле %s ÐедопуÑтимое значение параметра "date_format" Ð’ файле "%s%s/sarg-date" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день недели ÐедопуÑтимый год в файле "%s" Ð’ файле "%s%s/sarg-date" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ год Январь,Февраль,Март,Ðпрель,Май,Июнь,Июль,ÐвгуÑÑ‚,СентÑбрь,ОктÑбрь,ÐоÑбрь,ДекабрьSarg Ñкомпилирован без Ð¼Ð¾Ð´ÑƒÐ»Ñ LDAP ПоиÑк LDAP завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹: %s Строка="%s" Прочитано: %lu Ñтрок за %.0lf Ñекунд (%.0lf Ñтрок в Ñекунду) СпиÑок имен хоÑтов, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… будет Ñоздан пÑевдоним: Загрузка таблицы пользователей: %s Загрузка конфигурации из %s Загрузка файла иÑключений из: %s Загрузка иÑключённых адреÑов из файла: %s Загрузка файла паролей из %s Загрузка ÑпиÑка пользователей из LDAP Локаль не задана в переменной окружениÑ. Ð’ командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ %s передан файл Ñо Ñлишком длинным именем: %s Ð’ командной Ñтроке передано файл журнала Ñо Ñлишком длинным именем: %s Журнал Microsoft ISA: %s Журнал Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимым форматом Журнал Ñо Ñмешанным форматом запиÑей (формат журнала squid и общий формат) Обнаружено зацикливание в %s поÑле %d байт. МиллиÑекундМеÑÑцСоздание отчета по клиентÑким приложениÑм Создание файла %s/%s Создание index.html Создание отчёта %s ОтÑутÑтвуют двойные ковычки поÑле параметра "%s" ОтÑутÑтвуют двойные ковычки поÑле параметра "%s" или значение более чем %d байт ОтÑутÑтвует второе Ñлово параметра "%s" №Слишком длинное Ð¸Ð¼Ñ ÑƒÐ´Ð°Ð»Ñемого файла: %s/%s ÐетÐет команды Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑа. ПожалуйÑта, укажите ее в sarg.conf Ðет Ñведений о загружаемых файлах Графики недоÑтупны, поÑкольку sarg был Ñкомпилирован без libgd. Ð’Ñ‹Ñтавите "graphs" в значение "no" в файле %s, чтобы не выводить Ñто предупреждение Ðет извеÑтных модулей Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ DNS Ðет отчетов Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, поÑкольку имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d отчет Ðет отчетов Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, поÑкольку имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d отчета Ðет отчетов Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, поÑкольку имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d отчетов Ðет параметров наÑтройки Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ %s ЗапиÑей не найдено Ðе предоÑтавлены журналы редиректора Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð° такого типа Ðет отчета о топ-пользователÑÑ…, поÑкольку он не указан в report_type ÐедоÑтаточно памÑтит Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° "%s" Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° ÐедоÑтаточно памÑтит Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð½ÐµÐ²Ð½Ð¾Ð¹ ÑтатиÑтики ÐедоÑтаточно памÑти Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ каталога "%s" в индекÑе Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых URL Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых IP-адреÑов Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñевдонимов именам хоÑтов Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ñ‹ ключ/значение %s/%s ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ нового журнала редиректора, который нужно прочитать - %s Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½ компьютеров, ÑоответÑтвующих IP-адреÑам. Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ URL ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s Ð”Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° -%c требуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Sarg Ñкомпилирован без Ð¼Ð¾Ð´ÑƒÐ»Ñ PCRE, поÑтому регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимы в файле пÑевдонимов хоÑтов Параметры: Обработка признака "%s" в журнале редиректора %s не дала результата Слишком длинный путь: ПериодПериод, охватываемый файлами журнала: %s-%s Период: %sОбработано: %lu запиÑей за %.0lf Ñекунд (%.0lf запиÑей в Ñекунду) ОчиÑтка временного файла sarg-general ПРÐВИЛОЧтение файла журнала DansGuardian: %s Чтение файла журнала доÑтупа: %s Чтение файла журнала доÑтупа: из stdin Чтение файла пÑевдонимов хоÑтов %s Чтение журнала редиректора %s Чтение пользовательÑкого файла "%s/%s" Чтение журнала клиентÑких приложений %s Реальное времÑЗапиÑÑŒ="%s" РедиректорОтчет редиректораОтчет редиректора не Ñоздан, поÑкольку он пуÑÑ‚ Удаление Ñтарого отчёта "%s" Ð˜Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð»Ñ Ð²Ñ‹Ð³Ñ€ÑƒÐ·ÐºÐ¸ отчета%s Отчёт SARGОтчёты SARGОтчёты SARGОтчёт SARG за %sОтчёт SARG за %cВерÑÐ¸Ñ SARG: %s SARG, SARG: SARG: (info) SARG: ЗапиÑей в файле: %lu, прочитано: %3.2lf%%SARG: признак: %s SARG: ÐеизвеÑтный параметр %s SARG: отчет за %04dSARG: отчеты за %04dSARG: отчеты за %04dSARG: отчет за %04d/%02dSARG: отчеты за %04d/%02dSARG: отчеты за %04d/%02dРазмерSMARTFILTERSarg Ñкомпилирован Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ вывода Ñообщений об ошибках, еÑли выходные данные формируютÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Формат журнала sarg Проанализированный журнал Ñохранен как %s Отправка почты командой: %s ÐедоÑтаточно данных, возвращенных вызовом getaddrinfo Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа IPv4: %d байт вмеÑто %d ÐедоÑтаточно данных, возвращенных вызовом getaddrinfo Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа IPv6: %d байт вмеÑто %d Отчёт по поÑещению ÑайтовСайты и пользователиСоздание отчета о Ñайтах и поÑещавших их пользователÑÑ… не указано в параметре report_type Отчёт по Ñайтам и поÑещавших их пользователÑм не Ñделан, поÑкольку включен параметр конфиденциальноÑти SmartFilterОтчет SmartfilterОтÑортировано: %s, %sОтÑортировано: %s, %sÐет файла, который необходимо отÑортировать (Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð° о загрузках) Сортировка файла "%s" Сортировка журнала %s/%s.user_unsort Отчёт доÑтупа пользователей в интернет (Squid)Отчет прокÑи-Ñервера по клиентÑким приложениÑмФормат журнала squid Отчёт Ñгенерирован уÑпешно и отправлен %s УÑÐ¿ÐµÑˆÐ½Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° %s ВремÑÐ’ÑегоТипСодержаниеСлишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° шаблона в параметре "AuthUserTemplateFile" Ðеверный параметр "byte_cost" файла конфигурации Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ Ð² Ñтолбце 3 Слишком длинный URL в Ñтолбце 7 Слишком большое значение в Ñтолбце 6 (дейÑтвие) Команда Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтчета занимаемого меÑта на диÑке (%s) вернула неизвеÑтную Ñтроку %s Слишком большое значение в Ñтолбце 2 (Ð²Ñ€ÐµÐ¼Ñ ÑоединениÑ) Слишком большой размер данных в Ñтолбце 8 Дата, Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² качеÑтве аргумента, не в формате дд/мм/гггг или дд/мм/гггг-дд/мм/гггг Диапазон дат, переданный в качеÑтве аргумента, не в формате дд/мм/гггг или дд/мм/гггг-дд/мм/гггг Каталог "%s%s" похож на каталог Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð°Ð¼Ð¸, но не Ñодержит файла sarg-date. Этот каталог надо удалить. Певрое Ñлово параметра "%s" более %d байт Ðеверное чиÑловое значение параметра "%s" Внутренний ÑпиÑок названий меÑÑцев недопуÑтим. Сообщите об Ñтом переводчикам Ð’ файле %s ÑодердитÑÑ Ñлишком большой ÑпиÑок пользователей. ÐедейÑтвительное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s Каталог Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° "%s" должен быть за пределами временного каталога "%s" Запрошенное количеÑтво цифр, переданное в my_lltoa (%d) больше, чем размер буфера вывода (%d) Второе Ñлово параметра "%s" больше %d байт Слишком большое значение в Ñтолбце 5 (размер) Слишком большое значение в Ñтолбце 4 (код ÑтатуÑа) Слишком длинное Ñтроковое значение параметра "%s" Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° времени в Ñтолбце 1 Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð´ÐµÑÑÑ‚Ð¸Ñ‡Ð½Ð°Ñ Ñ‡Ð°Ñть отметки времени в Ñтолбце 1 Сумма "из кÑша" и "не из кÑша" не равна 100%% Сумма значение "из кÑша" и "не из кÑша" не равна 100%% в %d (пользователь %s) Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² Ñтолбце 8 Слишком большой размер данных в Ñтолбце 9 (пользователь) Промежуток времени, переданный в командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -t должен быть в формате ЧЧ:ММ Интервал времени, переданный в командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -t должен быть в формате ЧЧ:ММ-ЧЧ:ММ Слишком большое или недейÑтвительное значение Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ в "%s" Слишком много кодов Ð´Ð»Ñ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² файле %s Слишком много каталогов Ð´Ð»Ñ Ð´Ð½ÐµÐ¹ в %s Лишние запиÑи будут проигнорированы. Слишком большой Ñ€Ð°Ð·Ð±Ñ€Ð¾Ñ Ð´Ð°Ñ‚ Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики Слишком большой Ñ€Ð°Ð·Ð±Ñ€Ð¾Ñ Ð´Ð°Ñ‚ в "%s" Слишком много ÑуффикÑов загрузок Слишком много файлов журналов в конфигурационном файле Ð’ командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ %s передано Ñлишком много файлов журнала. Ð’ командной Ñтроке передано Ñлишком много файлов журнала. Слишком много каталогов Ð´Ð»Ñ Ð¼ÐµÑÑцев в %s Лишние запиÑи будут проигнорированы. Слишком много файлов журналов в конфигурационном файле редиректора Топ %d ÑайтовТоп ÑайтовОтчет по топ Ñайтам не Ñделан, поÑкольку включён параметр конфиденциальноÑти Создание отчета по топ-Ñайтам не указано в параметре report_type Топ пользователейОбщее Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»ÐµÐ½Ð¸Ñ: %.0lf Ñекунд Общее неÑовпадение ÑтатиÑтики во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ отчета ÐеÑоответÑтвие общей ÑтатиÑтики во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпиÑка топ Ñайтов ÐеÑоответÑтвие общей ÑтатиÑтики во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпиÑка топ пользователей Ðеверный или Ñлишком длинный URL в %s ПользовательПользователиÐевозможно подключитьÑÑ Ðº Ñерверу LDAP %s на порт %d: %d (%s) ÐеизвеÑтный цвет "%s", запрошенный Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ°. Будет иÑпользован оранжевый. Во временном каталоге "%s" найден неизвеÑтный файл "%s". Это не наш файл. Проверьте временный каталог Ð´Ð»Ñ sarg. Укажите путь к безопаÑному каталогу или вручную удалите Ñодержимое "%s" ÐеизвеÑтный формат входного файла журнала ÐеизвеÑтный модуль "%.*s" Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов ÐеизвеÑтный тип пути "%s" ÐеизвеÑтный тип пути Ð´Ð»Ñ "%s". Проверьте временный каталог ÐеизвеÑтный критерий Ñортировки "%s" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° "%s" ÐеизвеÑтный порÑдок Ñортировки "%s" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° "%s" ÐеизвеÑтный тип %d Ð´Ð»Ñ Ð¼Ð°Ñштаба оÑи Y ÐеизвеÑтный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s в файле "%s" ÐеизвеÑтное значение "%s" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° "%s" Ðезавершенное регулÑрное выражение ИÑпользование: %s [параметры...] ИÑпользовать IP-Ð°Ð´Ñ€ÐµÑ Ð²Ð¼ÐµÑто имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (-p) = %s ПользовательПользователь %s превыÑил лимит (%d MB). Добавлен в файл "%s" Слишком длинный идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² журнале редиректора %s Слишком длинный идентификатор пользователÑ: %s ÐедопуÑтимое или Ñлишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² "%s" Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ файлаСлишком длинное Ñортируемое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ÐžÑ‚Ñ‡Ñ‘Ñ‚ по пользователюСоздание подробного отчета по пользователÑм не указано в параметре report_type Пользователь: %sКлиентÑкие приложениÑПользователи: %lu пользователей за %.0lf Ñекунд (%.0lf пользователей в Ñекунду) ИÑпользуетÑÑ Ñ„Ð°Ð¹Ð» журнала dansguardian "%s", указанный в конфигурационном файле "%s" Значение "%s" конфликтует Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ значениÑми параметра "%s" Во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ "%s" Ошибка запиÑи в файл "%s" Ошибка запиÑи в Ð¸Ð½Ð´ÐµÐºÑ %s Ошибка запиÑи в файл журнала Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s Ошибка запиÑи в ÑпиÑок топ-пользователей %s ГодДапо байтамÐе могу Ñформировать команду Ð´Ð»Ñ Ñортировки файла %s Команда вернула ÑоÑтоÑние %d Команда: %s по подключениÑмПараметр dansguardian_ignore_date уÑтарел и заменен параметром dansguardian_filter_out_date, который противоположен параметру dansguardian_ignore_date. ПожалуйÑта, обновите ваш конфигурационный файл. Отчёт по дате/временидата=%s траÑÑировка вызова getword: iconv не удаётÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ из %s в UTF-8: %s iconv не удалоÑÑŒ конвертировать Ñтроку "%s" из %s в UTF-8: %s libgd не удалоÑÑŒ вычиÑлить размеры ограничивающей рамки текÑта "%s": %s libgd не удалоÑÑŒ преобразовать текÑÑ‚ "%s": %s поиÑк "%s" в "%s" или ниже Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼Ñти (запрошено %ld байт) ошибка вызова mkstemp: %s в порÑдке убываниÑÐедоÑтаточно памÑти Ð´Ð»Ñ Ñортировки индекÑа период=%s Параметр redirector_ignore_date уÑтарел и заменен параметром redirector_filter_out_date, который противоположен параметру redirector_ignore_date. ПожалуйÑта, обновите ваш конфигурационный файл. в обратном порÑдкепоиÑк 'x%x' Ошибка вызова setrlimit: %s по ÑайтамКоманда sort вернула ÑоÑтоÑние %d Команда sort: %s Параметр squidguard_ignore_date уÑтарел и заменен параметром redirector_filter_out_date, который противоположен параметру squidguard_ignore_date. ПожалуйÑта, обновите ваш конфигурационный файл. Параметр squidguard_log_format уÑтарел и заменен параметром redirector_log_format. ПожалуйÑта, обновите ваш конфигурационный файл. по временипо пользователюPRIu64PRId64PRIi64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % Total downloaded bytes is % instead of % in the hourly report of user %s Total elapsed time is % instead of % in the hourly report of user %s Ошибка вызова функции realloc (запрошено % байт) Минимум Ð´Ð»Ñ Ð¼Ð°Ñштаба Y графика вне допуÑтимого диапазона: % МакÑимум Ð´Ð»Ñ Ð¼Ð°Ñштаба Y графика вне допуÑтимого диапазона: % Общее чиÑло Ñкачанных байт % вмеÑто % Ð’ чаÑовом отчете Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s Общее затраченное Ð²Ñ€ÐµÐ¼Ñ % вмеÑто % в чаÑовом отчете Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s sarg-2.3.11/po/ru.po000066400000000000000000003027151324060677300141560ustar00rootroot00000000000000# Russian translation for SARG # Copyright (C) 2015 Free Software Foundation, Inc. # This file is distributed under the same license as the SARG package. # Leonid Pushkarev , 2011. # Evgeniy Yakushev , 2015. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2015-10-28 18:20+0300\n" "Last-Translator: Evgeniy Yakushev \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Gtranslator 2.91.6\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Слишком длинный путь: " #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: \"%s\": %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "Ещё %d Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° аутентификации здеÑÑŒ не показана…" msgstr[1] "Ещё %d неудачные попытки аутентификации здеÑÑŒ не показаны…" msgstr[2] "Ещё %d неудачных попыток аутентификации здеÑÑŒ не показаны…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Ðе могу удалить \"%s\": %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "Отчет об отказах аутентификации не был Ñоздан, поÑкольку что он пуÑÑ‚\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "Команда sort вернула ÑоÑтоÑние %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "Команда sort: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "Сбои аутентификации" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Период: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "Пользователь" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/ИмÑ" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "Дата/ВремÑ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "ÐÐ´Ñ€ÐµÑ Ñайта" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\"\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð°Ñ‚Ð° в файле \"%s\"\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð² файле \"%s\"\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "ÐедопуÑтимый пользователь в файле \"%s\"\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "ÐедопуÑтимый IP-Ð°Ð´Ñ€ÐµÑ Ð² файле \"%s\"\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "ÐедопуÑтимый URL в файле \"%s\"\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "ÐеизвеÑтный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s в файле \"%s\"\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Ошибка запиÑи в файл \"%s\"\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ закрыть файл \"%s\": %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле \"%s\"\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "ИÑпользуетÑÑ Ñ„Ð°Ð¹Ð» журнала dansguardian \"%s\", указанный в конфигурационном " "файле \"%s\"\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Чтение файла журнала DansGuardian: %s\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Сортировка файла \"%s\"\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "Еще %d запиÑÑŒ dansguardian здеÑÑŒ не показана…" msgstr[1] "Еще %d запиÑи dansguardian здеÑÑŒ не показаны…" msgstr[2] "Еще %d запиÑей dansguardian здеÑÑŒ не показаны…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Отчет dansguardian не Ñоздан, поÑкольку что он пуÑÑ‚\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "Причина" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "ÐедейÑтвительное правило в файле %s\n" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Ðе могу пронумеровать ÑпиÑок пользователей\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Чтение пользовательÑкого файла \"%s/%s\"\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ smart Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² файле \"%s\" \n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ URL\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Файл данных \"%s\" уÑпешно запиÑан\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "Файл \"%s\" не найден: \n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "РаÑпаковка файла журнала \"%s\" Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ %s\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° раÑпаковки Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° журнала \"%s\"\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "Еще %d отказ в доÑтупе здеÑÑŒ не показан…" msgstr[1] "Еще %d отказа в доÑтупе здеÑÑŒ не показаны…" msgstr[2] "Еще %d отказов в доÑтупе здеÑÑŒ не показаны…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "Отчет об отказах не Ñоздан, поÑкольку что он пуÑÑ‚\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Отказано в доÑтупе" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ñ‹ ключ/значение %s/%s\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: " #: download.c:117 msgid "No downloaded files to report\n" msgstr "Ðет Ñведений о загружаемых файлах\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" "Ðет файла, который необходимо отÑортировать (Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð° о " "загрузках)\n" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Загрузки" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "Слишком длинный ÑпиÑок ÑуффикÑов загрузок\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "Слишком много ÑуффикÑов загрузок\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Общее неÑовпадение ÑтатиÑтики во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ " "отчета\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Отчёт доÑтупа пользователей в интернет (Squid)" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "ДоÑтуп в порÑдке ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸Ñ (байт)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Период" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "â„–" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "Подключений" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "Байт" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "Затраченное времÑ" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "МиллиÑекунд" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "ВремÑ" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "ÐедопуÑтимый ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле \"%s\"\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "ÐедопуÑтимое чиÑло байт в файле %s\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Ðеверное чиÑло доÑтупа в файле \"%s\"\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле \"%s\"\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "Ð’Ñего" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "Среднее" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "Отчёт SARG за %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Отправка почты командой: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "Команда вернула ÑоÑтоÑние %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "Команда: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых IP-адреÑов\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых URL\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Загрузка иÑключённых адреÑов из файла: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "Во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ \"%s\"\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Загрузка файла иÑключений из: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ перемеÑтить в конец файла \"%s\": %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ размер файла \"%s\": %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ перейти в начало файла \"%s\": %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "Ошибка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼Ñти (запрошено %ld байт)\n" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "Слишком длинное Ñтроковое значение параметра \"%s\"\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "ОтÑутÑтвуют двойные ковычки поÑле параметра \"%s\"\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "ОтÑутÑтвуют двойные ковычки поÑле параметра \"%s\" или значение более чем %d " "байт\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Певрое Ñлово параметра \"%s\" более %d байт\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "ОтÑутÑтвует второе Ñлово параметра \"%s\"\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Второе Ñлово параметра \"%s\" больше %d байт\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "Ðеверное чиÑловое значение параметра \"%s\"\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "ÐеизвеÑтное значение \"%s\" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\"\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "Значение \"%s\" конфликтует Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ значениÑми параметра \"%s\"\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "ÐеизвеÑтный критерий Ñортировки \"%s\" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\"\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "ÐеизвеÑтный порÑдок Ñортировки \"%s\" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: признак: %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "ÐедопуÑтимое значение параметра \"date_format\"\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Ошибка: Ðеверный ÑинтакÑÐ¸Ñ Ð² теге hours!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Ошибка: Ðеверный ÑинтакÑÐ¸Ñ Ð² теге weekdays!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "Слишком много файлов журналов в конфигурационном файле\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "Слишком много файлов журналов в конфигурационном файле редиректора\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° шаблона в параметре \"AuthUserTemplateFile\"\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" "Графики недоÑтупны, поÑкольку sarg был Ñкомпилирован без libgd. Ð’Ñ‹Ñтавите " "\"graphs\" в значение \"no\" в файле %s, чтобы не выводить Ñто " "предупреждение\n" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "Параметр squidguard_log_format уÑтарел и заменен параметром " "redirector_log_format. ПожалуйÑта, обновите ваш конфигурационный файл.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "Параметр redirector_ignore_date уÑтарел и заменен параметром " "redirector_filter_out_date, который противоположен параметру " "redirector_ignore_date. ПожалуйÑта, обновите ваш конфигурационный файл.\n" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "Параметр squidguard_ignore_date уÑтарел и заменен параметром " "redirector_filter_out_date, который противоположен параметру " "squidguard_ignore_date. ПожалуйÑта, обновите ваш конфигурационный файл.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "Параметр dansguardian_ignore_date уÑтарел и заменен параметром " "dansguardian_filter_out_date, который противоположен параметру " "dansguardian_ignore_date. ПожалуйÑта, обновите ваш конфигурационный файл.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "Ðеверный параметр \"byte_cost\" файла конфигурации\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: ÐеизвеÑтный параметр %s\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Загрузка конфигурации из %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "Ошибка вызова функции realloc (запрошено % байт)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "iconv не удалоÑÑŒ конвертировать Ñтроку \"%s\" из %s в UTF-8: %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" "libgd не удалоÑÑŒ вычиÑлить размеры ограничивающей рамки текÑта \"%s\": %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd не удалоÑÑŒ преобразовать текÑÑ‚ \"%s\": %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "Минимум Ð´Ð»Ñ Ð¼Ð°Ñштаба Y графика вне допуÑтимого диапазона: %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "МакÑимум Ð´Ð»Ñ Ð¼Ð°Ñштаба Y графика вне допуÑтимого диапазона: %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "ÐеизвеÑтный тип %d Ð´Ð»Ñ Ð¼Ð°Ñштаба оÑи Y\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" "ÐеизвеÑтный цвет \"%s\", запрошенный Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ°. Будет иÑпользован " "оранжевый.\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Пользователь: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ файла" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Графики отключены, как указано в \"%s\"\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "Графики отключены, поÑкольку не указаны имена шрифтов в \"%s\"\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "Ðе найдено Ð¸Ð¼Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð° \"%s\"\n" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "iconv не удаётÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ из %s в UTF-8: %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле \"%s\"\n" #: grepday.c:750 msgid "Graph report" msgstr "ГрафичеÑкий отчёт" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "Дни" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Слишком длинный каталог назначениÑ: " #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ Ñоздать каталог \"%s\": %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "ÐедопуÑтимый размер загруженных данных в файле \"%s\"\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "ÐедопуÑтимый код доÑтупа в файле \"%s\"\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "ÐедопуÑтимый объем \"из кеша\" в файле %s\n" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "ÐедопуÑтимый объем out-of-cache в файле %s\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Отчёт по пользователю" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Пользователь" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "ОтÑортировано: %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "Отчет Smartfilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "из кÑша / не из кÑша" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "Создание отчёта %s\n" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "ÐедопуÑтимое значение в Ñтолбце \"из кеша\" в файле \"%s\"\n" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "ÐедопуÑтимый значение в Ñтолбце out-of-cache в файле \"%s\"\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "Отчёт по дате/времени" #: html.c:327 msgid "DENIED" msgstr "Запрещено" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "ÐедопуÑтимый IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле \"%s\"\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð°Ñ‚Ð° в файле \"%s\"\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "ÐедопуÑтимый назмер в файле \"%s\"\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "Пользователь %s превыÑил лимит (%d MB). Добавлен в файл \"%s\"\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Создание index.html\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ открыть каталог \"%s\": %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Отчёт SARG" msgstr[1] "Отчёты SARG" msgstr[2] "Отчёты SARG" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "Год" #: index.c:151 msgid "SIZE" msgstr "Размер" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Слишком много каталогов Ð´Ð»Ñ Ð¼ÐµÑÑцев в %s\n" "Лишние запиÑи будут проигнорированы.\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: отчет за %04d" msgstr[1] "SARG: отчеты за %04d" msgstr[2] "SARG: отчеты за %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "МеÑÑц" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ каталог \"%s\": %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Слишком много каталогов Ð´Ð»Ñ Ð´Ð½ÐµÐ¹ в %s\n" "Лишние запиÑи будут проигнорированы.\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG: отчет за %04d/%02d" msgstr[1] "SARG: отчеты за %04d/%02d" msgstr[2] "SARG: отчеты за %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Ошибка запиÑи в Ð¸Ð½Ð´ÐµÐºÑ %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "Каталог \"%s%s\" похож на каталог Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð°Ð¼Ð¸, но не Ñодержит файла sarg-" "date. Этот каталог надо удалить.\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñортировки индекÑа\n" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Ð’ файле \"%s%s/sarg-date\" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день недели\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Ð’ файле \"%s%s/sarg-date\" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ меÑÑц\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Ð’ файле \"%s%s/sarg-date\" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Ð’ файле \"%s%s/sarg-date\" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ времÑ\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Ð’ файле \"%s%s/sarg-date\" ÑодержитÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ год\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "ÐедоÑтаточно памÑти Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ каталога \"%s\" в индекÑе\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "Период" #: index.c:432 msgid "CREATION DATE" msgstr "Дата ÑозданиÑ" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "Пользователи" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ переименовать \"%s\" в \"%s\": %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ Ñоздать ÑÑылку \"%s\" на \"%s\": %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Слишком длинное Ð¸Ð¼Ñ ÑƒÐ´Ð°Ð»Ñемого файла: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "Подключение Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов \"%s\"\n" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "ПропуÑк дублирующего Ð¼Ð¾Ð´ÑƒÐ»Ñ \"%s\" Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "ÐеизвеÑтный модуль \"%.*s\" Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов\n" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "Ðет параметров наÑтройки Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ %s\n" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "Ðет извеÑтных модулей Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑов, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ DNS\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½ компьютеров, ÑоответÑтвующих IP-" "адреÑам.\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Ðе удаётÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ñ‚ÑŒ Ð¸Ð¼Ñ Ñ…Ð¾Ñта \"%s\": %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "ÐедоÑтаточно данных, возвращенных вызовом getaddrinfo Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа IPv4: %d " "байт вмеÑто %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "ÐедоÑтаточно данных, возвращенных вызовом getaddrinfo Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа IPv6: %d " "байт вмеÑто %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" "Возвращен недопуÑтимый тип адреÑа %d во Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ хоÑта \"%s\"\n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ IP-адреÑа \"%s\"\n" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "Разрешение IP-адреÑа в Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð° (getnameinfo) Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа \"%s\" " "завершилоÑÑŒ неудачно, ошибка %d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑа (макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° -%d " "байт)\n" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "Ðет команды Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ IP-адреÑа. ПожалуйÑта, укажите ее в sarg.conf\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ %s Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка команды\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ \"%.*s\" Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка команды\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "Ðе могу выполнить команду %s\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "Ðе могу выполнить команду: %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ получить дату ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ \"%s\": %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "Ðет отчетов Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, поÑкольку имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d отчет\n" msgstr[1] "Ðет отчетов Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, поÑкольку имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d отчета\n" msgstr[2] "Ðет отчетов Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ, поÑкольку имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d отчетов\n" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Ðайден %d каталог Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°Ð¼Ð¸\n" msgstr[1] "Ðайдены %d каталога Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°Ð¼Ð¸\n" msgstr[2] "Ðайдено %d каталогов Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°Ð¼Ð¸\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "Будет удален %d отчет\n" msgstr[1] "Будет удалено %d отчета\n" msgstr[2] "Будет удалено %d отчетов\n" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "Удаление Ñтарого отчёта \"%s\"\n" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" "Ð’ командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ %s передано Ñлишком много файлов журнала.\n" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" "Ð’ командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ %s передан файл Ñо Ñлишком длинным именем: " "%s\n" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "Промежуток времени, переданный в командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -t должен " "быть в формате ЧЧ:ММ\n" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "Интервал времени, переданный в командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -t должен быть " "в формате ЧЧ:ММ-ЧЧ:ММ\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "Ð”Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° -%c требуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Ð’ командной Ñтроке передано Ñлишком много файлов журнала.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" "Ð’ командной Ñтроке передано файл журнала Ñо Ñлишком длинным именем: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Ðачало\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" "Каталог Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° \"%s\" должен быть за пределами временного каталога \"%s" "\"\n" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Удаление временного каталога \"%s\"\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "Параметры:\n" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Ð˜Ð¼Ñ Ñ…Ð¾Ñта или IP-Ð°Ð´Ñ€ÐµÑ (-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Журнал клиентÑких приложений (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Файл иÑключений (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Период (от-до) (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " Ðдреc email Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ отчета (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " Файл конфигурации (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" " Формат даты (-g) = Европа (дд/мм/гггг)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" " Формат даты (-g) = СШР(мм/дд/гггг)\n" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Формат даты (-g) = Сайты и пользователи " "(гггг/мм)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " Отчёт по IP (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Да" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "Ðет" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " СохранÑть временные файлы (-k) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " Входной файл журнала (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Журнал редиректора (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Разрешение IP-адреÑов (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Выходной каталог (-o) = %s\n" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ИÑпользовать IP-Ð°Ð´Ñ€ÐµÑ Ð²Ð¼ÐµÑто имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " ПоÑещённые Ñайты (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " Ð’Ñ€ÐµÐ¼Ñ (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " Пользователь (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Временный каталог (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " ДиагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Сколько Ñтарых отчетов хранить (--lastlog) = %d\n" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "ВерÑÐ¸Ñ SARG: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" "Sarg Ñкомпилирован Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ вывода Ñообщений об ошибках, еÑли выходные " "данные формируютÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾\n" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "Ошибка вызова setrlimit: %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "ÐедоÑтаточно памÑтит Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Чтение файла журнала доÑтупа: из stdin\n" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" "Ðе могу получить Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла журнала \"%s\": %s\n" "Работа Ñ Ð½Ð¸Ð¼ бует продолжена\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "ПропуÑк Ñтарых файлов журнала %s\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "Чтение файла журнала доÑтупа: %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: ЗапиÑей в файле: %lu, прочитано: %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Журнал Microsoft ISA: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "ÐедейÑтвительное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s\n" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в Ñтроке Ñ Ð¾Ð¿Ð¸Ñанием иÑключениÑ\n" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "ÐедопуÑтимый IP-Ð°Ð´Ñ€ÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð° в файле \"%s\"\n" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "ÐедопуÑтимый код результата в файле \"%s\"\n" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "ÐедопуÑтимый объем данных в файле \"%s\"\n" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "ÐедопуÑтимый метод запроÑа в файле \"%s\"\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Ðе могу преобразовать метку времени в файле журнала squid\n" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ в файле \"%s\"\n" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "ÐедопуÑтимый год в файле \"%s\"\n" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "ÐедопуÑтимый меÑÑц в файле \"%s\"\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "ÐеизвеÑтный формат входного файла журнала\n" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "Слишком длинный идентификатор пользователÑ: %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "ИÑключенный код: %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "ИÑключенный Ñайт: %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "ИÑключенный пользователь: %s\n" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Ошибка запиÑи в файл журнала Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "ЗапиÑей прочитано %ld, запиÑано: %ld, иÑключено: %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" "Журнал Ñо Ñмешанным форматом запиÑей (формат журнала squid и общий формат)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "Общий формат журнала\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "Формат журнала squid\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "Формат журнала sarg\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "Журнал Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимым форматом\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "ЗапиÑей не найдено\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Конец\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Период, охватываемый файлами журнала: %s-%s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "Ðе удалоÑÑŒ Ñформировать Ñтроковое предÑтавление диапазона дат\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "дата=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "период=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Проанализированный журнал Ñохранен как %s\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Общее Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»ÐµÐ½Ð¸Ñ: %.0lf Ñекунд\n" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "Прочитано: %lu Ñтрок за %.0lf Ñекунд (%.0lf Ñтрок в Ñекунду)\n" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "Обработано: %lu запиÑей за %.0lf Ñекунд (%.0lf запиÑей в Ñекунду)\n" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" "Пользователи: %lu пользователей за %.0lf Ñекунд (%.0lf пользователей в " "Ñекунду)\n" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "Загрузка файла паролей из %s\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "ТекÑÑ‚Ð¾Ð²Ð°Ñ Ñтрока длиной более %d байт указывает на поврежденный файл\n" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Ðе удаётÑÑ Ñоздать временный файл Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°: %s\n" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "ошибка вызова mkstemp: %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "ÐедоÑтаточно памÑтит Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала\n" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ получить %d поÑледних Ñтрок из \"%s\": %s\n" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Выполнение команды \"tail\" завершилоÑÑŒ неудачей: %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "%s вернул недейÑтвительные данные \n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° времени в Ñтолбце 1\n" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð´ÐµÑÑÑ‚Ð¸Ñ‡Ð½Ð°Ñ Ñ‡Ð°Ñть отметки времени в Ñтолбце 1\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "Слишком большое значение в Ñтолбце 2 (Ð²Ñ€ÐµÐ¼Ñ ÑоединениÑ)\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ Ð² Ñтолбце 3\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "Слишком большое значение в Ñтолбце 4 (код ÑтатуÑа)\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "Слишком большое значение в Ñтолбце 5 (размер)\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "Слишком большое значение в Ñтолбце 6 (дейÑтвие)\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "Слишком длинный URL в Ñтолбце 7\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² Ñтолбце 8\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "Слишком большой размер данных в Ñтолбце 8\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "Слишком большой размер данных в Ñтолбце 9 (пользователь)\n" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "ÐедопуÑтимое Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "ÐедопуÑтимый тип доÑтупа в файле %s\n" #: realtime.c:314 msgid "Realtime" msgstr "Реальное времÑ" #: realtime.c:315 msgid "Auto refresh" msgstr "Ðвтообновление" #: realtime.c:316 msgid "TYPE" msgstr "Тип" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" "ÐедопуÑтимый параметр \"redirector_log_format\" в sarg.conf (Ñлишком много " "Ñимволов перед первым Ñ‚Ñгом)\n" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" "ÐедопуÑтимый параметр \"redirector_log_format\" в sarg.conf (отÑутÑтвует " "Ñимвол '#' в конце Ñ‚Ñга)\n" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" "ÐедопуÑтимый параметр \"redirector_log_format\" в sarg.conf (Ñлишком много " "Ñимволов в разделителе Ñтолбцов)\n" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" "Обработка признака \"%s\" в журнале редиректора %s не дала результата\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ñтрока в поле Ñ‡Ð°Ñ Ð² журнале редиректора %s\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" "Слишком длинное иÑходное блокируемое иÑходное в журнале редиректора %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" "Слишком длинный ÑпиÑок блокируемых иÑточников в журнале редиректора %s\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Слишком длинный IP-Ð°Ð´Ñ€ÐµÑ Ð² журнале редиректора %s\n" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Слишком длинный идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² журнале редиректора %s\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "ÐедопуÑтимый перенаправленный иÑточник в файле %s\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "ÐедопуÑтимый ÑпиÑок перенаправлений в файле %s\n" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Ðеверный IP иÑточника в файле %s\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Чтение журнала редиректора %s\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" "ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ нового журнала редиректора, который " "нужно прочитать - %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "Ðе предоÑтавлены журналы редиректора Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð° такого типа\n" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации squidGuard: %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "Еще %d запиÑÑŒ редиректора здеÑÑŒ не показана…" msgstr[1] "Еще %d запиÑи редиректора здеÑÑŒ не показаны…" msgstr[2] "Еще %d запиÑей редиректора здеÑÑŒ не показано…" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "Отчет редиректора не Ñоздан, поÑкольку он пуÑÑ‚\n" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "Отчет редиректора" #: redirector.c:478 msgid "RULE" msgstr "ПРÐВИЛО" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Ðайден недопуÑтимый пользователь в файле \"%s\"\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" "Ð’ файле журнала найдена %d ошибка. Ðекоторые запиÑи могут отÑутÑтвовать." msgstr[1] "" "Ð’ файле журнала найдены %d ошибки. Ðекоторые запиÑи могут отÑутÑтвовать." msgstr[2] "" "Ð’ файле журнала найдено %d ошибок. Ðекоторые запиÑи могут отÑутÑтвовать." #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "Слишком большой Ñ€Ð°Ð·Ð±Ñ€Ð¾Ñ Ð´Ð°Ñ‚ в \"%s\"\n" #: repday.c:127 msgid "Day report" msgstr "Отчет за день" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "%02dЧ" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" "Общее чиÑло Ñкачанных байт % вмеÑто % Ð’ чаÑовом отчете " "Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" #: repday.c:194 msgid "H:M:S" msgstr "Ч:М:С" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" "Общее затраченное Ð²Ñ€ÐµÐ¼Ñ % вмеÑто % в чаÑовом отчете " "Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "Ðе удаётÑÑ Ñоздать выходной каталог Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, Ñодержащим период\n" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "Ð˜Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð»Ñ Ð²Ñ‹Ð³Ñ€ÑƒÐ·ÐºÐ¸ отчета%s\n" #: report.c:258 msgid "Site access report" msgstr "Отчёт по поÑещению Ñайтов" #: report.c:268 msgid "DATE" msgstr "Дата" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" "Отчет по журналу dansguardian не Ñделан, потому что конфигурационный файл " "dansguardian не предоÑтавлен \n" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" "Создание отчета о загруженных файлах не указано в параметре report_type\n" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "Создание отчета по топ-Ñайтам не указано в параметре report_type\n" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" "Создание отчета о Ñайтах и поÑещавших их пользователÑÑ… не указано в " "параметре report_type\n" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" "Создание отчета о попытках Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº запрещенным реÑурÑам не указано в " "параметре report_type\n" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" "Создание отчета о неудавшейÑÑ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ не указано в параметре " "report_type\n" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" "Создание подробного отчета по пользователÑм не указано в параметре " "report_type\n" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "УÑÐ¿ÐµÑˆÐ½Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Отчёт Ñгенерирован уÑпешно и отправлен %s\n" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "Создание файла %s/%s\n" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Ðе удалоÑÑŒ запиÑать Ñтроку в \"%s\"\n" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Ðе удалоÑÑŒ запиÑать общее чиÑло Ñтрок в %s\n" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Ðеверное чиÑло доÑтупов в файле \"%s\"\n" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "ÐедопуÑтимый Ñуммарный размер в \"%s\"\n" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "ÐедопуÑтимое Ñуммарное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² \"%s\"\n" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "ÐедопуÑтимое значение \"найдено в кÑше\" в %s\n" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "ÐедопуÑтимое значение \"не найдено в кÑше\" в %s\n" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "ÐедопуÑтимое или Ñлишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² \"%s\"\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "Ðеверный или Ñлишком длинный URL в %s\n" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Ðеверный или Ñлишком длинный IP-Ð°Ð´Ñ€ÐµÑ Ð² \"%s\"\n" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "Слишком большое или недейÑтвительное значение Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ в \"%s\"\n" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "Слишком большое или недейÑтвительное значение Ð´Ð»Ñ Ð´Ð°Ñ‚Ñ‹ в \"%s\"\n" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "ÐедейÑтвительное значение объема данных \"из кÑша\" в \"%s\"\n" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "ÐедейÑтвительное значение объема данных \"не из кÑша\" в \"%s\"\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" "Отчёт по Ñайтам и поÑещавших их пользователÑм не Ñделан, поÑкольку включен " "параметр конфиденциальноÑти\n" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Сайты и пользователи" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "Ðе могу Ñформировать команду Ð´Ð»Ñ Ñортировки файла %s\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "SMARTFILTER" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "Сгенерировано на %s в %s" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Сортировка журнала %s/%s.user_unsort\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "Слишком длинное Ñортируемое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "по подключениÑм" #: sort.c:165 msgid "site" msgstr "по Ñайтам" #: sort.c:167 topuser.c:174 msgid "time" msgstr "по времени" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "по байтам" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "в порÑдке убываниÑ" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "в обратном порÑдке" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" "Отчет по топ Ñайтам не Ñделан, поÑкольку включён параметр " "конфиденциальноÑти\n" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" "ÐеÑоответÑтвие общей ÑтатиÑтики во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпиÑка " "топ Ñайтов\n" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "Топ Ñайтов" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "Топ %d Ñайтов" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "ÐедопуÑтимое количеÑтво пользователей в файле \"%s\"\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" "ÐеÑоответÑтвие общей ÑтатиÑтики во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпиÑка " "топ пользователей\n" #: topuser.c:168 msgid "user" msgstr "по пользователю" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "Отчёт SARG за %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "ОтÑортировано: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Топ пользователей" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Содержание" #: topuser.c:239 msgid "Redirector" msgstr "Редиректор" #: topuser.c:241 msgid "Denied accesses" msgstr "Отказы в доÑтупе" #: topuser.c:244 msgid "Useragent" msgstr "КлиентÑкие приложениÑ" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "Ðет отчета о топ-пользователÑÑ…, поÑкольку он не указан в report_type\n" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "ÐедопуÑтимый объём \"из кеша\" в файле \"%s\"\n" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "ÐедопуÑтимый объём \"не из кеша\" в файле \"%s\"\n" #: topuser.c:353 msgid "Graphic" msgstr "ГрафичеÑкое предÑтавление" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "Сумма значение \"из кÑша\" и \"не из кÑша\" не равна 100%% в %d " "(пользователь %s)\n" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "Сумма \"из кÑша\" и \"не из кÑша\" не равна 100%%\n" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Ошибка запиÑи в ÑпиÑок топ-пользователей %s\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð½ÐµÐ²Ð½Ð¾Ð¹ ÑтатиÑтики\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð°Ñ‚Ð° \"%s\" Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики\n" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "ÐедопуÑтимый компонент даты в \"%s\" Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики\n" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "ÐедопуÑтимое значение чаÑа %d Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики\n" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Слишком большой Ñ€Ð°Ð·Ð±Ñ€Ð¾Ñ Ð´Ð°Ñ‚ Ð´Ð»Ñ Ñ‡Ð°Ñовой ÑтатиÑтики\n" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ðайден недопуÑтимый Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð½Ñ Ð² чаÑовой ÑтатиÑтике\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "ПÑевдоним хоÑта \"%s*%s\" Ñодержит Ñлишком много шаблонов (*)\n" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "ПÑевдоним хоÑта \"%*s\" не должен заканчиватьÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼\n" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñевдонимов именам хоÑтов\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Ð’ регулÑрном выражении найден недопуÑтимый Ñимвол NUL\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Ðезавершенное регулÑрное выражение\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Ðе удалоÑÑŒ Ñкомпилировать регулÑрное выражение \"%s\": %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" "Sarg Ñкомпилирован без Ð¼Ð¾Ð´ÑƒÐ»Ñ PCRE, поÑтому регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимы " "в файле пÑевдонимов хоÑтов\n" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Чтение файла пÑевдонимов хоÑтов %s\n" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Ðе удаётÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ файл пÑевдонимов хоÑтов \"%s\": %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "СпиÑок имен хоÑтов, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… будет Ñоздан пÑевдоним:\n" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr " %s*%s => %s\n" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr " %s => %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr " *%s => %s\n" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr " %d.%d.%d.%d/%d => %s\n" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "ИÑпользование: %s [параметры...]\n" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr " -a Создание отчета Ð´Ð»Ñ Ñ…Ð¾Ñта или IP-адреÑа" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr " -c ФÐЙЛ ИÑключить хоÑты из отчета" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" " --convert Преобразовать даты в файле access.log в читаемый " "формат" #: usage.c:37 msgid " --css Output the internal CSS" msgstr " --css Выгрузить вÑтроенный CSS" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" " -d ДÐТРПериод, за который ÑтроитÑÑ Ð¾Ñ‚Ñ‡ÐµÑ‚: дд/мм/гггг-дд/мм/" "гггг" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e MAIL ÐÐ´Ñ€ÐµÑ email, на который отправить отчет (stdout Ð´Ð»Ñ " "вывода в конÑоль)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr " -f Файл конфигурации (по умолчанию %s/sarg.conf)\n" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" " -g Формат даты [e=Европа -> дд/мм/гггг, u=СШР-> мм/дд/" "гггг]" #: usage.c:42 msgid " -h This help" msgstr " -h Справка" #: usage.c:43 msgid " --help This help" msgstr " --help Справка" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Отчет по пользователÑм и IP-адреÑам" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr " --keeplogs СохранÑть каждый ранее Ñозданный отчет" #: usage.c:46 msgid " -l FILE Input log" msgstr " -l Входной файл журнала" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr " --lastlog УÑтановка количеÑтва хранимых отчетов" #: usage.c:48 msgid " -m Advanced process messages" msgstr " -m Дополнительные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n Разрешать IP адреÑа, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ RDNS" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o DIR Каталог запиÑи отчета" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" " -p ИÑпользовать IP-адреÑа вмеÑто имен пользователей " "(отчеты)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" " -P PREFIX Добавление префикÑа в начале имени разделенных файлов" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s SITE Ограничить очет определенным Ñайтом [напр., www." "microsoft.com]" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr " --split Разделить файл журнала по дате в параметре -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" " --splitprefix PREFIX\n" " Добавить Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð² начало имени разделÑемых файлов" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr " --statistics ВывеÑти ÑтатиÑтику по времени выполениÑ" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" " -t ВРЕМЯ Ограничить отчет временым интервалом [ЧЧ:ММ или ЧЧ:ММ-" "ЧЧ-ММ]" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u ПОЛЬЗОВÐТЕЛЬ Отчет по активноÑти одного пользователÑ" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w DIR Временный каталог" #: usage.c:61 msgid " -x Debug messages" msgstr " -x ДиагноÑтичеÑкие ÑообщениÑ" #: usage.c:62 msgid " -z Process messages" msgstr " -z Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Чтение журнала клиентÑких приложений %s\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "ÐедопуÑтимый useragent в файле %s\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "Прочитано запиÑей: %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "Создание отчета по клиентÑким приложениÑм\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Отчет прокÑи-Ñервера по клиентÑким приложениÑм" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "Ðгент" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "ÐедоÑтаточно памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "Ðе могу загрузить \"%s\": недоÑтаточно памÑти\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "Ð’ файле %s ÑодердитÑÑ Ñлишком большой ÑпиÑок пользователей.\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "Ðе удалоÑÑŒ подготовить ldap URI Ð´Ð»Ñ Ñервера %s на порт %d\n" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "Ðевозможно подключитьÑÑ Ðº Ñерверу LDAP %s на порт %d: %d (%s)\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "Ðе удалоÑÑŒ отключить параметр LDAP_OPT_REFERRALS\n" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "Ðе удалоÑÑŒ выбрать верÑию протокола LDAP %d\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "Ðе удалоÑÑŒ ÑвÑзатьÑÑ Ñ Ñервером LDAP: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "ПоиÑк LDAP завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡ÐµÐ¹: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "поиÑк \"%s\" в \"%s\" или ниже\n" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "Загрузка ÑпиÑка пользователей из LDAP\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "Sarg Ñкомпилирован без Ð¼Ð¾Ð´ÑƒÐ»Ñ LDAP\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Загрузка таблицы пользователей: %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "траÑÑировка вызова getword:\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" "Ðе удаётÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ проанализировать Ñтроку, поÑкольку она была изменена\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "Обнаружено зацикливание в %s поÑле %d байт.\n" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "Строка=\"%s\"\n" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "ЗапиÑÑŒ=\"%s\"\n" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "поиÑк 'x%x'\n" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" "Обнаружено переполнение целочиÑленной переменной в %s в Ñтроке \"%s\"\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "ÐедопуÑтимый буфер передан в getword_ptr\n" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "ÐедопуÑтимый путь \"%s\". ИÑпользуйте только абÑолютные пути.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" "Запрошенное количеÑтво цифр, переданное в my_lltoa (%d) больше, чем размер " "буфера вывода (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "Январь,Февраль,Март,Ðпрель,Май,Июнь,Июль,ÐвгуÑÑ‚,СентÑбрь,ОктÑбрь,ÐоÑбрь," "Декабрь" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" "Внутренний ÑпиÑок названий меÑÑцев недопуÑтим. Сообщите об Ñтом " "переводчикам\n" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Ðе удалоÑÑŒ прочитать дату в \"%s\"\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Ðе удалоÑÑŒ прочитать чиÑло пользователей в \"%s\"\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Ðе удаётÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ stat \"%s\": %s\n" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Ðе удалоÑÑŒ Ñкопировать изображение \"%s\" в \"%s\"\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Файл \"%s\" уже ÑущеÑтвует, перемещён в \"%s\"\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Ðе удалоÑÑŒ запиÑать дату в \"%s\"\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´Ð»Ð¸Ð½Ð° буфера, Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² функцию безопаÑного ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ " "Ñтроки\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" "Дата, Ð¿ÐµÑ€ÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² качеÑтве аргумента, не в формате дд/мм/гггг или дд/мм/" "гггг-дд/мм/гггг\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "Диапазон дат, переданный в качеÑтве аргумента, не в формате дд/мм/гггг или " "дд/мм/гггг-дд/мм/гггг\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "Ðе удалоÑÑŒ получить текущее времÑ\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Ðеверное чиÑло дней в параметре -d\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе удаётÑÑ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ локальное времÑ: %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "ÐедопуÑтимое чиÑло неделей в параметре -d\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "ÐедопуÑтимое чиÑло меÑÑцев в параметре -d\n" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Ð’ командной Ñтроке передан недопуÑтимый интервал дат\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "ОчиÑтка временного файла sarg-general\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "Слишком много кодов Ð´Ð»Ñ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² файле %s\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке, Ñ‚.к. путь \"%s%s\" Ñлишком " "длинный\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке командой %s\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер диÑка командой %s\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" "Команда Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтчета занимаемого меÑта на диÑке (%s) вернула неизвеÑтную " "Ñтроку %s\n" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" "\n" "Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы работал перевод, должен приÑутÑтвовать файл Ñообщений по " "пути \"%s//LC_MESSAGES/%s.mo\", где взÑто из дейÑтвующей " "локали.\n" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð´ÐµÐ¹Ñтвующей локалью ÑвлÑетÑÑ \"%s\".\n" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "Локаль не задана в переменной окружениÑ.\n" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "Проверка перевода: руÑÑкий Ñзык поддерживаетÑÑ\n" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "ÐеизвеÑтный тип пути \"%s\"\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" "Во временном каталоге \"%s\" найден неизвеÑтный файл \"%s\". Это не наш " "файл. Проверьте временный каталог Ð´Ð»Ñ sarg. Укажите путь к безопаÑному " "каталогу или вручную удалите Ñодержимое \"%s\"\n" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "ÐеизвеÑтный тип пути Ð´Ð»Ñ \"%s\". Проверьте временный каталог\n" #~ msgid "Log file name too long passed on command line with opton %s: %s\n" #~ msgstr "" #~ "Ð’ командной Ñтроке Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ %s передан файл Ñо Ñлишком длинным " #~ "именем: %s\n" sarg-2.3.11/po/sarg.pot000066400000000000000000001606721324060677300146540ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3.11\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, c-format msgid "User: %s" msgstr "" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "" #: grepday.c:750 msgid "Graph report" msgstr "" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 msgid "SmartFilter report" msgstr "" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 msgid "DENIED" msgstr "" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "" msgstr[1] "" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "" #: index.c:151 msgid "SIZE" msgstr "" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 msgid "MONTH" msgstr "" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 msgid "FILE/PERIOD" msgstr "" #: index.c:432 msgid "CREATION DATE" msgstr "" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "" #: realtime.c:314 msgid "Realtime" msgstr "" #: realtime.c:315 msgid "Auto refresh" msgstr "" #: realtime.c:316 msgid "TYPE" msgstr "" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 msgid "RULE" msgstr "" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 msgid "DATE" msgstr "" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 msgid "site" msgstr "" #: sort.c:167 topuser.c:174 msgid "time" msgstr "" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 msgid "user" msgstr "" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 msgid "Top users" msgstr "" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 msgid "Graphic" msgstr "" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr "" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr "" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 msgid " -l FILE Input log" msgstr "" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 msgid " -m Advanced process messages" msgstr "" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr "" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr "" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr "" #: usage.c:61 msgid " -x Debug messages" msgstr "" #: usage.c:62 msgid " -z Process messages" msgstr "" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" sarg-2.3.11/po/sk.gmo000066400000000000000000000006231324060677300143020ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: sk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/sk.po000066400000000000000000002152361324060677300141460ustar00rootroot00000000000000# Slovak translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # DuÅ¡an Woletz , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Obdobie" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "ID UŽÃVATEĽA" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/MÉNO" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "dátum/Äas" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "NAVÅ TÃVENà SERVER" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Triedim súbor" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Odstraňujem starý súbor s prehľadom" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Čítam prístupový žurnál" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Triedim súbor" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Nemôžem otvoríť žurnál" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Nemôžem otvoríť žurnál" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Vytváram súbor" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Súbor nebol nájdený" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Balím žurnálový súbor" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Rozbaľujem žurnálový súbor" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Prehľad o využití Squidu podľa uživatelov" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Klesajúcí prístup (bytov)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Obdobie" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "PORADIE" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "SPOJENÃ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTOV" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "POUŽITà ČAS" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "ÄŒAS" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "CELKOM" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "PRIEMER" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "prehľady" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "NaÄítávam súbor výnimok z" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "NaÄítávam súbor výnimok z" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "NaÄítávam súbor výnimok z" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "chyba malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Užívateľ" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Súbor nebol nájdený" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "prehľady" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Čítam prístupový žurnál" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Užívateľ" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Vytváram správu" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "Zakázané" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Vytváram index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "prehľady" msgstr[1] "prehľady" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "SÚBOR/OBDOBIE" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "DÃTUM VZNIKU" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "UŽÃVATELIA" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Triedim súbor" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "NenaÅ¡iel som žiadne záznamy" msgstr[1] "NenaÅ¡iel som žiadne záznamy" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Odstraňujem starý súbor s prehľadom" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametre" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Meno hostiteľa alebo IP adresa" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Emailová adresa, na ktorú sa majú odoslaÅ¥ prehľady" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Ãno" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Nie" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Meno hostiteľa alebo IP adresa" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Meno hostiteľa alebo IP adresa" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Použi IP Adresu namiesto ID užívateľa" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "verzia" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Čítam prístupový žurnál" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Balím žurnálový súbor" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Čítam prístupový žurnál" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Žurnál má zmieÅ¡ané oba žurnálové formáty (vÅ¡eobecný a squid žurnál)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "VÅ¡eobecný formát žurnálu" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid formát žurnálu" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Žurnál s neplatným formátom" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "NenaÅ¡iel som žiadne záznamy" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Koniec" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Čítam prístupový žurnál" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Obdobie" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "NaÄítávam heslo zo súboru" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Súbor nebol nájdený" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Čítam prístupový žurnál" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Rozbaľujem žurnálový súbor" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Rozbaľujem žurnálový súbor" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Rozbaľujem žurnálový súbor" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Čítam prístupový žurnál" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Nemôžem otvoríť žurnál" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "dátum/Äas" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Prehľad úspeÅ¡ne vygenerovaný" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Prehľad úspeÅ¡ne vygenerovaný a zaslaný na adresu" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Vytváram súbor" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Týždne" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Generoval" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "serverov" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Čítam prístupový žurnál" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Meno hostiteľa alebo IP adresa" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Prevedie súbor access.log na správný dátum" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Emailová adresa, na ktorú sa majú odoslaÅ¥ prehľady" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Prehľady podľa užívatela a IP adresy" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Vstupný žurnál" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Správy o spracování" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Prevádzam IP adresu na meno" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Použi IP Adresu namiesto ID užívateľa" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Rozdelí žurnálový súbor podľa data v parametru -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "DoÄasný adresár" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Ladiaca zprávy" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Správy o spracování" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "NaÄitávam žurnál s prehľadom klientov" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Záznamov naÄítano" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Vytváram prehľad o klientoch" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Prehľad o použitých klientech pre Squid" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "KLIENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Loading User table" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "už existuje, presúvám do" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Odstraňujem prechodný súbor" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Rozbaľujem žurnálový súbor" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Report" #~ msgstr "Prehľad" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Sort" #~ msgstr "Triedenie" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "on" #~ msgstr "dňa" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Čítam prístupový žurnál" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Žurnál s prehľadom klientov" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Súbor výnimok" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Výstupný adresár" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Vytváram súbor období" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "IN" #~ msgstr "VSTUP" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "VÃSTUP" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topsites" #, fuzzy #~ msgid "Usage" #~ msgstr "Použitie" #, fuzzy #~ msgid "options" #~ msgstr "voľby" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Dátum od-do" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Emailová adresa, na ktorú sa majú odoslaÅ¥ prehľady" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout pre konzolu" #, fuzzy #~ msgid "Config file" #~ msgstr "KonfiguraÄný súbor" #, fuzzy #~ msgid "Date format" #~ msgstr "Formát data" #, fuzzy #~ msgid "Europe" #~ msgstr "Európa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "NavÅ¡tívený server" #, fuzzy #~ msgid "Time" #~ msgstr "ÄŒas" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Top" #~ msgstr "Najlepších" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Nemôžem otvoríť doÄasný súbor" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Čítam prístupový žurnál" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "End" #~ msgstr "Koniec" #, fuzzy #~ msgid "File" #~ msgstr "Súbor" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limit prekroÄený" #, fuzzy #~ msgid "Added to file" #~ msgstr "Pridáné do súboru" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Meno hostiteľa alebo IP adresa" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Emailová adresa, na ktorú sa majú odoslaÅ¥ prehľady" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Použi IP Adresu namiesto ID užívateľa" #, fuzzy #~ msgid "written" #~ msgstr "zapísane" #, fuzzy #~ msgid "excluded" #~ msgstr "vyňaté" #, fuzzy #~ msgid "IP report" #~ msgstr "IP správa" sarg-2.3.11/po/sr.gmo000066400000000000000000002166401324060677300143210ustar00rootroot00000000000000Þ•î0 ¡”)¬)À)¼*Ÿ½*+]++‰++µ++á++ ,+9,<e,@¢,9ã,+-+I-+u-+¡-+Í-+ù-+%.+Q.+}.+©.+Õ.A/+C/o/:/>È/>0YF0- 0?Î0=1;L1Yˆ1Iâ1B,2Mo2½22Û23-,33Z3+Ž3>º3Iù3EC44‰4'¾4"æ4$ 5+.5Z52p5£5 »5Ç5#Ö5 ú5+636z96l´6e!7[‡7aã72E87x8A°8 ò8999@&9<g9 ¤9±95·97í9%:+: 3:A:a:5€:>¶:!õ:R;j;‚;%¢;:È;&<Q*<%|<$¢<Ç<ç<'=/*=1Z=*Œ="·=Ú=ñ=">*>Q>>>£>%¶>'Ü>$?)? .?8?=? D?6Q?Yˆ?#â?!@ (@$3@1X@Š@"¤@Ç@Î@4Þ@/A CAdA5ƒA ¹A ÃAÐA$ÕA'úA"B5BHB [BgB<‚B¿B2ÞB"C'4C0\C,CºC-ÚC"D +D+LD$xDD½D!ÝD'ÿD('EPEeE~E ”E¡E7©E%áEF3 F8AF/zF ªF2·F0êF.G'JGQrGÄG_ÌG8,HeHH-…HS³H`IchI ÌI2íI! J!BJ?dJ$¤JEÉJ%K5K UK'vKžK,»K9èK"L*=LhL%‚L1¨L'ÚL#M"&MIM*eM%M#¶M%ÚMN'N(DN%mN'“N)»N%åN( O)4O'^O)†O4°O"åO#P,P%IP%oP$•P!ºPÜP÷P Q3QSQsQ&ŽQ µQ!ÖQ#øQ.RKRgRRŸR ½RÞRùR-S*GSrS&SU´S! T,T DT7OT‡T¥T½TÜT#ûTU>U/\UAŒU2ÎUV V59V$oV”VV£V¼VÏVâV*ôVNW'nW–W.šWÉWMÌWXl9X7¦XyÞX%XY~Y;Y@ÌY% Z$3Z6XZ'Z0·Z@èZ-)[6W[=Ž[4Ì[N\EP\#–\$º\#ß\ ]`$] …]>’]Ñ]á]#è] ^B^$Z^^#„^¨^$Å^ê^!_*_E_a_ j_ w_‚_4”_É_ è_ `"`5`E`W`^` e`-s`¡`°`,É`6ö`-a 2a?>a~aa¬aTËaT bub ˆb2–bBÉb cc +c8c;Jc†c™c¸cÑcêc+üc"(dKdPdVd[dCld?°d'ðd e#9eR]e0°e!áeSfYWfn±f< g/]gWg/åg$hJ:hb…h=èh!&i#Hi/li'œi4Äi6ùiO0j$€j!¥jDÇjI k!Vk'xkA k3âk!l8l)Tl:~l+¹lCål4)m ^m km;um.±m àm$êmFnCVnCšn Þnÿno8 oAEoÓ‡o[p2zp­p7Åp/ýp+-q!Yq {q&œq Ãqäq+üq(r3-r-arr&¥r,Ìr(ùr "s4.scs ls2vsK©sCõs9tMtgt'„t ¬tÍtÒtÖt.Üt u %u2uÕ:uv!v*v*>v9iv@£v)äv"w$1wVwiw$pw •wÏ wpxxxx¢x§xÆxÏØx{¨y$z)z7.zþf|8e};ž}=Ú}?~FX~EŸ~Vå~j<O§D÷B<€I€IÉ€EGY<¡=ÞE‚Qb‚K´‚ƒ>€ƒ8¿ƒdøƒ^]„v¼„†3…Qº…k †rx†ië†yU‡˜Ï‡zhˆzãˆ8^‰Y—‰2ñ‰@$ŠNeŠQ´Šq‹x‹ˆŒkŒDûŒ9@-zO¨*ø^#Ž‚Ž šŽ¦Ž#µŽ ÙŽQæŽ8W?W—ï‘ó’”¡•´·•pl–Ý– ý– —<—…R—Ø—X˜ l˜Šw˜Š™ ™š™¯™DË™Dš~UšwÔšJL›™—›/1œDaœX¦œtÿœ[t—ÐQhžSºžHŸBWŸdšŸMÿŸjM o¸ G(¡<p¡A­¡9ï¡))¢S¢$Ó¢)ø¢="£L`£<­£ ê£õ£ ¤¤#¤X7¤“¤P$¥Eu¥»¥NÕ¥j$¦*¦Dº¦ÿ¦#§f6§Q§?ï§C/¨ds¨بí¨ ©R©Tf©»© Ú©(û©!$ª4Fªl{ªJèªW3«J‹«NÖ«W%¬X}¬BÖ¬]­Pw­CÈ­T ®Ka®J­®=ø®A6¯Jx¯\ï0 °5Q°!‡°©° ɰpÖ°YG±¡±gª±d²uw²í²_³]d³o³N2´´ µ®µmʵM8¶†¶f–¶¡ý¶ªŸ·´J¸Dÿ¸_D¹J¤¹Nï¹>ºT̺œ!»]¾»P¼Vm¼Uļ?½RZ½e­½=¾aQ¾9³¾Eí¾c3¿V—¿Xî¿NGÀ;–ÀNÒÀO!ÁSqÁQÅÁ=ÂIUÂLŸÂJìÂF7ÃJ~ÃNÉÃJÄScÄW·ÄUÅieÅ>ÏÅAÆ=PÆVŽÆTåÆL:ÇL‡ÇAÔÇCÈNZÈD©ÈNîÈ==ÉI{ÉUÅÉ[ÊJwÊWÂÊ?Ë?ZËJšËJåËR0ÌCƒÌPÇÌNÍRgÍ?ºÍKúÍ•FÎ<ÜÎ4ÏNÏb_Ï@ÂÏ7Ð4;Ð@pÐQ±ÐAÑBEÑOˆÑŠØÑrcÒAÖÒ<ÓqUÓIÇÓÔ Ô>+Ô*jÔ•Ô'´Ô^ÜÔ—;ÕFÓÕÖK#ÖoÖ™tÖC×ÎR×i!؉‹ØFÚ#\Ú|€ÚšýÚ]˜ÛUöÛnLÜ]»Ü_ÝtyÝ_îÝdNÞ…³Þl9ßš¦ßzAàJ¼àPáYXá6²ážéáˆâ€â"ãAãQRã¤ãh¹ãL"äoäL~äBËäfåEuåQ»å; æCIææ§æ¼æ+Õæ]çG_çM§çdõç,Zè"‡èªè Èè ÓèÞèEôè:é3VérŠéýéêêy¬ê+&ëQRë+¤ë}Ðë}Nì,Ìì$ùìeí„íî00îaîxît’î%ï2-ïA`ï?¢ï-âïMð7^ð –ð ¡ð ®ð¹ðnÈðc7ñ9›ñ4Õñ2 ò˜=ò?Öò0óªGó·òóɪôMtõ]Âõª öOËö:÷…V÷¨Ü÷O…ø8Õø2ùLAùGŽù_ÖùU6úŠŒú=û6Uû‹Œû‰üG¢üWêüsBýZ¶ý=þ3OþZƒþ€Þþh_ÿwÈÿu@(¶)ß– l + C9‘}œž¬IK•­gÀx(©¡KKO—4ç}SšYî@H O‰ NÙ 1( 'Z T‚ × €è si .Ý X le SÒ #& eJ ° Å gã œKè'x7 5Ø[cj ÎÛ ànë1ZŒ H¯/ø(,7Mdg²kK†6Òf 9pªJ¿ BbqN‰Ø>á BA°„ 5@AbîBj’›éj“sJ„Q#"Â¥{i’K)!”E¯?AºÕ”óºWå/d"|²š­7v&Mk%ì¬6=×w®IK>ÌÛñë~Ío m\¢„«Ó;Hž&ˆFG[…äT] ÓÏŠ v ÃnoÉ2Wãâ“.˜ø°7U'à ¥ÑÑÐP³ õ¡¨g?}Ž`]ì§ @ÄZëg¿;òa:£ÄÔUDY²>^‘—Å Fe}›X¤»æËm¦­Úß HpÈc3b@é†LäOî_‡Vïµ)©Ø¼öRúD¤1JIª¢É9Ýæ~\M¸-ڽߵ(Þ3B0‰Ùyç`Ærлܕû fàÀʹS5N±{8%ü-xôf±,c ¾ØqV[Îu×´ðÏ©L‚=Æ£P‚Œ9ù¦t^n6|4‹pá½*† …·Ç<le‘ÒuᚬŠqÛËÅ•$⎇ˆh®w‹¡Õ¶è«³èÝr¯ªÇ'´Îƒ1¾Ô™€:iÿ¨8 kã0,ža¸h–<ZÌ+sGX¹lÁà§Tç·å/Ÿ—œíC5QE™C.Nx z€êy4‰#SÈ_íÖ÷¼À$–ÖÙœtYÞ¶ŒÁŸý°ÜRêþdO2ʘ¿(Í*Òz!ƒ+QX_Ô)è)ü)*,*H*\*p*„* *fÿÿÿÿˆ3ÿÿÿÿ½3ÿÿÿÿò "ÿÿÿÿ< "ÿÿÿÿ‚4ÿÿÿÿÄbÿÿÿÿ(bÿÿÿÿŒ3Jÿÿÿÿ/Jÿÿÿÿ For the translation to work, a valid message file should be installed as "%s//LC_MESSAGES/%s.mo" where is derived from the effective locale. Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Keep temporary files (-k) = %s Hostname or IP address (-a) = %s --convert Convert the access.log file to a legible date --css Output the internal CSS --help This help --keeplogs Keep every previously generated report --lastlog Set the number of previous reports to keep --split Split the log file by date in -d parameter --splitprefix PREFIX Prepend a prefix to the splitted file names --statistics Print run time statistics -P PREFIX Prepend a prefix to the splitted file names -a NAME|IP Create report for host name or IP address -c FILE Exclude connected hosts from the report -d DATE Date range to include in the report: from-until dd/mm/yyyy-dd/mm/yyyy -e MAIL Email address to send reports to (stdout for console) -f FILE Config file to read (default is %s/sarg.conf) -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy] -h This help -i Reports by user and IP address -l FILE Input log -m Advanced process messages -n Resolve IP addresses using RDNS -o DIR Report output directory -p Use Ip Address instead of userid (reports) -s SITE Limit report to accessed site [eg. www.microsoft.com] -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM] -u USER Report only that user's activity -w DIR Temporary directory -x Debug messages -z Process messages Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Previous reports to keep (--lastlog) = %d %02dH%d error found in the log file. Some entries may be missing.%d errors found in the log file. Some entries may be missing.%d more authentication failure not shown here…%d more authentication failures not shown here…%d more dansguardian entry not shown here…%d more dansguardian entries not shown here…%d more denied access not shown here…%d more denied accesses not shown here…%d more redirector entry not shown here…%d more redirector entries not shown here…%d old report to delete %d old reports to delete %d report directory found %d report directories found A text line is more than %d bytes long denoting a corrupted file ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty Authentication failures report not requested in report_type Auto refreshBYTESBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create a temporary file name to produce the report: %s Cannot create directory "%s": %s Cannot create the output directory name containing the period as part of the name Cannot delete "%s": %s Cannot enumerate the user list Cannot get disk size with command %s Cannot get disk space because the path "%s%s" is too long Cannot get disk space with command %s Cannot get the modification time of input log file "%s": %s Processing it anyway Cannot get the size of file "%s": %s Cannot load "%s": not enough memory Cannot open directory "%s": %s Cannot open file "%s": %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot prepare ldap URI for server %s on port %d Cannot read host name alias file "%s": %s Cannot resolve host name "%s": %s Cannot run command %s Cannot stat "%s": %s Chaining IP resolving module "%s" Command failed: %s Command to execute to resolve the IP addresses is too long (maximum is %d bytes) Command too long: Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d Currently effective locale is "%s". DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Dansguardian report not produced because no dansguardian configuration file was provided Datafile "%s" written successfully Date too long or invalid in "%s" Day reportDecompressing log file "%s" with %s Decompression command too long for log file "%s" Decreasing Access (bytes)Deleting temporary directory "%s" DeniedDenied accessesDenied accesses report not requested in report_type Denied report not produced because it is empty Destination directory too long: Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed "tail" command: %s Failed to build the string representation of the date range Failed to close file "%s": %s Failed to compile the regular expression "%s": %s Failed to copy image "%s" to "%s" Failed to create link "%s" to "%s": %s Failed to get the %d trailing lines of "%s": %s Failed to get the creation time of "%s": %s Failed to get the current time Failed to move till the end of file "%s": %s Failed to open directory "%s": %s Failed to read the date in "%s" Failed to read the number of users in "%s" Failed to rename "%s" into "%s": %s Failed to rewind file "%s": %s Failed to write a line in "%s" Failed to write the date in "%s" Failed to write the total line in "%s" File "%s" already exists, moved to "%s" File "%s" not found Fontname "%s" not found Generated by %s on %sGraph reportGraphicGraphs disabled as no font names were provided in "%s" Graphs disabled as requested in "%s" H:M:SHost name alias "%*s" must not end with a wildcard Host name alias "%s*%s" contains too many wildcards (*) Hour string too long in redirector log file %s IN-CACHE-OUTIP address "%.*s" too long for the command to run IP address "%s" too long for the command to run IP address too long in redirector log file %s IP address too long or invalid in "%s" IP to name resolution (getnameinfo) on IP address "%s" failed with error %d - %s IP/NAMEIf this message is in English, then your language is not supported or not correctly installed. Ignoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Integer overflow detected in %s in line "%s" Invalid "redirector_log_format" option in your sarg.conf (missing # at end of tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters before first tag) Invalid "redirector_log_format" option in your sarg.conf (too many characters in column separator) Invalid IP address in file "%s" Invalid NUL character found in regular expression Invalid access code in file "%s" Invalid access type in file "%s" Invalid address type %d returned when resolving host name "%s" Invalid amount of data in file "%s" Invalid buffer length passed to the function to safely copy a string Invalid buffer passed to getword_ptr Invalid cache hit size in "%s" Invalid cache miss size in "%s" Invalid client IP address in file "%s" Invalid data returned by %s Invalid date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date in file "%s" Invalid date range passed on command line Invalid day in file "%s" Invalid day in file "%s%s/sarg-date" Invalid day index found in the hourly statistics Invalid download duration in file "%s" Invalid download size in file "%s" Invalid elapsed time in file "%s" Invalid entry in file "%s" Invalid hour %d for the hourly statistics Invalid in-cache column in file "%s" Invalid in-cache size in file "%s" Invalid in-cache volume in file "%s" Invalid month in file "%s" Invalid month in file "%s%s/sarg-date" Invalid number of accesses in file "%s" Invalid number of bytes in file "%s" Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of users in file "%s" Invalid number of weeks in -d parameter Invalid out-of-cache column in file "%s" Invalid out-of-cache size in file "%s" Invalid out-of-cache volume in file "%s" Invalid path "%s". Please, use absolute paths only. Invalid record in IP address "%s" Invalid record in exclusion string Invalid record in file "%s" Invalid redirected list in file "%s" Invalid redirected source in file %s Invalid request method in file "%s" Invalid result code in file "%s" Invalid rule in file "%s" Invalid size in file "%s" Invalid smart info in file "%s" Invalid source IP in file "%s" Invalid time column in file %s Invalid time in file "%s" Invalid time in file "%s%s/sarg-date" Invalid total cache hit in "%s" Invalid total cache miss in "%s" Invalid total elapsed time in "%s" Invalid total number of accesses in file "%s" Invalid total size in "%s" Invalid url in file "%s" Invalid user ID in file "%s" Invalid user IP in file "%s" Invalid user found in file "%s" Invalid user in file "%s" Invalid useragent in file "%s" Invalid value in the "date_format" parameter Invalid week day in file "%s%s/sarg-date" Invalid year in file "%s" Invalid year in file "%s%s/sarg-date" January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Line="%s" Lines read: %lu lines in %.0lf seconds (%.0lf lines/s) List of host names to alias: Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Loading user table from LDAP Locale is not set in the environment variable. Log file name too long passed on command line with option %s: %s Log file name too long passed on command line: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) Loop detected in %s after %d bytes. MILLISECMONTHMaking Useragent report Making file %s/%s Making index.html Making report %s Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo command to run to resolve an IP address. Please configure it in sarg.conf No downloaded files to report No graphs available as sarg was not compiled with libgd. Set "graphs" to "no" in %s to disable this warning No known module to resolve an IP address using the DNS No old reports to delete as only %d report currently exist No old reports to delete as only %d reports currently exists No option to configure for module %s No records found No redirector logs provided to produce that kind of report No top users report because it is not configured in report_type Not enough memory to read a log file Not enough memory to read file "%s" Not enough memory to read one more line from the file Not enough memory to read the log file Not enough memory to store the daily statistics Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the host name aliasing directives Not enough memory to store the key/value pair %s/%s Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the names corresponding to the IP address Not enough memory to store the url Not enough memory to store the user Not enough memory to store user %s Option -%c requires an argument PCRE not compiled in therefore the regular expressions are not available in the host alias file Parameters: Parsing of tag "%s" in redirector log "%s" returned no result Path too long: PeriodPeriod covered by log files: %s-%s Period: %sProcessed records: %lu records in %.0lf seconds (%.0lf records/s) Purging temporary file sarg-general RULEReading DansGuardian log file "%s" Reading access log file: %s Reading access log file: from stdin Reading host alias file "%s" Reading redirector log file "%s" Reading user file "%s/%s" Reading useragent log "%s" RealtimeRecord="%s" RedirectorRedirector reportRedirector report not generated because it is empty Removing old report file "%s" Report output directory name=%s SARG reportSARG reportsSARG report for %sSARG report, %cSARG version: %s SARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESMARTFILTERSarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Sending mail with command: %s Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d Site access reportSites & UsersSites & users report not requested in report_type Sites and users report not generated because privacy option is on SmartFilterSmartFilter reportSort: %s, %sSort: %s, %sSorted file doesn't exist (to produce the download report) Sorting file "%s" Sorting log %s/%s.user_unsort Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETable of contentTemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The command to compute the occupied disk size (%s) returned the unknown string %s The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The directory "%s%s" looks like a report directory but doesn't contain a sarg-date file. You should delete it The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The internal list of month names is invalid. Please report this bug to the translator. The list of the users is too long in file "%s" The name of the file is invalid: %s The output directory "%s" must be outside of the temporary directory "%s" The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The time stamp decimal part at column 1 is too long The total of the in-cache and cache-miss is not 100%% The total of the in-cache and cache-miss is not 100%% at position %d (user %s) The user ID at column 8 is too long The user at column 9 is too long Time period passed on the command line with option -t must be HH:MM Time range passed on the command line with option -t must be HH:MM-HH:MM Time too long or invalid in "%s" Too many codes to exclude in file "%s" Too many day directories in %s Supernumerary entries are ignored Too many different dates for the hourly statistics Too many different dates in "%s" Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option %s. Too many log files passed on command line. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop sites report not produced because privacy option is on Top sites report not requested in report_type Top usersTotal execution time: %.0lf seconds Total statistics mismatch when reading %s to produce the email report Total statistics mismatch when reading %s to produce the top sites Total statistics mismatch when reading %s to produce the top users URL too long or invalid in "%s" USERIDUSERSUnable to connect to LDAP server %s on port %d: %d (%s) Unknown color "%s" requested for the graph. Using orange instead Unknown file "%s" found in temporary directory "%s". It is not one of our files. Please check the temporary directory you gave to sarg. Adjust the path to a safe directory or manually delete the content of "%s" Unknown input log file format Unknown module "%.*s" to resolve the IP addresses Unknown path type "%s" Unknown path type "%s". Check your temporary directory Unknown sort criterion "%s" for parameter "%s" Unknown sort order "%s" for parameter "%s" Unknown type %d for Y axis scale Unknown user ID %s in file "%s" Unknown value "%s" for parameter "%s" Unterminated regular expression Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser %s limit exceeded (%d MB). Added to file "%s" User ID too long in redirector log file "%s" User ID too long: %s User name too long or invalid in "%s" User name too long to manufacture file name User name too long to sort with command User reportUser's detailed report not requested in report_type User: %sUseragentUsers: %lu users in %.0lf seconds (%.0lf users/s) Using the dansguardian log file "%s" found in your configuration file "%s" Value "%s" conflicts with other selected values for parameter "%s" While reading "%s" Write error in file "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYesbytescannot build the sort command to sort file %s command return status %d command: %s connectdansguardian_ignore_date is deprecated and has been replaced by dansguardian_filter_out_date that does the action implied by its name as opposed to dansguardian_ignore_date. Please update your configuration file. date/time reportdate=%s getword backtrace: iconv cannot convert from %s to UTF-8: %s iconv failed to convert string "%s" from %s to UTF-8: %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s looking for "%s" at or below "%s" malloc failed to allocate %ld bytes mkstemp error: %s normalnot enough memory to sort the index period=%s redirector_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to redirector_ignore_date. Please update your configuration file. reversesearching for 'x%x' setrlimit error: %s sitesort command return status %d sort command: %s squidguard_ignore_date is deprecated and has been replaced by redirector_filter_out_date that does the action implied by its name as opposed to squidguard_ignore_date. Please update your configuration file. squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. timeuserProject-Id-Version: sarg-2.3.10 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2016-12-26 18:29+0200 Last-Translator: МироÑлав Ðиколић Language-Team: Serbian <(nothing)> Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Да би превод радио, иÑправна датотека порука би требало да Ñе инÑталира као „%s//LC_MESSAGES/%s.mo“ где „“ произилази из језика окружења. Време (-t) = %s КориÑник (-u) = %s ИП извештај (-i) = %s Дневник улаза (-l) = %s Излазни директоријум (-o) = %s Датотека подешавања (-f) = %s Ð—Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° (-g) = Европа (dd.mm.gggg.) Ð—Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° (-g) = Сајтови и кориÑници (gggg/vv) Ð—Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° (-g) = СÐД (mm/dd/gggg) ИÑкључење датотеке (-c) = %s ПриÑтупљени Ñајт (-s) = %s Привремени директоријум (-w) = %s Дневник агента кориÑника (-b) = %s Грешке прочишћавања (-x) = %s Дневник преуÑмеривача (-L) = %s Датум од-до (-d) = %s Поруке обраде (-z) = %s Решавање ИП адреÑе (-n) = %s Задржавање привремене датотеке (-k) = %s Ðазив домаћина или ИП адреÑа (-a) = %s --convert Претвара датотеку дневника приÑтупа (access.log) у читљив датум --css ИÑпиÑује унутрашњи ЦСС --help Приказује ову помоћ --keeplogs Задржава Ñваки претходно Ñтворени извештај --lastlog Број претходних извештаја за задржавање --split Дели датотеку дневника према датуму у параметру „-d “ --splitprefix ПРЕФИКС Додаје Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¿Ð¾Ð´ÐµÑ™ÐµÐ½Ð¸Ð¼ називима датотека --statistics ИÑпиÑује ÑтатиÑтику времена рада -P ПРЕФИКС Додаје Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¿Ð¾Ð´ÐµÑ™ÐµÐ½Ð¸Ð¼ називима датотека -a ÐÐЗИВ|ИП Ствара извештај за назив домаћина или ИП адреÑу -c ДТТКРИÑкључује прикључене домаћине из извештаја -d ДÐТУМ ОпÑег датума за извештај: од-до дд.мм.гггг.-дд.мм.гггг. -e ПОШТРÐдреÑа е-поште на коју Ñе шаљу извештаји (Ñтандардни излаз за конзолу) -f ДТТКРДатотека подешавања за читање (оÑновна је „%s/sarg.conf“) -g ФМТ Формат датума [e=Европа → дд.мм.гггг., u=СÐД → мм/дд/гггг] -h Приказује ову помоћ -i Извештава према кориÑнику и ИП адреÑи -l ДТТКРДневник улаза -m Ðапредне поруке процеÑа -n Решава ИП адреÑе кориÑтећи РДÐС -o ДИР Излазни директоријум извештаја -p КориÑти ИП адреÑу умеÑто ид-а кориÑника (извештаји) -s СÐЈТ Ограничава извештај Ñамо за приÑтупљени Ñајт [нпр. „www.microsoft.com“] -t ВРЕМЕ Ограничава извештај на временÑки опÑег [ЧЧ:ММ или ЧЧ:ММ-ЧЧ:ММ] -u КОРИСÐИК Извештава Ñамо о активноÑти овог кориÑника -w ДИР Привремени директоријум -x Поруке прочишћавања -z Поруке обраде ÐдреÑа е-поште за Ñлање извештаја (-e) = %s Прочитаних запиÑа: %ld ЗапиÑа прочитаних: %ld, запиÑаних: %ld, иÑкључених: %ld %d.%d.%d.%d/%d => %s %s => %s %s*%s => %s %x:%x:%x:%x:%x:%x:%x:%x/%d => %s *%s => %s Претходни извештаји за задржавање (--lastlog) = %d %02dчÐађох %d грешку у датотеци дневника. Ðеки уноÑи ће недоÑтајати.Ðађох %d грешке у датотеци дневника. Ðеки уноÑи ће недоÑтајати.Ðађох %d грешака у датотеци дневника. Ðеки уноÑи ће недоÑтајати.Још %d неуÑпех потврђивања идентитета није приказан овде…Још %d неуÑпеха потврђивања идентитета ниÑу приказана овде…Још %d неуÑпеха потврђивања идентитета није приказано овде…Још %d ÑƒÐ½Ð¾Ñ Ð´Ð°Ð½Ñ_чувара није приказан овде…Још %d уноÑа данÑ_чувара ниÑу приказана овде…Још %d уноÑа данÑ_чувара није приказано овде…Још %d забрањени приÑтуп није приказан овде…Још %d забрањена приÑтупа ниÑу приказана овде…Још %d забрањених приÑтупа није приказано овде…Још %d ÑƒÐ½Ð¾Ñ Ð¿Ñ€ÐµÑƒÑмеривача није приказан овде…Још %d уноÑа преуÑмеривача ниÑу приказана овде…Још %d уноÑа преуÑмеривача није приказано овде…%d Ñтари извештај за бриÑање %d Ñтара извештаја за бриÑање %d Ñтарих извештаја за бриÑање Ðађох %d директоријум извештаја Ðађох %d директоријума извештаја Ðађох %d директоријума извештаја Ред текÑта је за %d бајта дужи означавајући оштећену датотеку ПРИСТУПЉЕÐИ СÐЈТÐГЕÐТПРОСЕКÐеуÑпеÑи потврђивања идентитетаИзвештај неÑупеха потврђивања идентитета није произведен јер је празан Извештај неуÑпелих потврђивања идентитета није затражен у „report_type“ Сам оÑвежиБÐЈТÐЗабрањујући назив ÑпиÑка је предуг у датотеци дневника преуÑмеривача „%s“ Забрањујући назив извора је предуг у датотеци дневника преуÑмеривача „%s“ РÐЗЛОГПОВЕЗИВÐЊÐДÐТУМ СТВÐРÐЊÐÐе могу да Ñе Ñвежем на ЛДÐП Ñервер: %s Ðе могу да претворим локално време: %s Ðе могу да претворим временÑку ознаку из Ñквидове датотеке дневника Ðе могу да направим привремену датотеку за Ñтварање извештаја: %s Ðе могу да направим директоријум „%s“: %s Ðе могу да Ñтворим излазни назив директоријума који Ñадржи раздобље као део назива Ðе могу да обришем „%s“: %s Ðе могу да набројим ÑпиÑак кориÑника Ðе могу да добавим величину диÑка наредбом „%s“ Ðе могу да добавим проÑтор на диÑку јер је путања „%s%s“ предуга Ðе могу да добавим проÑтор на диÑку наредбом „%s“ Ðе могу да добавим време измене улазне датотеке дневника „%s“: %s Ипак је обрађујем Ðе могу да добавим величину датотеке „%s“: %s Ðе могу да учитам „%s“: нема довољно меморије Ðе могу да отворим директоријум „%s“: %s Ðне могу да отворим датотеку „%s“: %s Ðе могу да отворим датотеку подешавања Ñквид чувара: %s Ðе могу опет да обрадим ред јер је измењен Ðе могу да припремим лдап путању за Ñервер „%s“ на порту %d Ðе могу да прочитам датотеку алијаÑа назива домаћина „%s“: %s Ðе могу да решим назив домаћина „%s“: %s Ðе могу да покренем наредбу „%s“ Ðе могу да добијем податке о „%s“: %s Модул решавања ланчане ИП „%s“ Ðаредба није уÑпела: %s Ðаредба за извршавање решавања ИП адреÑа је предуга (највише %d бајта) Ðаредба је предуга: Општи формат дневника Ðе могу да иÑкључим „LDAP_OPT_REFERRALS“ Ðе могу да подеÑим ЛДÐП протокол издање %d Тренутни језик окружења је „%s“. ДÐТУМДÐТУМ/ВРЕМЕДÐÐИОДБИЈЕÐÐ”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð˜Ð·Ð²ÐµÑˆÑ‚Ð°Ñ˜ Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° није Ñтворен јер је празан Ðема извештаја Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° јер није доÑтављена датотека подешавања Ð´Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° Датотека података „%s“ је уÑпешно запиÑана Датум је предуг или неиÑправан у „%s“ Извештај данаРаÑпакујем датотеку дневника „%s“ Ñа „%s“ Ðаредба раÑпакивања је предуга за датотеку дневника „%s“ РаÑтући приÑтуп (бајта)Бришем привремени директоријум „%s“ ЗабрањеноЗабрањени приÑтупиИзвештај забрањених приÑтупа није затражен у „report_type“ Извештај забрана није Ñтворен јер је празан Одредишни директоријум је предуг: СпиÑак ÑуфикÑа преузимања је предуг Извештај преузетих датотека није затражен у „report_type“ ПреузимањаПРОТЕКЛО ВРЕМЕКрај Грешка: ÐеиÑправна ÑинтакÑа у ознаци чаÑова! Грешка: ÐеиÑправна ÑинтакÑа у ознаци викенда! ИÑкључени код: %s ИÑкључени Ñајт: %s ИÑкључени кориÑник: %s ДÐТОТЕКÐ/РÐЗДОБЉЕÐије уÑпела наредба „tail“: %s ÐиÑам уÑпео да изградим предÑтављање ниÑком опÑега датума ÐиÑам уÑпео да затворим датотеку „%s“: %s ÐиÑам уÑпео да преведем регуларни израз „%s“: %s ÐиÑам уÑпео да умножим Ñлику „%s“ у „%s“ ÐиÑам уÑпео да направим везу „%s“ у „%s“: %s ÐиÑам уÑпео да добавим %d пратећа реда за „%s“: %s ÐиÑам уÑпео да добавим време Ñтварања за „%s“: %s ÐиÑам уÑпео да добавим текуће време ÐиÑам уÑпео да Ñе пребацим на крај датотеке „%s“: %s ÐиÑам уÑпео да отворим директоријум „%s“: %s ÐиÑам уÑпео да прочитам датум у „%s“ ÐиÑам уÑпео да прочитам број кориÑника у „%s“ ÐиÑам уÑпео да преименујем „%s“ у „%s“: %s ÐиÑам уÑпео да премотам датотеку „%s“: %s ÐиÑам уÑпео да запишем ред у „%s“ ÐиÑам уÑпео да запишем датум у „%s“ ÐиÑам уÑпео да запишем укупан ред у „%s“ Датотека „%s“ већ поÑтоји, премеÑтио Ñам је у „%s“ ÐиÑам нашао датотеку „%s“ ÐиÑам нашао назив Ñлова „%s“ Створено „%s“-ом %sИзвештај графикаГрафикГрафици Ñу иÑкључени јер ниÑу доÑтављени називи Ñлова у „%s“ Графици Ñу иÑкључени као што је затражено у „%s“ ч:м:ÑÐÐ»Ð¸Ñ˜Ð°Ñ Ð½Ð°Ð·Ð¸Ð²Ð° домаћина „%*s“ не Ñме да Ñе заврши џокером ÐÐ»Ð¸Ñ˜Ð°Ñ Ð½Ð°Ð·Ð¸Ð²Ð° домаћина „%s*%s“ Ñадржи превише џокера (*) ÐиÑка чаÑова је предуга у датотеци дневника преуÑмеривача „%s“ У-ОСТÐВИ-Ð’ÐÐИП адреÑа „%.*s“ је предуга за наредбу за извршавање ИП адреÑа „%s“ је предуга за наредбу за извршавање ИП адреÑа је предуга у датотеци дневника преуÑмеривача „%s“ ИП адреÑа је предуга или неиÑправна у „%s“ Решавање ИП-а у назив (getnameinfo) над ИП адреÑом „%s“ није уÑпело Ñа грешком %d — %s ИП/ИМЕÐко је ова порука на ÑрпÑком језику, онда је језик иÑправно инÑталиран и Ñве је у најбољем реду. Занемарујем удвоÑтручени модул „%s“ да бих решио ИП адреÑу Занемарујем Ñтару датотеку дневника „%s“ Почетак Откривено је прекорачење целог броја у „%s“ у реду „%s“ ÐеиÑправна опција „redirector_log_format“ у вашој датотеци „sarg.conf“ (недоÑтаје # на крају ознаке) ÐеиÑправна опција „redirector_log_format“ у вашој датотеци „sarg.conf“ (превише знакова пре прве ознаке) ÐеиÑправна опција „redirector_log_format“ у вашој датотеци „sarg.conf“ (превише знакова у раздвојнику колоне) ÐеиÑправна ИП адреÑа у датотеци „%s“ Ðађох неиÑправан ÐИШТÐÐ’ÐРзнак у регуларном изразу ÐеиÑправан код приÑтупа у датотеци „%s“ ÐеиÑправна врÑта приÑтупа у датотеци „%s“ Враћена је неиÑправна врÑта адреÑе %d приликом решавања назива доамћина „%s“ ÐеиÑправна количина података у датотеци „%s“ ÐеиÑправна дужина међумеморије је проÑлеђена функцији за безбедно умножавање ниÑке ÐеиÑправна међумеморија је проÑлеђена „getword_ptr“-у ÐеиÑправна величина погодака оÑтаве у „%s“ ÐеиÑправна величина недоÑтатака оÑтаве у „%s“ ÐеиÑправна ИП адреÑа клијента у датотеци „%s“ „%s“ је вратио неиÑправне податке ÐеиÑправан датум „%s“ за чаÑовну ÑтатиÑтику ÐеиÑправан ÑаÑтојак датума „%s“ за чаÑовну ÑтатиÑтику ÐеиÑправан датум у датотеци „%s“ ÐеиÑправан опÑег датума је проÑлеђен линији наредби ÐеиÑправан дан у датотеци „%s“ ÐеиÑправан дан у датотеци „%s%s/sarg-date“ Ðађох неиÑправан Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð°Ñ‚ÑƒÐ¼Ð° за чаÑовну ÑтатиÑтику ÐеиÑправно трајање преузимања у датотеци „%s“ ÐеиÑправна величина преузимања у датотеци „%s“ ÐеиÑправно протекло време у датотеци „%s“ ÐеиÑправан ÑƒÐ½Ð¾Ñ Ñƒ датотеци „%s“ ÐеиÑправан Ñ‡Ð°Ñ â€ž%d“ за чаÑовну ÑтатиÑтику ÐеиÑправна колона у-оÑтави у датотеци „%s“ ÐеиÑправна величина у-оÑтави у датотеци „%s“ ÐеиÑправан волумен у-оÑтави у датотеци „%s“ ÐеиÑправан меÑец у датотеци „%s“ ÐеиÑправан меÑец у датотеци „%s%s/sarg-date“ ÐеиÑправан број приÑтупа у датотеци „%s“ ÐеиÑправан број бајтова у датотеци „%s“ ÐеиÑправан број дана у параметру „-d“ ÐеиÑправан број меÑеца у параметру „-d“ ÐеиÑправан број кориÑника у датотеци „%s“ ÐеиÑправан број недеља у параметру „-d“ ÐеиÑправна колона ван-оÑтаве у датотеци „%s“ ÐеиÑправна величина ван-оÑтаве у датотеци „%s“ ÐеиÑправан волумен ван-оÑтаве у датотеци „%s“ ÐеиÑправна путања „%s“. КориÑтите Ñамо апÑолутне путање. ÐеиÑправан Ð·Ð°Ð¿Ð¸Ñ Ñƒ ИП адреÑи „%s“ ÐеиÑправан Ð·Ð°Ð¿Ð¸Ñ Ñƒ ниÑци иÑкључења ÐеиÑправан Ð·Ð°Ð¿Ð¸Ñ Ñƒ датотеци „%s“ ÐеиÑправан преуÑмерени ÑпиÑак у датотеци „%s“ ÐеиÑправан преуÑмерени извор у датотеци „%s“ ÐеиÑправан режим захтева у датотеци „%s“ ÐеиÑправан код резултата у датотеци „%s“ ÐеиÑправно правило у датотеци „%s“ ÐеиÑправна величина у датотеци „%s“ ÐеиÑправни паметни подаци у датотеци „%s“ ÐеиÑправна ИП извора у датотеци „%s“ ÐеиÑправна колона времена у датотеци „%s“ ÐеиÑправно време у датотеци „%s“ ÐеиÑправно време у датотеци „%s%s/sarg-date“ ÐеиÑправан укупан број погодака оÑтаве у „%s“ ÐеиÑправан укупан број недоÑтатака оÑтаве у „%s“ ÐеиÑправно укупно протекло време у „%s“ ÐеиÑправан број броја приÑтупа у датотеци „%s“ ÐеиÑправна укупна величина у „%s“ ÐеиÑправна адреÑа у датотеци „%s“ ÐеиÑправан ИД кориÑника у датотеци „%s“ ÐеиÑправан ИП кориÑника у датотеци „%s“ Ðађох неиÑправног кориÑника у датотеци „%s“ ÐеиÑправан кориÑник у датотеци „%s“ ÐеиÑправан агент кориÑника у датотеци „%s“ ÐеиÑправна вредноÑÑ‚ у „date_format“ параметру ÐеиÑправан дан недеље у датотеци „%s%s/sarg-date“ ÐеиÑправна година у датотеци „%s“ ÐеиÑправна година у датотеци „%s%s/sarg-date“ јануар,фебруар,март,април,мај,јун,јул,авгуÑÑ‚,Ñептембар,октобар,новембар,децембарЛДÐП модул није преведен у Ñаргу ЛДÐП претрага није уÑпела: %s Ред=„%s“ Прочитаних редова: %lu реда за %.0lf Ñекунде (%.0lf реда/Ñек) СпиÑак назива домаћина за алијаÑе: Учитаавам табелу кориÑника: %s Учитавам подешавања из „%s“ Учитаавам датотеку иÑкључења из: %s Учитаавам датотеку домаћина иÑкључења из: %s Учитаавам датотеку лозинке из „%s“ Учитавам табелу кориÑника Ñа ЛДÐП-а Језик није подешен у променљивој окружења. Предуг назив датотеке дневника је проÑлеђен линији наредби опцијом „%s“: %s Предуг назив датотеке дневника је проÑлеђен линији наредби: %s Дневник је из МајкроÑофтовог ИСÐ: %s Дневник Ñа неиÑправним форматом Дневник Ñа помешаним форматима запиÑа (Ñквид и општи дневник) Откривена је петља у „%s“ након %d бајта. МИЛИСЕКМЕСЕЦПравим извештај агента кориÑника Правим датотеку „%s/%s“ Правим „index.html“ Правим извештај „%s“ ÐедоÑтаје двоÑтруки наводник након параметра „%s“ ÐедоÑтаје двоÑтруки наводник након параметра „%s“ или је вредноÑÑ‚ дужа од %d бајта ÐедоÑтаје друга реч за параметар „%s“ БРОЈÐазив датотеке за уклањање је предуг: %s/%s ÐеÐема наредбе за покретање да би Ñе решила ИП адреÑа. ПодеÑите је у датотеци „sarg.conf“ Ðема преузетих датотека за извештај Графици ниÑу доÑтупни јер Ñарг није преведен либгд-ом. ПодеÑите „graphs“ на „no“ у „%s“ да иÑкључите ово упозорење Ðема познатог модула за решавање ИП адреÑе кориÑтећи ДÐС Ðема Ñтарих извештаја за бриÑање јер тренутно поÑтоји Ñамо %d извештај Ðема Ñтарих извештаја за бриÑање јер тренутно поÑтоје Ñамо %d извештаја Ðема Ñтарих извештаја за бриÑање јер тренутно поÑтоји Ñамо %d извештаја Ðема опције за подешавање модула „%s“ ÐиÑам нашао запиÑе ÐиÑу доÑтављени дневници преуÑмеривача за давање таквог извештаја Ðема извештаја најактивнијих кориÑника јер није подешено у врÑти извештаја (report_type) Ðема довољно меморије за читање датотеке дневника Ðема довољно меморије за читање датотеке „%s“ Ðема довољно меморије за читање још једног реда из датотеке Ðема довољно меморије за читање датотеке дневника Ðема довољно меморије за Ñмештај дневне ÑтатиÑтике Ðема довољно меморије за Ñмештај назива датотеке „%s“ у Ð¸Ð½Ð´ÐµÐºÑ Ðема довољно меморије за Ñмештај иÑкључених адреÑа Ðема довољно меморије за Ñмештај иÑкључених ИП адреÑа Ðема довољно меморије за Ñмештај директива алијазирања назива домаћина Ðема довољно меморије за Ñмештај пара кључ/вредноÑÑ‚ „%s/%s“ Ðема довољно меморије за Ñмештај назива новог дневника преуÑмеривача за читање — %s Ðема довољно меморије за Ñмештај назива који одговарају ИП адреÑи Ðема довољно меморије за Ñмештај адреÑе Ðема довољно меморије за Ñмештај кориÑника Ðема довољно меморије за Ñмештај кориÑника „%s“ Опција „%c“ захтева аргумент ПЦРЕ није преведено Ñтога регуларни изрази ниÑу доÑтупни у датотеци алијаÑа домаћина Параметри: Обрада ознаке „%s“ у дневнику преуÑмеривача „%s“ није дала резултата Путања је предуга: РаздобљеРаздобље покривено датотекама дневника: %s-%s Раздобље: %sОбрађених запиÑа: %lu запиÑа за %.0lf Ñекунде (%.0lf запиÑа/Ñек) Избацујем привремену датотеку „sarg-general“ ПРÐВИЛОЧитам датотеку дневника Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° „%s“ Читам датотеку дневника приÑтупа: %s Читам датотеку дневника приÑтупа: из Ñтандардног улаза Читам датотеку алијаÑа домаћина „%s“ Читам датотеку дневника преуÑмеривача „%s“ Читам датотеку кориÑника „%s/%s“ Читам дневник агента кориÑника „%s“ Стварно времеЗапиÑ=„%s“ ПреуÑмеривачИзвештај преуÑмеривачаИзвештај преуÑмеривача није Ñтворен јер је празан Уклањам Ñтару датотеку извештаја „%s“ Извештава назив излазног директоријума=%s СÐРГ-ов извештајСÐРГ-ови извештајиСÐРГ-ови извештајиСÐРГ-ов извештај за „%s“СÐРГ-ов извештај, %cИздање СÐРГ-а: %s СÐРГ, СÐРГ: СÐРГ: (инфо) СÐРГ: ЗапиÑа у датотеци: %lu, читам: %3.2lf%%СÐРГ: ОЗÐÐКÐ: %s СÐРГ: Ðепозната опција „%s“ СÐРГ: извештај за %04dСÐРГ: извештаји за %04dСÐРГ: извештаји за %04dСÐРГ: извештај за %04d/%02dСÐРГ: извештаји за %04d/%02dСÐРГ: извештаји за %04d/%02dВЕЛИЧИÐÐПÐМЕТÐÐ_ФИЛТЕРСарг је преведен да извеÑти о упозорењима ако је излаз недоÑледан Саргов формат дневника Саргов обрађени дневник је Ñачуван као „%s“ Шаљем пошту наредбом: %s Кратку Ñтруктуру је вратио „getaddrinfo“ за ИПв4 адреÑу: %d бајта умеÑто %d Кратку Ñтруктуру је вратио „getaddrinfo“ за ИПв6 адреÑу: %d бајта умеÑто %d Извештај приÑтупа ÑајтуСајтови и кориÑнициИзвештај Ñајтова и кориÑника није затражен у „report_type“ Извештај Ñајтова и кориÑника није Ñтворен јер је укључена опција приватноÑти Паметан филтерИзвештај паметног филтераПоређај: %s, %sРеђање: %s, %sПричувана датотека не поÑтоји (за давање извештаја преузимања) Ређам датотеку „%s“ Ређам дневник „%s/%s.user_unsort“ Извештај приÑтупа кориÑника СквидаСквидов извештај агента кориÑникаСквидов формат дневника УÑпешан извештај је Ñтворен и поÑлат „%s“ УÑпешан извештај је Ñтворен %s ВРЕМЕУКУПÐОВРСТÐСадржајÐазив датотеке шаблона је предуг у параметру „AuthUserTemplateFile“ Параметар „byte_cost“ датотеке подешавања није иÑправан ИП адреÑа у 3. колони је предуга ÐдреÑа у 7. колони је предуга Радња у 6. колони је предуга Ðаредба за израчунавање величине заузетоÑти диÑка (%s) је дала непознату ниÑку „%s“ Трајање везе у 2. колони је предуго Датум у 8. колони је предуг Датум проÑлеђен као аргумент није форматиран као „дд.мм.гггг.“ или „дд.мм.гггг.-дд.мм.гггг.“ ОпÑег датума проÑлеђен као аргумент није форматиран као „дд.мм.гггг.“ или „дд.мм.гггг.-дд.мм.гггг.“ Директоријум „%s%s“ изгледа као директоријум извештаја али не Ñадржи датотеку „sarg-date“. Треба да га избришете Прва реч параметра „%s“ је дужа од %d бајта ВредноÑÑ‚ целог броја параметра „%s“ је неиÑправна Унутрашњи ÑпиÑак назива меÑеци је неиÑправан. ОбавеÑтите преводиоца о овоме. (ÐиÑам ја крив.) СпиÑак кориÑника је предуг у датотеци „%s“ Ðазив датотеке је неиÑправан: %s Излазни директоријум „%s“ мора бити ван привременог директоријума „%s“ Захтевани број цифара проÑлеђених „my_lltoa“-у (%d) је већи од излазне величине међумеморије (%d) Друга реч параметра „%s“ је дужа од %d бајта Величина у 5. колони је предуга Стање у 4. колони је предуго ВредноÑÑ‚ ниÑке параметра „%s“ је предуга ВременÑка ознака у 1. колони је предуга Децимални део временÑке ознаке у 1. колони је предуг УкупноÑÑ‚ у-оÑтави и недоÑтатак-оÑтаве није 100%% УкупноÑÑ‚ у-оÑтави и недоÑтатак-оÑтаве није 100%% на положају %d (кориÑник „%s“) ИД кориÑника у 8. колони је предуг КориÑник у 9. колони је предуг ВременÑко раздобље проÑлеђено линији наредби опцијом „-t“ мора бити „HH:MM“ ВременÑки опÑег проÑлеђен линији наредби опцијом „-t“ мора бити „HH:MM-HH:MM“ Време је предуго или неиÑправно у „%s“ Превише кодова за иÑкључивање из датотеке „%s“ Превише директоријума дана у „%s“ Сувишни уноÑи Ñу занемарени Превише различитих датума за чаÑовну ÑтатиÑтику Превише различитих датума у „%s“ Превише ÑуфикÑа преузимања Превише датотека дневника у датотеци подешавања Превише датотека дневника је проÑлеђено линији наредби опцијом „%s“. Превише датотека дневника је проÑлеђено линији наредби. Превише директоријума меÑеца у „%s“ Сувишни уноÑи Ñу занемарени Превише датотека дневника преуÑмеравања у датотеци подешавања ÐајпоÑећенија %d ÑајтаÐајпоÑећенији ÑајтовиИзвештај најпоÑећенијих Ñајтова није Ñтворен јер је укључена опција приватноÑти Извештај најпоÑећенијих Ñајтова није затражен у „report_type“ Ðајактивнији кориÑнициУкупно време извршавања: %.0lf Ñекунде Укупна ÑтатиÑтика не одговара када читам „%s“ да бих произвео извештај е-поште Укупна ÑтатиÑтика не одговара када читам „%s“ да бих произвео најпоÑећеније Ñајтове Укупна ÑтатиÑтика не одговара када читам „%s“ да бих произвео најактивније кориÑнике ÐдреÑа је предуга или неиÑправна у „%s“ ИД_КОРИСÐИКÐКОРИСÐИЦИÐе могу да Ñе повежем на ЛДÐП Ñервер „%s“ на порту %d: %d (%s) Ðепозната боја „%s“ је затражена за график. КориÑтићу наранџаÑту Ðађох непознату датотеку „%s“ у привременом директоријуму „%s“. То није једна од наших датотека. Проверите привремени директоријум који Ñте дали Ñаргу. ПодеÑите путању ка безбедном директоријуму или ручно обришите Ñадржај из „%s“ Ðепознат улазни Ð·Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚Ð¾Ñ‚ÐµÐºÐµ дневника Ðепознат модул „%.*s“ за решавање ИП адреÑа Ðепозната врÑта путање „%s“ Ðепозната врÑта путање „%s“. Проверите ваш привремени директоријум Ðепознат уÑлов ређања „%s“ за параметар „%s“ Ðепознат редоÑлед ређања „%s“ за параметар „%s“ Ðепозната врÑта %d за леÑтвицу Y оÑе Ðепознат ИД кориÑника „%s“ у датотеци „%s“ Ðепозната вредноÑÑ‚ „%s“ за параметар „%s“ Ðеокончан регуларни израз Употреба: %s [опције...] КориÑти ип адреÑу умеÑто ид-а кориÑника (-p) = %s КориÑникПревазиђено је ограничење кориÑника „%s“ (%d MB). Додато у датотеку „%s“ ИД кориÑника је предуг у датотеци дневника преуÑмеривача „%s“ ИБ кориÑника је предуг: %s КориÑничко име је предуго или неиÑправно у „%s“ КориÑничко име је предуго да би Ñе произвео назив датотеке КориÑничко име је предуго за ређање наредбом Извештај кориÑникаОпширан извештај о кориÑнику није затражен у „report_type“ КориÑник: %sÐгент кориÑникаКориÑници: %lu кориÑника за %.0lf Ñекунде (%.0lf кориÑника/Ñек) КориÑтим датотеку дневника данÑ_чувара „%s“ нађену у вашој датотеци подешавања „%s“ ВредноÑÑ‚ „%s“ Ñе Ñукобљава Ñа другим изабраним вредноÑтима за параметар „%s“ Приликом читања „%s“ Грешка пиÑања у датотеци „%s“ Грешка пиÑања у индекÑу „%s“ Грешка пиÑања у датотеци дневника кориÑника „%s“ Грешка пиÑања на ÑпиÑку најактивнијег кориÑника „%s“ ГОДИÐÐДабајтане могу да изградим наредбу ређања да поређам датотеку „%s“ наредба је дала Ñтање „%d“ наредба: %s повезан„dansguardian_ignore_date“ је заÑтарело и замењено је „dansguardian_filter_out_date“-ом који одрађује радњу коју подразумева његов назив Ñупротно „dansguardian_ignore_date“-у. ОÑвежите вашу датотеку подешавања. извештај датума и временадатум=%s повратни траг „getword“-а: иконв не може да претвори из „%s“ у УТФ-8: %s иконв није уÑпео да претвори ниÑку „%s“ из „%s“ у УТФ-8: %s либгд није уÑпела да израчуна гранично поље текÑта „%s“: %s либгд није уÑпела да иÑпише текÑÑ‚ „%s“: %s тражим „%s“ на или иÑпод „%s“ функција доделе меморије није уÑпела да додели %ld бајта грешка Ñтварања привременог: %s уобичајенонема довољно меморије за ређање индекÑа раздобље=%s „redirector_ignore_date“ је заÑтарело и замењено је „redirector_filter_out_date“-ом који одрађује радњу коју подразумева његов назив Ñупротно „redirector_ignore_date“-у. ОÑвежите вашу датотеку подешавања. обрнутотражим „x%x“ грешка подешавања ограничења извештаја: %s Ñајтнаредба ређања је дала Ñтање „%d“ наредба ређања: %s „squidguard_ignore_date“ је заÑтарело и замењено је „redirector_filter_out_date“-ом који одрађује радњу коју подразумева његов назив Ñупротно „squidguard_ignore_date“-у. ОÑвежите вашу датотеку подешавања. „squidguard_log_format“ је заÑтарело и замењено је „redirector_log_format“-ом. ОÑвежите вашу датотеку подешавања. времекориÑникPRIu64PRId64PRIi64realloc error (% bytes required) Minimum for Y scale of the graph is out of range: % Maximum for Y scale of the graph is out of range: % Total downloaded bytes is % instead of % in the hourly report of user %s Total elapsed time is % instead of % in the hourly report of user %s грешка реалока (потребна Ñу % бајта) Ðајмања вредноÑÑ‚ за Y леÑтвицу графика је ван опÑега: % Ðајвећа вредноÑÑ‚ за Y леÑтвицу графика је ван опÑега: % Ð˜Ð·Ð½Ð¾Ñ Ð¿Ñ€ÐµÑƒÐ·ÐµÑ‚Ð¸Ñ… бајтова је % умеÑто % у чаÑовном извештају за кориÑника „%s“ Укупно протекло време је % умеÑто % у чаÑовном извештају за кориÑника „%s“ sarg-2.3.11/po/sr.po000066400000000000000000003025071324060677300141530ustar00rootroot00000000000000# Serbian translation of sarg. # Copyright © 2016 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # МироÑлав Ðиколић , 2016. msgid "" msgstr "" "Project-Id-Version: sarg-2.3.10\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2016-12-26 18:29+0200\n" "Last-Translator: МироÑлав Ðиколић \n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "Путања је предуга: " #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Ðне могу да отворим датотеку „%s“: %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "Још %d неуÑпех потврђивања идентитета није приказан овде…" msgstr[1] "Још %d неуÑпеха потврђивања идентитета ниÑу приказана овде…" msgstr[2] "Још %d неуÑпеха потврђивања идентитета није приказано овде…" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Ðе могу да обришем „%s“: %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" "Извештај неÑупеха потврђивања идентитета није произведен јер је празан\n" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "наредба ређања је дала Ñтање „%d“\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "наредба ређања: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "ÐеуÑпеÑи потврђивања идентитета" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Раздобље: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "ИД_КОРИСÐИКÐ" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "ИП/ИМЕ" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "ДÐТУМ/ВРЕМЕ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "ПРИСТУПЉЕÐИ СÐЈТ" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Ðема довољно меморије за читање датотеке „%s“\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, c-format msgid "Invalid date in file \"%s\"\n" msgstr "ÐеиÑправан датум у датотеци „%s“\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, c-format msgid "Invalid time in file \"%s\"\n" msgstr "ÐеиÑправно време у датотеци „%s“\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "ÐеиÑправан кориÑник у датотеци „%s“\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "ÐеиÑправна ИП адреÑа у датотеци „%s“\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "ÐеиÑправна адреÑа у датотеци „%s“\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Ðепознат ИД кориÑника „%s“ у датотеци „%s“\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, c-format msgid "Write error in file \"%s\"\n" msgstr "Грешка пиÑања у датотеци „%s“\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "ÐиÑам уÑпео да затворим датотеку „%s“: %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, c-format msgid "Invalid record in file \"%s\"\n" msgstr "ÐеиÑправан Ð·Ð°Ð¿Ð¸Ñ Ñƒ датотеци „%s“\n" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" "КориÑтим датотеку дневника данÑ_чувара „%s“ нађену у вашој датотеци " "подешавања „%s“\n" #: dansguardian_log.c:82 #, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Читам датотеку дневника Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° „%s“\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, c-format msgid "Sorting file \"%s\"\n" msgstr "Ређам датотеку „%s“\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "Још %d ÑƒÐ½Ð¾Ñ Ð´Ð°Ð½Ñ_чувара није приказан овде…" msgstr[1] "Још %d уноÑа данÑ_чувара ниÑу приказана овде…" msgstr[2] "Још %d уноÑа данÑ_чувара није приказано овде…" #: dansguardian_report.c:65 msgid "Dansguardian report not generated because it is empty\n" msgstr "Извештај Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° није Ñтворен јер је празан\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "РÐЗЛОГ" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "ÐеиÑправно правило у датотеци „%s“\n" #: datafile.c:72 html.c:84 report.c:114 #, c-format msgid "Cannot enumerate the user list\n" msgstr "Ðе могу да набројим ÑпиÑак кориÑника\n" #: datafile.c:83 #, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Читам датотеку кориÑника „%s/%s“\n" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "ÐеиÑправни паметни подаци у датотеци „%s“\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "Ðема довољно меморије за Ñмештај адреÑе\n" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Датотека података „%s“ је уÑпешно запиÑана\n" #: decomp.c:36 #, c-format msgid "File \"%s\" not found\n" msgstr "ÐиÑам нашао датотеку „%s“\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "РаÑпакујем датотеку дневника „%s“ Ñа „%s“\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Ðаредба раÑпакивања је предуга за датотеку дневника „%s“\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "Још %d забрањени приÑтуп није приказан овде…" msgstr[1] "Још %d забрањена приÑтупа ниÑу приказана овде…" msgstr[2] "Још %d забрањених приÑтупа није приказано овде…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "Извештај забрана није Ñтворен јер је празан\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Забрањено" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Ðема довољно меморије за Ñмештај пара кључ/вредноÑÑ‚ „%s/%s“\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "Ðаредба је предуга: " #: download.c:117 msgid "No downloaded files to report\n" msgstr "Ðема преузетих датотека за извештај\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "Причувана датотека не поÑтоји (за давање извештаја преузимања)\n" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "Преузимања" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "СпиÑак ÑуфикÑа преузимања је предуг\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "Превише ÑуфикÑа преузимања\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" "Укупна ÑтатиÑтика не одговара када читам „%s“ да бих произвео извештај е-" "поште\n" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "Извештај приÑтупа кориÑника Сквида" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "РаÑтући приÑтуп (бајта)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "Раздобље" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "БРОЈ" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "ПОВЕЗИВÐЊÐ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "БÐЈТÐ" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "ПРОТЕКЛО ВРЕМЕ" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "МИЛИСЕК" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "ВРЕМЕ" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "ÐеиÑправан ИД кориÑника у датотеци „%s“\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "ÐеиÑправан број бајтова у датотеци „%s“\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "ÐеиÑправан број приÑтупа у датотеци „%s“\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "ÐеиÑправно протекло време у датотеци „%s“\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "УКУПÐО" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "ПРОСЕК" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, c-format msgid "SARG report, %c" msgstr "СÐРГ-ов извештај, %c" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "Шаљем пошту наредбом: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "наредба је дала Ñтање „%d“\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "наредба: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "Ðема довољно меморије за Ñмештај иÑкључених ИП адреÑа\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Ðема довољно меморије за Ñмештај иÑкључених адреÑа\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Учитаавам датотеку домаћина иÑкључења из: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "Приликом читања „%s“\n" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Учитаавам датотеку иÑкључења из: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "ÐиÑам уÑпео да Ñе пребацим на крај датотеке „%s“: %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Ðе могу да добавим величину датотеке „%s“: %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "ÐиÑам уÑпео да премотам датотеку „%s“: %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "функција доделе меморије није уÑпела да додели %ld бајта\n" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "ВредноÑÑ‚ ниÑке параметра „%s“ је предуга\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "ÐедоÑтаје двоÑтруки наводник након параметра „%s“\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "" "ÐедоÑтаје двоÑтруки наводник након параметра „%s“ или је вредноÑÑ‚ дужа од %d " "бајта\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Прва реч параметра „%s“ је дужа од %d бајта\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "ÐедоÑтаје друга реч за параметар „%s“\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Друга реч параметра „%s“ је дужа од %d бајта\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "ВредноÑÑ‚ целог броја параметра „%s“ је неиÑправна\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Ðепозната вредноÑÑ‚ „%s“ за параметар „%s“\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" "ВредноÑÑ‚ „%s“ Ñе Ñукобљава Ñа другим изабраним вредноÑтима за параметар " "„%s“\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Ðепознат уÑлов ређања „%s“ за параметар „%s“\n" #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Ðепознат редоÑлед ређања „%s“ за параметар „%s“\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "СÐРГ: ОЗÐÐКÐ: %s\n" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "ÐеиÑправна вредноÑÑ‚ у „date_format“ параметру\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "Грешка: ÐеиÑправна ÑинтакÑа у ознаци чаÑова!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "Грешка: ÐеиÑправна ÑинтакÑа у ознаци викенда!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "Превише датотека дневника у датотеци подешавања\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "Превише датотека дневника преуÑмеравања у датотеци подешавања\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "Ðазив датотеке шаблона је предуг у параметру „AuthUserTemplateFile“\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" "Графици ниÑу доÑтупни јер Ñарг није преведен либгд-ом. ПодеÑите „graphs“ на " "„no“ у „%s“ да иÑкључите ово упозорење\n" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "„squidguard_log_format“ је заÑтарело и замењено је „redirector_log_format“-" "ом. ОÑвежите вашу датотеку подешавања.\n" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "„redirector_ignore_date“ је заÑтарело и замењено је " "„redirector_filter_out_date“-ом који одрађује радњу коју подразумева његов " "назив Ñупротно „redirector_ignore_date“-у. ОÑвежите вашу датотеку " "подешавања.\n" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "„squidguard_ignore_date“ је заÑтарело и замењено је " "„redirector_filter_out_date“-ом који одрађује радњу коју подразумева његов " "назив Ñупротно „squidguard_ignore_date“-у. ОÑвежите вашу датотеку " "подешавања.\n" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "„dansguardian_ignore_date“ је заÑтарело и замењено је " "„dansguardian_filter_out_date“-ом који одрађује радњу коју подразумева његов " "назив Ñупротно „dansguardian_ignore_date“-у. ОÑвежите вашу датотеку " "подешавања.\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "Параметар „byte_cost“ датотеке подешавања није иÑправан\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "СÐРГ: Ðепозната опција „%s“\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Учитавам подешавања из „%s“\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "грешка реалока (потребна Ñу % бајта)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "иконв није уÑпео да претвори ниÑку „%s“ из „%s“ у УТФ-8: %s\n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "либгд није уÑпела да израчуна гранично поље текÑта „%s“: %s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "либгд није уÑпела да иÑпише текÑÑ‚ „%s“: %s\n" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "Ðајмања вредноÑÑ‚ за Y леÑтвицу графика је ван опÑега: %\n" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "Ðајвећа вредноÑÑ‚ за Y леÑтвицу графика је ван опÑега: %\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Ðепозната врÑта %d за леÑтвицу Y оÑе\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "Ðепозната боја „%s“ је затражена за график. КориÑтићу наранџаÑту\n" #: grepday.c:556 msgid "SARG, " msgstr "СÐРГ, " #: grepday.c:560 #, c-format msgid "User: %s" msgstr "КориÑник: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "КориÑничко име је предуго да би Ñе произвео назив датотеке " #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "Графици Ñу иÑкључени као што је затражено у „%s“\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "Графици Ñу иÑкључени јер ниÑу доÑтављени називи Ñлова у „%s“\n" #: grepday.c:657 #, c-format msgid "Fontname \"%s\" not found\n" msgstr "ÐиÑам нашао назив Ñлова „%s“\n" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "иконв не може да претвори из „%s“ у УТФ-8: %s\n" #: grepday.c:717 #, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "ÐеиÑправан ÑƒÐ½Ð¾Ñ Ñƒ датотеци „%s“\n" #: grepday.c:750 msgid "Graph report" msgstr "Извештај графика" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "ДÐÐИ" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "Одредишни директоријум је предуг: " #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Ðе могу да направим директоријум „%s“: %s\n" #: html.c:151 log.c:1234 #, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "ÐеиÑправна величина преузимања у датотеци „%s“\n" #: html.c:160 html.c:248 log.c:1242 #, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "ÐеиÑправан код приÑтупа у датотеци „%s“\n" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "ÐеиÑправан волумен у-оÑтави у датотеци „%s“\n" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "ÐеиÑправан волумен ван-оÑтаве у датотеци „%s“\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Извештај кориÑника" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "КориÑник" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "Ређање: %s, %s" #: html.c:198 msgid "SmartFilter report" msgstr "Извештај паметног филтера" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "У-ОСТÐВИ-Ð’ÐÐ" #: html.c:228 #, c-format msgid "Making report %s\n" msgstr "Правим извештај „%s“\n" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "ÐеиÑправна колона у-оÑтави у датотеци „%s“\n" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "ÐеиÑправна колона ван-оÑтаве у датотеци „%s“\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "извештај датума и времена" #: html.c:327 msgid "DENIED" msgstr "ОДБИЈЕÐ" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "ÐеиÑправан ИП кориÑника у датотеци „%s“\n" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "ÐеиÑправан дан у датотеци „%s“\n" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "ÐеиÑправна величина у датотеци „%s“\n" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" "Превазиђено је ограничење кориÑника „%s“ (%d MB). Додато у датотеку „%s“\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Правим „index.html“\n" #: index.c:58 index.c:112 index.c:167 #, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "ÐиÑам уÑпео да отворим директоријум „%s“: %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "СÐРГ-ов извештај" msgstr[1] "СÐРГ-ови извештаји" msgstr[2] "СÐРГ-ови извештаји" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "ГОДИÐÐ" #: index.c:151 msgid "SIZE" msgstr "ВЕЛИЧИÐÐ" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Превише директоријума меÑеца у „%s“\n" "Сувишни уноÑи Ñу занемарени\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "СÐРГ: извештај за %04d" msgstr[1] "СÐРГ: извештаји за %04d" msgstr[2] "СÐРГ: извештаји за %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "МЕСЕЦ" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Ðе могу да отворим директоријум „%s“: %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Превише директоријума дана у „%s“\n" "Сувишни уноÑи Ñу занемарени\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "СÐРГ: извештај за %04d/%02d" msgstr[1] "СÐРГ: извештаји за %04d/%02d" msgstr[2] "СÐРГ: извештаји за %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "Грешка пиÑања у индекÑу „%s“\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" "Директоријум „%s%s“ изгледа као директоријум извештаја али не Ñадржи " "датотеку „sarg-date“. Треба да га избришете\n" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "нема довољно меморије за ређање индекÑа\n" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "ÐеиÑправан дан недеље у датотеци „%s%s/sarg-date“\n" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "ÐеиÑправан меÑец у датотеци „%s%s/sarg-date“\n" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "ÐеиÑправан дан у датотеци „%s%s/sarg-date“\n" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "ÐеиÑправно време у датотеци „%s%s/sarg-date“\n" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "ÐеиÑправна година у датотеци „%s%s/sarg-date“\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "Ðема довољно меморије за Ñмештај назива датотеке „%s“ у индекÑ\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "ДÐТОТЕКÐ/РÐЗДОБЉЕ" #: index.c:432 msgid "CREATION DATE" msgstr "ДÐТУМ СТВÐРÐЊÐ" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "КОРИСÐИЦИ" #: index.c:561 index.c:663 log.c:1682 #, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "ÐиÑам уÑпео да преименујем „%s“ у „%s“: %s\n" #: index.c:572 #, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "ÐиÑам уÑпео да направим везу „%s“ у „%s“: %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "Ðазив датотеке за уклањање је предуг: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "Модул решавања ланчане ИП „%s“\n" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "Занемарујем удвоÑтручени модул „%s“ да бих решио ИП адреÑу\n" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "Ðепознат модул „%.*s“ за решавање ИП адреÑа\n" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "Ðема опције за подешавање модула „%s“\n" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "Ðема познатог модула за решавање ИП адреÑе кориÑтећи ДÐС\n" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Ðема довољно меморије за Ñмештај назива који одговарају ИП адреÑи\n" #: ip2name.c:279 #, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Ðе могу да решим назив домаћина „%s“: %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" "Кратку Ñтруктуру је вратио „getaddrinfo“ за ИПв4 адреÑу: %d бајта умеÑто %d\n" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" "Кратку Ñтруктуру је вратио „getaddrinfo“ за ИПв6 адреÑу: %d бајта умеÑто %d\n" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" "Враћена је неиÑправна врÑта адреÑе %d приликом решавања назива доамћина " "„%s“\n" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "ÐеиÑправан Ð·Ð°Ð¿Ð¸Ñ Ñƒ ИП адреÑи „%s“\n" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "Решавање ИП-а у назив (getnameinfo) над ИП адреÑом „%s“ није уÑпело Ñа " "грешком %d — %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" "Ðаредба за извршавање решавања ИП адреÑа је предуга (највише %d бајта)\n" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" "Ðема наредбе за покретање да би Ñе решила ИП адреÑа. ПодеÑите је у датотеци " "„sarg.conf“\n" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "ИП адреÑа „%s“ је предуга за наредбу за извршавање\n" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "ИП адреÑа „%.*s“ је предуга за наредбу за извршавање\n" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "Ðе могу да покренем наредбу „%s“\n" #: ip2name_exec.c:120 #, c-format msgid "Command failed: %s\n" msgstr "Ðаредба није уÑпела: %s\n" #: lastlog.c:69 #, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "ÐиÑам уÑпео да добавим време Ñтварања за „%s“: %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" "Ðема Ñтарих извештаја за бриÑање јер тренутно поÑтоји Ñамо %d извештај\n" msgstr[1] "" "Ðема Ñтарих извештаја за бриÑање јер тренутно поÑтоје Ñамо %d извештаја\n" msgstr[2] "" "Ðема Ñтарих извештаја за бриÑање јер тренутно поÑтоји Ñамо %d извештаја\n" #: lastlog.c:108 #, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Ðађох %d директоријум извештаја\n" msgstr[1] "Ðађох %d директоријума извештаја\n" msgstr[2] "Ðађох %d директоријума извештаја\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "%d Ñтари извештај за бриÑање\n" msgstr[1] "%d Ñтара извештаја за бриÑање\n" msgstr[2] "%d Ñтарих извештаја за бриÑање\n" #: lastlog.c:128 #, c-format msgid "Removing old report file \"%s\"\n" msgstr "Уклањам Ñтару датотеку извештаја „%s“\n" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "Превише датотека дневника је проÑлеђено линији наредби опцијом „%s“.\n" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" "Предуг назив датотеке дневника је проÑлеђен линији наредби опцијом „%s“: %s\n" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "ВременÑко раздобље проÑлеђено линији наредби опцијом „-t“ мора бити „HH:MM“\n" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "ВременÑки опÑег проÑлеђен линији наредби опцијом „-t“ мора бити „HH:MM-HH:" "MM“\n" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "Опција „%c“ захтева аргумент\n" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Превише датотека дневника је проÑлеђено линији наредби.\n" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "Предуг назив датотеке дневника је проÑлеђен линији наредби: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Почетак\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" "Излазни директоријум „%s“ мора бити ван привременог директоријума „%s“\n" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Бришем привремени директоријум „%s“\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "Параметри:\n" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Ðазив домаћина или ИП адреÑа (-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Дневник агента кориÑника (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " ИÑкључење датотеке (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Датум од-до (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " ÐдреÑа е-поште за Ñлање извештаја (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " Датотека подешавања (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Ð—Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° (-g) = Европа (dd.mm.gggg.)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Ð—Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° (-g) = СÐД (mm/dd/gggg)\n" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Ð—Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚ÑƒÐ¼Ð° (-g) = Сајтови и кориÑници (gggg/" "vv)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " ИП извештај (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "Да" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "Ðе" #: log.c:695 log.c:728 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Задржавање привремене датотеке (-k) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " Дневник улаза (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Дневник преуÑмеривача (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Решавање ИП адреÑе (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Излазни директоријум (-o) = %s\n" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr " КориÑти ип адреÑу умеÑто ид-а кориÑника (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " ПриÑтупљени Ñајт (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " Време (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " КориÑник (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Привремени директоријум (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Грешке прочишћавања (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Поруке обраде (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "Претходни извештаји за задржавање (--lastlog) = %d\n" #: log.c:743 log.c:747 util.c:1880 #, c-format msgid "SARG version: %s\n" msgstr "Издање СÐРГ-а: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "Сарг је преведен да извеÑти о упозорењима ако је излаз недоÑледан\n" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "грешка подешавања ограничења извештаја: %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "Ðема довољно меморије за читање датотеке дневника\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Читам датотеку дневника приÑтупа: из Ñтандардног улаза\n" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" "Ðе могу да добавим време измене улазне датотеке дневника „%s“: %s\n" "Ипак је обрађујем\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "Занемарујем Ñтару датотеку дневника „%s“\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "Читам датотеку дневника приÑтупа: %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "СÐРГ: ЗапиÑа у датотеци: %lu, читам: %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Дневник је из МајкроÑофтовог ИСÐ: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "Ðазив датотеке је неиÑправан: %s\n" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "ÐеиÑправан Ð·Ð°Ð¿Ð¸Ñ Ñƒ ниÑци иÑкључења\n" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "ÐеиÑправна ИП адреÑа клијента у датотеци „%s“\n" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "ÐеиÑправан код резултата у датотеци „%s“\n" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "ÐеиÑправна количина података у датотеци „%s“\n" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "ÐеиÑправан режим захтева у датотеци „%s“\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Ðе могу да претворим временÑку ознаку из Ñквидове датотеке дневника\n" #: log.c:1228 #, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "ÐеиÑправно трајање преузимања у датотеци „%s“\n" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "ÐеиÑправна година у датотеци „%s“\n" #: log.c:1259 #, c-format msgid "Invalid month in file \"%s\"\n" msgstr "ÐеиÑправан меÑец у датотеци „%s“\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "Ðепознат улазни Ð·Ð°Ð¿Ð¸Ñ Ð´Ð°Ñ‚Ð¾Ñ‚ÐµÐºÐµ дневника\n" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "ИБ кориÑника је предуг: %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "ИÑкључени код: %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "ИÑкључени Ñајт: %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "ИÑкључени кориÑник: %s\n" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "Ðема довољно меморије за Ñмештај кориÑника „%s“\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Грешка пиÑања у датотеци дневника кориÑника „%s“\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " ЗапиÑа прочитаних: %ld, запиÑаних: %ld, иÑкључених: %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Дневник Ñа помешаним форматима запиÑа (Ñквид и општи дневник)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "Општи формат дневника\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "Сквидов формат дневника\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "Саргов формат дневника\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "Дневник Ñа неиÑправним форматом\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "ÐиÑам нашао запиÑе\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "Крај\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Раздобље покривено датотекама дневника: %s-%s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "ÐиÑам уÑпео да изградим предÑтављање ниÑком опÑега датума\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "датум=%s\n" #: log.c:1654 #, c-format msgid "period=%s\n" msgstr "раздобље=%s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Саргов обрађени дневник је Ñачуван као „%s“\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Укупно време извршавања: %.0lf Ñекунде\n" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "Прочитаних редова: %lu реда за %.0lf Ñекунде (%.0lf реда/Ñек)\n" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "Обрађених запиÑа: %lu запиÑа за %.0lf Ñекунде (%.0lf запиÑа/Ñек)\n" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "КориÑници: %lu кориÑника за %.0lf Ñекунде (%.0lf кориÑника/Ñек)\n" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "Учитаавам датотеку лозинке из „%s“\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "Ред текÑта је за %d бајта дужи означавајући оштећену датотеку\n" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Ðема довољно меморије за читање још једног реда из датотеке\n" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Ðе могу да направим привремену датотеку за Ñтварање извештаја: %s\n" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "грешка Ñтварања привременог: %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "Ðема довољно меморије за читање датотеке дневника\n" #: realtime.c:83 #, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "ÐиÑам уÑпео да добавим %d пратећа реда за „%s“: %s\n" #: realtime.c:84 #, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Ðије уÑпела наредба „tail“: %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "„%s“ је вратио неиÑправне податке\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "ВременÑка ознака у 1. колони је предуга\n" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "Децимални део временÑке ознаке у 1. колони је предуг\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "Трајање везе у 2. колони је предуго\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "ИП адреÑа у 3. колони је предуга\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "Стање у 4. колони је предуго\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "Величина у 5. колони је предуга\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "Радња у 6. колони је предуга\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "ÐдреÑа у 7. колони је предуга\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "ИД кориÑника у 8. колони је предуг\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "Датум у 8. колони је предуг\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "КориÑник у 9. колони је предуг\n" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "ÐеиÑправна колона времена у датотеци „%s“\n" #: realtime.c:251 #, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "ÐеиÑправна врÑта приÑтупа у датотеци „%s“\n" #: realtime.c:314 msgid "Realtime" msgstr "Стварно време" #: realtime.c:315 msgid "Auto refresh" msgstr "Сам оÑвежи" #: realtime.c:316 msgid "TYPE" msgstr "ВРСТÐ" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" "ÐеиÑправна опција „redirector_log_format“ у вашој датотеци „sarg." "conf“ (превише знакова пре прве ознаке)\n" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" "ÐеиÑправна опција „redirector_log_format“ у вашој датотеци „sarg." "conf“ (недоÑтаје # на крају ознаке)\n" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" "ÐеиÑправна опција „redirector_log_format“ у вашој датотеци „sarg." "conf“ (превише знакова у раздвојнику колоне)\n" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "Обрада ознаке „%s“ у дневнику преуÑмеривача „%s“ није дала резултата\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "ÐиÑка чаÑова је предуга у датотеци дневника преуÑмеривача „%s“\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" "Забрањујући назив извора је предуг у датотеци дневника преуÑмеривача „%s“\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" "Забрањујући назив ÑпиÑка је предуг у датотеци дневника преуÑмеривача „%s“\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "ИП адреÑа је предуга у датотеци дневника преуÑмеривача „%s“\n" #: redirector.c:123 #, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "ИД кориÑника је предуг у датотеци дневника преуÑмеривача „%s“\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "ÐеиÑправан преуÑмерени извор у датотеци „%s“\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "ÐеиÑправан преуÑмерени ÑпиÑак у датотеци „%s“\n" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "ÐеиÑправна ИП извора у датотеци „%s“\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Читам датотеку дневника преуÑмеривача „%s“\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" "Ðема довољно меморије за Ñмештај назива новог дневника преуÑмеривача за " "читање — %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "ÐиÑу доÑтављени дневници преуÑмеривача за давање таквог извештаја\n" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Ðе могу да отворим датотеку подешавања Ñквид чувара: %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "Још %d ÑƒÐ½Ð¾Ñ Ð¿Ñ€ÐµÑƒÑмеривача није приказан овде…" msgstr[1] "Још %d уноÑа преуÑмеривача ниÑу приказана овде…" msgstr[2] "Још %d уноÑа преуÑмеривача није приказано овде…" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "Извештај преуÑмеривача није Ñтворен јер је празан\n" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "Извештај преуÑмеривача" #: redirector.c:478 msgid "RULE" msgstr "ПРÐВИЛО" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Ðађох неиÑправног кориÑника у датотеци „%s“\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "Ðађох %d грешку у датотеци дневника. Ðеки уноÑи ће недоÑтајати." msgstr[1] "Ðађох %d грешке у датотеци дневника. Ðеки уноÑи ће недоÑтајати." msgstr[2] "Ðађох %d грешака у датотеци дневника. Ðеки уноÑи ће недоÑтајати." #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "Превише различитих датума у „%s“\n" #: repday.c:127 msgid "Day report" msgstr "Извештај дана" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "%02dч" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" "Ð˜Ð·Ð½Ð¾Ñ Ð¿Ñ€ÐµÑƒÐ·ÐµÑ‚Ð¸Ñ… бајтова је % умеÑто % у чаÑовном извештају " "за кориÑника „%s“\n" #: repday.c:194 msgid "H:M:S" msgstr "ч:м:Ñ" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" "Укупно протекло време је % умеÑто % у чаÑовном извештају за " "кориÑника „%s“\n" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" "Ðе могу да Ñтворим излазни назив директоријума који Ñадржи раздобље као део " "назива\n" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "Извештава назив излазног директоријума=%s\n" #: report.c:258 msgid "Site access report" msgstr "Извештај приÑтупа Ñајту" #: report.c:268 msgid "DATE" msgstr "ДÐТУМ" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" "Ðема извештаја Ð”Ð°Ð½Ñ Ñ‡ÑƒÐ²Ð°Ñ€Ð° јер није доÑтављена датотека подешавања Ð´Ð°Ð½Ñ " "чувара\n" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "Извештај преузетих датотека није затражен у „report_type“\n" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "Извештај најпоÑећенијих Ñајтова није затражен у „report_type“\n" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "Извештај Ñајтова и кориÑника није затражен у „report_type“\n" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "Извештај забрањених приÑтупа није затражен у „report_type“\n" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" "Извештај неуÑпелих потврђивања идентитета није затражен у „report_type“\n" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "Опширан извештај о кориÑнику није затражен у „report_type“\n" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "УÑпешан извештај је Ñтворен %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "УÑпешан извештај је Ñтворен и поÑлат „%s“\n" #: report.c:421 #, c-format msgid "Making file %s/%s\n" msgstr "Правим датотеку „%s/%s“\n" #: report.c:494 #, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "ÐиÑам уÑпео да запишем ред у „%s“\n" #: report.c:516 #, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "ÐиÑам уÑпео да запишем укупан ред у „%s“\n" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "ÐеиÑправан број броја приÑтупа у датотеци „%s“\n" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "ÐеиÑправна укупна величина у „%s“\n" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "ÐеиÑправно укупно протекло време у „%s“\n" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "ÐеиÑправан укупан број погодака оÑтаве у „%s“\n" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "ÐеиÑправан укупан број недоÑтатака оÑтаве у „%s“\n" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "КориÑничко име је предуго или неиÑправно у „%s“\n" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "ÐдреÑа је предуга или неиÑправна у „%s“\n" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "ИП адреÑа је предуга или неиÑправна у „%s“\n" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "Време је предуго или неиÑправно у „%s“\n" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "Датум је предуг или неиÑправан у „%s“\n" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "ÐеиÑправна величина погодака оÑтаве у „%s“\n" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "ÐеиÑправна величина недоÑтатака оÑтаве у „%s“\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" "Извештај Ñајтова и кориÑника није Ñтворен јер је укључена опција " "приватноÑти\n" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Сајтови и кориÑници" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "не могу да изградим наредбу ређања да поређам датотеку „%s“\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "Паметан филтер" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "ПÐМЕТÐÐ_ФИЛТЕР" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, c-format msgid "Generated by %s on %s" msgstr "Створено „%s“-ом %s" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ређам дневник „%s/%s.user_unsort“\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "КориÑничко име је предуго за ређање наредбом " #: sort.c:163 topuser.c:171 msgid "connect" msgstr "повезан" #: sort.c:165 msgid "site" msgstr "Ñајт" #: sort.c:167 topuser.c:174 msgid "time" msgstr "време" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "бајта" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "уобичајено" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "обрнуто" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" "Извештај најпоÑећенијих Ñајтова није Ñтворен јер је укључена опција " "приватноÑти\n" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" "Укупна ÑтатиÑтика не одговара када читам „%s“ да бих произвео најпоÑећеније " "Ñајтове\n" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "ÐајпоÑећенији Ñајтови" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "ÐајпоÑећенија %d Ñајта" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "ÐеиÑправан број кориÑника у датотеци „%s“\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" "Укупна ÑтатиÑтика не одговара када читам „%s“ да бих произвео најактивније " "кориÑнике\n" #: topuser.c:168 msgid "user" msgstr "кориÑник" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "СÐРГ-ов извештај за „%s“" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "Поређај: %s, %s" #: topuser.c:225 msgid "Top users" msgstr "Ðајактивнији кориÑници" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "Садржај" #: topuser.c:239 msgid "Redirector" msgstr "ПреуÑмеривач" #: topuser.c:241 msgid "Denied accesses" msgstr "Забрањени приÑтупи" #: topuser.c:244 msgid "Useragent" msgstr "Ðгент кориÑника" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" "Ðема извештаја најактивнијих кориÑника јер није подешено у врÑти извештаја " "(report_type)\n" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "ÐеиÑправна величина у-оÑтави у датотеци „%s“\n" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "ÐеиÑправна величина ван-оÑтаве у датотеци „%s“\n" #: topuser.c:353 msgid "Graphic" msgstr "График" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "УкупноÑÑ‚ у-оÑтави и недоÑтатак-оÑтаве није 100%% на положају %d (кориÑник " "„%s“)\n" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "УкупноÑÑ‚ у-оÑтави и недоÑтатак-оÑтаве није 100%%\n" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "Грешка пиÑања на ÑпиÑку најактивнијег кориÑника „%s“\n" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Ðема довољно меморије за Ñмештај дневне ÑтатиÑтике\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "ÐеиÑправан датум „%s“ за чаÑовну ÑтатиÑтику\n" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "ÐеиÑправан ÑаÑтојак датума „%s“ за чаÑовну ÑтатиÑтику\n" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "ÐеиÑправан Ñ‡Ð°Ñ â€ž%d“ за чаÑовну ÑтатиÑтику\n" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Превише различитих датума за чаÑовну ÑтатиÑтику\n" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ðађох неиÑправан Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð°Ñ‚ÑƒÐ¼Ð° за чаÑовну ÑтатиÑтику\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "ÐÐ»Ð¸Ñ˜Ð°Ñ Ð½Ð°Ð·Ð¸Ð²Ð° домаћина „%s*%s“ Ñадржи превише џокера (*)\n" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "ÐÐ»Ð¸Ñ˜Ð°Ñ Ð½Ð°Ð·Ð¸Ð²Ð° домаћина „%*s“ не Ñме да Ñе заврши џокером\n" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" "Ðема довољно меморије за Ñмештај директива алијазирања назива домаћина\n" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Ðађох неиÑправан ÐИШТÐÐ’ÐРзнак у регуларном изразу\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "Ðеокончан регуларни израз\n" #: url.c:491 #, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "ÐиÑам уÑпео да преведем регуларни израз „%s“: %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" "ПЦРЕ није преведено Ñтога регуларни изрази ниÑу доÑтупни у датотеци алијаÑа " "домаћина\n" #: url.c:580 #, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Читам датотеку алијаÑа домаћина „%s“\n" #: url.c:583 #, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Ðе могу да прочитам датотеку алијаÑа назива домаћина „%s“: %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "СпиÑак назива домаћина за алијаÑе:\n" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr " %s*%s => %s\n" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr " %s => %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr " *%s => %s\n" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr " %d.%d.%d.%d/%d => %s\n" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "Употреба: %s [опције...]\n" #: usage.c:33 msgid " -a NAME|IP Create report for host name or IP address" msgstr " -a ÐÐЗИВ|ИП Ствара извештај за назив домаћина или ИП адреÑу" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr " -c ДТТКРИÑкључује прикључене домаћине из извештаја" #: usage.c:36 msgid " --convert Convert the access.log file to a legible date" msgstr "" " --convert Претвара датотеку дневника приÑтупа (access.log) у " "читљив датум" #: usage.c:37 msgid " --css Output the internal CSS" msgstr " --css ИÑпиÑује унутрашњи ЦСС" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" " -d ДÐТУМ ОпÑег датума за извештај: од-до дд.мм.гггг.-дд.мм.гггг." #: usage.c:39 msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "" " -e ПОШТРÐдреÑа е-поште на коју Ñе шаљу извештаји (Ñтандардни " "излаз за конзолу)" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" " -f ДТТКРДатотека подешавања за читање (оÑновна је „%s/sarg." "conf“)\n" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" " -g ФМТ Формат датума [e=Европа → дд.мм.гггг., u=СÐД → мм/дд/" "гггг]" #: usage.c:42 msgid " -h This help" msgstr " -h Приказује ову помоћ" #: usage.c:43 msgid " --help This help" msgstr " --help Приказује ову помоћ" #: usage.c:44 msgid " -i Reports by user and IP address" msgstr " -i Извештава према кориÑнику и ИП адреÑи" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr " --keeplogs Задржава Ñваки претходно Ñтворени извештај" #: usage.c:46 msgid " -l FILE Input log" msgstr " -l ДТТКРДневник улаза" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr " --lastlog Број претходних извештаја за задржавање" #: usage.c:48 msgid " -m Advanced process messages" msgstr " -m Ðапредне поруке процеÑа" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr " -n Решава ИП адреÑе кориÑтећи РДÐС" #: usage.c:50 msgid " -o DIR Report output directory" msgstr " -o ДИР Излазни директоријум извештаја" #: usage.c:51 msgid " -p Use Ip Address instead of userid (reports)" msgstr "" " -p КориÑти ИП адреÑу умеÑто ид-а кориÑника (извештаји)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr " -P ПРЕФИКС Додаје Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¿Ð¾Ð´ÐµÑ™ÐµÐ½Ð¸Ð¼ називима датотека" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" " -s СÐЈТ Ограничава извештај Ñамо за приÑтупљени Ñајт [нпр. „www." "microsoft.com“]" #: usage.c:54 msgid " --split Split the log file by date in -d parameter" msgstr "" " --split Дели датотеку дневника према датуму у параметру „-d “" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" " --splitprefix ПРЕФИКС\n" " Додаје Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð¿Ð¾Ð´ÐµÑ™ÐµÐ½Ð¸Ð¼ називима датотека" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr " --statistics ИÑпиÑује ÑтатиÑтику времена рада" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" " -t ВРЕМЕ Ограничава извештај на временÑки опÑег [ЧЧ:ММ или ЧЧ:ММ-" "ЧЧ:ММ]" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr " -u КОРИСÐИК Извештава Ñамо о активноÑти овог кориÑника" #: usage.c:60 msgid " -w DIR Temporary directory" msgstr " -w ДИР Привремени директоријум" #: usage.c:61 msgid " -x Debug messages" msgstr " -x Поруке прочишћавања" #: usage.c:62 msgid " -z Process messages" msgstr " -z Поруке обраде" #: useragent.c:75 #, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Читам дневник агента кориÑника „%s“\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "ÐеиÑправан агент кориÑника у датотеци „%s“\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Прочитаних запиÑа: %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "Правим извештај агента кориÑника\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "Сквидов извештај агента кориÑника" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "ÐГЕÐТ" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "Ðема довољно меморије за Ñмештај кориÑника\n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "Ðе могу да учитам „%s“: нема довољно меморије\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "СпиÑак кориÑника је предуг у датотеци „%s“\n" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "Ðе могу да припремим лдап путању за Ñервер „%s“ на порту %d\n" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "Ðе могу да Ñе повежем на ЛДÐП Ñервер „%s“ на порту %d: %d (%s)\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "Ðе могу да иÑкључим „LDAP_OPT_REFERRALS“\n" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "Ðе могу да подеÑим ЛДÐП протокол издање %d\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "Ðе могу да Ñе Ñвежем на ЛДÐП Ñервер: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "ЛДÐП претрага није уÑпела: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "тражим „%s“ на или иÑпод „%s“\n" #: usertab.c:266 #, c-format msgid "Loading user table from LDAP\n" msgstr "Учитавам табелу кориÑника Ñа ЛДÐП-а\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "ЛДÐП модул није преведен у Ñаргу\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Учитаавам табелу кориÑника: %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "повратни траг „getword“-а:\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "Ðе могу опет да обрадим ред јер је измењен\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "Откривена је петља у „%s“ након %d бајта.\n" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "Ред=„%s“\n" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "ЗапиÑ=„%s“\n" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "тражим „x%x“\n" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Откривено је прекорачење целог броја у „%s“ у реду „%s“\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "ÐеиÑправна међумеморија је проÑлеђена „getword_ptr“-у\n" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "ÐеиÑправна путања „%s“. КориÑтите Ñамо апÑолутне путање.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" "Захтевани број цифара проÑлеђених „my_lltoa“-у (%d) је већи од излазне " "величине међумеморије (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "јануар,фебруар,март,април,мај,јун,јул,авгуÑÑ‚,Ñептембар,октобар,новембар," "децембар" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" "Унутрашњи ÑпиÑак назива меÑеци је неиÑправан. ОбавеÑтите преводиоца о овоме. " "(ÐиÑам ја крив.)\n" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "СÐРГ: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "СÐРГ: (инфо) " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "ÐиÑам уÑпео да прочитам датум у „%s“\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "ÐиÑам уÑпео да прочитам број кориÑника у „%s“\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Ðе могу да добијем податке о „%s“: %s\n" #: util.c:1041 #, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "ÐиÑам уÑпео да умножим Ñлику „%s“ у „%s“\n" #: util.c:1137 util.c:1160 #, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Датотека „%s“ већ поÑтоји, премеÑтио Ñам је у „%s“\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "ÐиÑам уÑпео да запишем датум у „%s“\n" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" "ÐеиÑправна дужина међумеморије је проÑлеђена функцији за безбедно умножавање " "ниÑке\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" "Датум проÑлеђен као аргумент није форматиран као „дд.мм.гггг.“ или „дд.мм." "гггг.-дд.мм.гггг.“\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "ОпÑег датума проÑлеђен као аргумент није форматиран као „дд.мм.гггг.“ или " "„дд.мм.гггг.-дд.мм.гггг.“\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "ÐиÑам уÑпео да добавим текуће време\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "ÐеиÑправан број дана у параметру „-d“\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе могу да претворим локално време: %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "ÐеиÑправан број недеља у параметру „-d“\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "ÐеиÑправан број меÑеца у параметру „-d“\n" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "ÐеиÑправан опÑег датума је проÑлеђен линији наредби\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Избацујем привремену датотеку „sarg-general“\n" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "Превише кодова за иÑкључивање из датотеке „%s“\n" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "Ðе могу да добавим проÑтор на диÑку јер је путања „%s%s“ предуга\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Ðе могу да добавим проÑтор на диÑку наредбом „%s“\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Ðе могу да добавим величину диÑка наредбом „%s“\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" "Ðаредба за израчунавање величине заузетоÑти диÑка (%s) је дала непознату " "ниÑку „%s“\n" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" "\n" "Да би превод радио, иÑправна датотека порука би требало да Ñе инÑталира као " "„%s//LC_MESSAGES/%s.mo“ где „“ произилази из језика " "окружења.\n" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "Тренутни језик окружења је „%s“.\n" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "Језик није подешен у променљивој окружења.\n" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" "Ðко је ова порука на ÑрпÑком језику, онда је језик иÑправно инÑталиран и Ñве " "је у најбољем реду.\n" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "Ðепозната врÑта путање „%s“\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" "Ðађох непознату датотеку „%s“ у привременом директоријуму „%s“. То није " "једна од наших датотека. Проверите привремени директоријум који Ñте дали " "Ñаргу. ПодеÑите путању ка безбедном директоријуму или ручно обришите Ñадржај " "из „%s“\n" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "Ðепозната врÑта путање „%s“. Проверите ваш привремени директоријум\n" #~ msgid "Log file name too long passed on command line with opton %s: %s\n" #~ msgstr "" #~ "Предуг назив датотеке дневника је проÑлеђен линији наредби опцијом „%s“: " #~ "%s\n" sarg-2.3.11/po/tr.gmo000066400000000000000000000006231324060677300143120ustar00rootroot00000000000000Þ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.11/po/tr.po000066400000000000000000002132021324060677300141450ustar00rootroot00000000000000# Turkish translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Evren Yurtesen , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Authentication failures" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Periyod" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "KULLANICI ADI" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/ISIM" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "TARIH/SAAT" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "SITE" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Dosya acilamiyor" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Dosya acilamiyor" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, c-format msgid "Invalid user in file \"%s\"\n" msgstr "" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, c-format msgid "Invalid url in file \"%s\"\n" msgstr "" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Missing double quote after parameter" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Dosya siralaniyor" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Dosya acilamiyor" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Eski rapor dosya(lar) siliniyor" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "erisim kutuk dosyasi okunuyor" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Dosya siralaniyor" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Kutuk dosyasi acilamadi" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Kutuk dosyasi acilamadi" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Dosya yaratiliyor" #: datafile.c:114 report.c:176 #, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Dosya bulunamadi" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "Kutuk dosyasi sikistiriliyor" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Kutuk dosyasi aciliyor" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, c-format msgid "Command too long: " msgstr "" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Kullanicilari Erisim Raporu" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Azalan erisim (byte)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Periyod" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "USERID" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "BAGLANTI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "BYTE" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "HARCANAN ZAMAN" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "MILISANIYE" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "ZAMAN" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Dosya acilamiyor" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "TOPLAM" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "ORTALAMA" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "raporlar" #: email.c:284 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Exclude dosyasi okunuyor" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Exclude dosyasi okunuyor" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Dosya acilamiyor" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Dosya acilamiyor" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Exclude dosyasi okunuyor" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc hatasi" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Dosya acilamiyor" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "Kullanici" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Dosya bulunamadi" #: grepday.c:664 #, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Dosya acilamiyor" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "raporlar" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Dosya acilamiyor" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "erisim kutuk dosyasi okunuyor" #: html.c:169 #, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "" #: html.c:174 #, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "Kullanici" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Rapor yaratiliyor" #: html.c:256 #, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "" #: html.c:260 #, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "IZIN YOK" #: html.c:363 html.c:425 #, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "" #: html.c:372 log.c:1263 #, c-format msgid "Invalid day in file \"%s\"\n" msgstr "" #: html.c:380 html.c:429 #, c-format msgid "Invalid size in file \"%s\"\n" msgstr "" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "index.html yaratiliyor" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "raporlar" msgstr[1] "raporlar" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:371 #, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:375 #, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:384 #, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "DOSYA/PERIYOD" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "YARATILIS TARIHI" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "KULLANICILAR" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Dosya acilamiyor" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:103 #, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "" #: ip2name_exec.c:113 #, c-format msgid "Cannot run command %s\n" msgstr "" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Dosya siralaniyor" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Dosya acilamiyor" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "Kayit bulunamadi" msgstr[1] "Kayit bulunamadi" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Eski rapor dosya(lar) siliniyor" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametreler" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Host ismi veya IP adresi" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Raporlari gondermek icin e-posta adresi" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Evet" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "Hayir" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Host ismi veya IP adresi" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Host ismi veya IP adresi" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Userid yerine IP Adresi kullan" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "surum" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, c-format msgid "setrlimit error: %s\n" msgstr "" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "erisim kutuk dosyasi okunuyor" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Kutuk dosyasi sikistiriliyor" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "erisim kutuk dosyasi okunuyor" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, c-format msgid "Invalid record in exclusion string\n" msgstr "" #: log.c:1062 #, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "" #: log.c:1066 #, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "" #: log.c:1070 #, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "" #: log.c:1074 #, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Dosya acilamiyor" #: log.c:1255 #, c-format msgid "Invalid year in file \"%s\"\n" msgstr "" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Dosya acilamiyor" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, c-format msgid "Not enough memory to store user %s\n" msgstr "" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Kutukte karisik bicimde kayitlar var (squid ve common kutuk)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Common kutuk bicimi" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid kutuk bicimi" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Gecersiz bicimdeki kutuk" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "Kayit bulunamadi" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Son" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "erisim kutuk dosyasi okunuyor" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periyod" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Password dosyasinin yuklendigi yer" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "" #: realtime.c:56 realtime.c:63 #, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Dosya acilamiyor" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Dosya bulunamadi" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, c-format msgid "Invalid data returned by %s\n" msgstr "" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "erisim kutuk dosyasi okunuyor" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Kutuk dosyasi aciliyor" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Kutuk dosyasi aciliyor" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Kutuk dosyasi aciliyor" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "" #: redirector.c:168 #, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "erisim kutuk dosyasi okunuyor" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Kutuk dosyasi acilamadi" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, c-format msgid "Report output directory name=%s\n" msgstr "" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "TARIH/SAAT" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Raporun basari ile yaratildigi yer" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapor basari ile yaratildi ve gonderildigi yer" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Dosya yaratiliyor" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Dosya acilamiyor" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Dosya acilamiyor" #: report.c:542 util.c:843 #, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "" #: report.c:559 #, c-format msgid "Invalid total size in \"%s\"\n" msgstr "" #: report.c:576 #, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "" #: report.c:593 #, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "" #: report.c:610 #, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "" #: report.c:620 #, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "" #: report.c:736 #, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Siteler & Kullanicilar" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Yaratilma Tarihi" #: sort.c:121 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, c-format msgid "User name too long to sort with command " msgstr "" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "siteler" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "Realtime" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:286 #, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Topuser" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "" #: topuser.c:321 #, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "" #: url.c:465 #, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Dosya acilamiyor" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "erisim kutuk dosyasi okunuyor" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "Host ismi veya IP adresi" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "access.log dosyasini okunakli bir tarihe cevir" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "Raporlari gondermek icin e-posta adresi" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 msgid " -h This help" msgstr "" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Kullanici ve IP adresi ile raporlar" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Girdi kutugu" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Islem mesajlari" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "IP addreslerini Host ismine donustur" #: usage.c:50 msgid " -o DIR Report output directory" msgstr "" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Userid yerine IP Adresi kullan" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "log dosyasini -d paremetresindeki tarihe gore parcala" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 msgid " -u USER Report only that user's activity" msgstr "" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Gecici dizin" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Debug mesajlari" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Islem mesajlari" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "useragent kutugu okunuyor" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Dosya acilamiyor" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Okunan kayitlar" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Useragent raporu yaratiliyor" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent'in Raporu" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "AGENT" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Kullanici tablosu yukleniyor" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Kullanici tablosu yukleniyor" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Kullanici tablosu yukleniyor" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Dosya acilamiyor" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Dosya acilamiyor" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, c-format msgid "Buffer too small to store %s/%s" msgstr "" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "zaten var, tasindigi yer" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Dosya acilamiyor" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Dosya acilamiyor" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Gecici dosya(lar) siliniyor" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, c-format msgid "Unknown path type \"%s\"\n" msgstr "" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Kutuk dosyasi aciliyor" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Report" #~ msgstr "Rapor" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "malloc hatasi" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html11) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Sort" #~ msgstr "Siralama" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "malloc hatasi" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Yuklenemiyor. Hafiza hatasi" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "on" #~ msgstr "ile" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "erisim kutuk dosyasi okunuyor" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Useragent kutugu" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Exclude dosyasi" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Cikti dizini" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Yuklenemiyor. Hafiza hatasi" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc hatasi" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Periyod dosyasi yaratiliyor" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "IN" #~ msgstr "ICERI" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "DISARI" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Yuklenemiyor. Hafiza hatasi" #, fuzzy #~ msgid "malloc error" #~ msgstr "malloc hatasi" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Topsites" #~ msgstr "Topsites" #, fuzzy #~ msgid "Usage" #~ msgstr "kullanim" #, fuzzy #~ msgid "options" #~ msgstr "opsiyonlar" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Tarih baslangic-bitis" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Raporlari gondermek icin e-posta adresi" #, fuzzy #~ msgid "stdout for console" #~ msgstr "konsol icin stdout" #, fuzzy #~ msgid "Config file" #~ msgstr "Konfigurasyon dosyasi" #, fuzzy #~ msgid "Date format" #~ msgstr "Tarih bicimi" #, fuzzy #~ msgid "Europe" #~ msgstr "Avrupa" #, fuzzy #~ msgid "USA" #~ msgstr "ABD" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Erisilen site" #, fuzzy #~ msgid "Time" #~ msgstr "Zaman" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Gecici dosya acilamadi" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "erisim kutuk dosyasi okunuyor" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "End" #~ msgstr "Son" #, fuzzy #~ msgid "File" #~ msgstr "Dosya" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limit asildi" #, fuzzy #~ msgid "Added to file" #~ msgstr "Dosyaya eklendi" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Host ismi veya IP adresi" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Raporlari gondermek icin e-posta adresi" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Userid yerine IP Adresi kullan" #, fuzzy #~ msgid "written" #~ msgstr "yazilan" #, fuzzy #~ msgid "excluded" #~ msgstr "exclude yapildi" #, fuzzy #~ msgid "IP report" #~ msgstr "IP raporu" sarg-2.3.11/po/uk.gmo000066400000000000000000000007231324060677300143050ustar00rootroot00000000000000Þ•$,8™9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. sarg-2.3.11/po/uk.po000066400000000000000000002513461324060677300141520ustar00rootroot00000000000000# Ukrainian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Roman Vynar , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, c-format msgid "Path too long: " msgstr "" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 #, fuzzy msgid "Authentication Failures" msgstr "Помилка аутентифікації" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, fuzzy, c-format msgid "Period: %s" msgstr "Період" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 #, fuzzy msgid "USERID" msgstr "КориÑтувач" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "IP/NAME" msgstr "IP/ХоÑÑ‚" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 #, fuzzy msgid "DATE/TIME" msgstr "Дата/ЧаÑ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 #, fuzzy msgid "ACCESSED SITE" msgstr "ÐдреÑа" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: dansguardian_log.c:75 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "Ðе можу відкрити файл журналу" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Ðе можу відкрити файл журналу" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:199 #, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "Файл не знайдений" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Заборонені" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "Файл не знайдений" #: download.c:117 msgid "No downloaded files to report\n" msgstr "" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 #, fuzzy msgid "Squid User Access Report" msgstr "Звіт про роботу кориÑтувачів через Squid" #: email.c:166 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "По Ñпаданню (байти)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 #, fuzzy msgid "Period" msgstr "Період" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 #, fuzzy msgid "NUM" msgstr "â„–" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 #, fuzzy msgid "CONNECT" msgstr "ПідключеннÑ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 #, fuzzy msgid "BYTES" msgstr "Байт" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 #, fuzzy msgid "ELAPSED TIME" msgstr "ВикориÑтаний чаÑ" #: email.c:184 html.c:221 topuser.c:283 #, fuzzy msgid "MILLISEC" msgstr "МіліÑек." #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 #, fuzzy msgid "TIME" msgstr "ЧаÑ" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 #, fuzzy msgid "TOTAL" msgstr "Ð’Ñього" #: email.c:248 html.c:572 index.c:432 topuser.c:461 #, fuzzy msgid "AVERAGE" msgstr "Середній" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "звіти" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Файл не знайдений" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ їз" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, fuzzy, c-format msgid "Loading exclude file from: %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ їз" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "" #: getconf.c:230 #, fuzzy, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:242 #, fuzzy, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "Missing double quote after parameter" #: getconf.c:263 #, fuzzy, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:267 #, fuzzy, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:277 #, fuzzy, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "Missing double quote after parameter" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "" #: getconf.c:352 #, fuzzy, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Missing double quote after parameter" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" #: getconf.c:702 #, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:707 #, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:714 #, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "" #: getconf.c:775 #, fuzzy, c-format msgid "SARG: Unknown option %s\n" msgstr "Unknown option" #: getconf.c:784 #, fuzzy, c-format msgid "Loading configuration from %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ їз" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "Помилка malloc" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "" #: grepday.c:173 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:240 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:298 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:302 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:556 msgid "SARG, " msgstr "" #: grepday.c:560 #, fuzzy, c-format msgid "User: %s" msgstr "КориÑтувач" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, c-format msgid "User name too long to manufacture file name " msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "Файл не знайдений" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "Ðе можу відкрити файл журналу" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "звіти" #: grepday.c:757 grepday.c:770 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:89 #, c-format msgid "Destination directory too long: " msgstr "" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:187 html.c:193 msgid "User report" msgstr "" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 #, fuzzy msgid "User" msgstr "КориÑтувач" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "СмартФільтр" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð²Ñ–Ñ‚Ñƒ" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "" #: html.c:327 #, fuzzy msgid "DENIED" msgstr "ЗÐБОРОÐÐ" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: html.c:563 #, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "" #: index.c:54 #, fuzzy, c-format msgid "Making index.html\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ index.html" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "звіти" msgstr[1] "звіти" #: index.c:149 index.c:202 index.c:263 #, fuzzy msgid "YEAR" msgstr "YEAR" #: index.c:151 #, fuzzy msgid "SIZE" msgstr "SIZE" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "" msgstr[1] "" #: index.c:202 index.c:263 #, fuzzy msgid "MONTH" msgstr "MONTH" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "" msgstr[1] "" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "Ðе можу відкрити файл" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "Ðе можу відкрити файл" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "Ðе можу відкрити файл" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "Період" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "Дата ÑтвореннÑ" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 #, fuzzy msgid "USERS" msgstr "КориÑтувачі" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "Ðе можу відкрити файл" #: ip2name_dns.c:93 #, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Файл не знайдений" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "ЗапиÑи не знайдені" msgstr[1] "ЗапиÑи не знайдені" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" msgstr[1] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "Знищую Ñтарий файл звіту" #: log.c:429 log.c:442 #, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "" #: log.c:433 log.c:446 #, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "" #: log.c:480 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:488 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:516 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:534 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:538 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:547 #, c-format msgid "Init\n" msgstr "" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:681 log.c:714 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Параметри" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "ХоÑÑ‚ або IP-адреÑа" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:686 log.c:719 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-mail адреÑа Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²ÐºÐ¸ звіту" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "Yes" msgstr "Так" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 #, fuzzy msgid "No" msgstr "ÐÑ–" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "ХоÑÑ‚ або IP-адреÑа" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:699 log.c:732 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "ХоÑÑ‚ або IP-адреÑа" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:702 log.c:735 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ВикориÑтовувати Ip-адреÑу заміÑть імені кориÑтувача" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "верÑÑ–Ñ" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:821 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:827 #, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "" #: log.c:831 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:841 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:884 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "Ðе можу відкрити файл" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:1515 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Ðе можу відкрити файл" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1613 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Журнал міÑтить запиÑи різних форматів (squid Ñ– ін.)" #: log.c:1616 #, fuzzy, c-format msgid "Common log format\n" msgstr "Журнал іншого формату" #: log.c:1619 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Журнал в Squid-форматі" #: log.c:1622 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1625 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Журнал в невірному форматі" #: log.c:1629 #, fuzzy, c-format msgid "No records found\n" msgstr "ЗапиÑи не знайдені" #: log.c:1630 log.c:1766 #, fuzzy, c-format msgid "End\n" msgstr "Зроблено" #: log.c:1644 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "Період" #: log.c:1706 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ паролів із" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Ðе можу відкрити файл журналу" #: realtime.c:71 #, c-format msgid "mkstemp error: %s\n" msgstr "" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "Файл не знайдений" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:132 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: realtime.c:314 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:315 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:316 #, fuzzy msgid "TYPE" msgstr "TYPE" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "" #: redirector.c:116 #, fuzzy, c-format msgid "IP address too long in redirector log file %s\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Ðе можу відкрити файл" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, fuzzy, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "Ðе можу відкрити файл журналу" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" msgstr[1] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "" #: redirector.c:478 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" msgstr[1] "" #: repday.c:91 #, c-format msgid "Too many different dates in \"%s\"\n" msgstr "" #: repday.c:127 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "ЗапиÑи не знайдені" #: report.c:258 msgid "Site access report" msgstr "" #: report.c:268 #, fuzzy msgid "DATE" msgstr "Дата/ЧаÑ" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Звіт уÑпішно Ñгенерований в:" #: report.c:404 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Звіт уÑпішно Ñгенерований Ñ– надіÑланий" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Файл не знайдений" #: report.c:662 #, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: report.c:678 #, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "" #: report.c:686 #, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 #, fuzzy msgid "Sites & Users" msgstr "Сайти Ñ– КориÑтувачі" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:114 topuser.c:243 #, fuzzy msgid "SmartFilter" msgstr "СмартФільтр" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "Згенерований" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "Топ Ñайти" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "ЧаÑ" #: sort.c:169 topuser.c:176 #, fuzzy msgid "bytes" msgstr "Сайти" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "" #: topsites.c:239 #, fuzzy, c-format msgid "Top %d sites" msgstr "Топ Ñайти" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "КориÑтувач" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 #, fuzzy msgid "Top users" msgstr "Topuser" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "" #: topuser.c:241 msgid "Denied accesses" msgstr "" #: topuser.c:244 msgid "Useragent" msgstr "" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "Ðе можу відкрити файл" #: topuser.c:353 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Ðе можу відкрити файл" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Ðе можу відкрити файл" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, c-format msgid " %s => %s\n" msgstr "" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr "ХоÑÑ‚ або IP-адреÑа" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr "Конвертуйте файл access.log, щоб дата була зрозумілою" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr "" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr "E-mail адреÑа Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²ÐºÐ¸ звіту" #: usage.c:40 #, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr "" #: usage.c:41 msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr "" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr "Відлагоджувальні повідомленнÑ" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Звіт по кориÑтувачах Ñ– IP-адреÑах" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Вхідний журнал" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Робочі повідомленнÑ" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ IP-адреÑи" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "ТимчаÑовий каталог" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "ВикориÑтовувати Ip-адреÑу заміÑть імені кориÑтувача" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr "" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr "Розділіть log файл по даті, викориÑтовуючи параметр -d" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Звіт по кориÑтувачах Ñ– IP-адреÑах" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "ТимчаÑовий каталог" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Відлагоджувальні повідомленнÑ" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Робочі повідомленнÑ" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ броузерів" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "ЗапиÑів прочитано" #: useragent.c:164 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð²Ñ–Ñ‚Ñƒ по броузерах" #: useragent.c:166 useragent.c:167 #, fuzzy msgid "Squid Useragent's Report" msgstr "Звіт Squid по броузерах" #: useragent.c:176 useragent.c:314 #, fuzzy msgid "AGENT" msgstr "Броузер" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "" #: usertab.c:149 #, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "" #: usertab.c:155 #, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "" #: usertab.c:234 #, fuzzy, c-format msgid "LDAP search failed: %s\n" msgstr "Завантажую таблицю кориÑтувача" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "Завантажую таблицю кориÑтувача" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Завантажую таблицю кориÑтувача" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "Ðе можу відкрити файл" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:333 #, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "" #: util.c:450 #, fuzzy msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "January,February,March,April,May,June,July,August,September,October,November," "December" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 msgid "SARG: (info) " msgstr "" #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "Файл не знайдений" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "вже Ñ–Ñнує, перенеÑений в" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "Ðе можу відкрити файл" #: util.c:1216 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" #: util.c:1317 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Ðе можу відкрити файл" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1410 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1461 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Знищую тимчаÑові файли" #: util.c:1522 #, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "" #: util.c:1676 #, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(email) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "Помилка malloc" #, fuzzy #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(index) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Period: %s\n" #~ msgstr "Період" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "malloc error (%ld)\n" #~ msgstr "Помилка malloc" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(report) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "on" #~ msgstr "на" #, fuzzy #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "Файл не знайдений" #, fuzzy #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "Ðе можу завантажити. Помилка пам'Ñті" #, fuzzy #~ msgid "Cannot open file" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "cannot open %s for writing\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Report" #~ msgstr "Звіт" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Журнал броузерів" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Файл виключень" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Вихідний каталог" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Ðе можу завантажити. Помилка пам'Ñті" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Sort" #~ msgstr "ВідÑортовано" #, fuzzy #~ msgid "USER" #~ msgstr "КориÑтувачі" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "malloc error (%d)\n" #~ msgstr "Помилка malloc" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "Помилка malloc" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ періоду" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "OUT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Ðе можу завантажити. Помилка пам'Ñті" #, fuzzy #~ msgid "malloc error" #~ msgstr "Помилка malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "Usage" #~ msgstr "ВикориÑтаннÑ" #, fuzzy #~ msgid "options" #~ msgstr "параметри" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Дата від-до" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "E-mail адреÑа Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²ÐºÐ¸ звіту" #, fuzzy #~ msgid "stdout for console" #~ msgstr "ÑÑ‚. вивід на конÑоль" #, fuzzy #~ msgid "Config file" #~ msgstr "Файл конфігурації" #, fuzzy #~ msgid "Date format" #~ msgstr "Формат дати" #, fuzzy #~ msgid "Europe" #~ msgstr "Європа" #, fuzzy #~ msgid "USA" #~ msgstr "СШÐ" #, fuzzy #~ msgid "Accessed site" #~ msgstr "ÐдреÑа" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Top" #~ msgstr "Топ" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Ðе можу відкрити файл журналу" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Ðе можу відкрити тимчаÑовий файл" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Ðе можу відкрити файл" #, fuzzy #~ msgid "End" #~ msgstr "Зроблено" #, fuzzy #~ msgid "File" #~ msgstr "Файл" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "ліміт перевишений" #, fuzzy #~ msgid "Added to file" #~ msgstr "Додано у файл" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "ХоÑÑ‚ або IP-адреÑа" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "E-mail адреÑа Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²ÐºÐ¸ звіту" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "ВикориÑтовувати Ip-адреÑу заміÑть імені кориÑтувача" #, fuzzy #~ msgid "written" #~ msgstr "запиÑано" #, fuzzy #~ msgid "excluded" #~ msgstr "виключені" #, fuzzy #~ msgid "IP report" #~ msgstr "IP звіт" sarg-2.3.11/po/zh_CN.gmo000066400000000000000000000363731324060677300147010ustar00rootroot00000000000000Þ•ÅDl ˆ+‰+µ+á+ +9+e<‘@Î9+I+u+¡+Í+ù+%+Q+}+©+Õ+-2C v„Š’ ª·5½óù /5NR„%×&ý'$/L|' ·ÁÆ Í Úåÿ 5 ?L$Q'vž±Ä ×<ã @H/N ~.‹ºÂÜ%â')0(ZUƒ!Ùû+J#i¬Ë5ä#)B*UN€'Ï÷.û*-%?'e@-Î6üN3#‚$¦ ËØ#ß $38$Uz ƒŽ ¹ÌÓ-Ú,06]”™ªÇ Ú èô & +8 "d ‡ Œ ’ C— ?Û '! C!#d!0ˆ!!¹!SÛ!Y/"<‰"/Æ"$ö"b#=~#!¼##Þ#/$'2$$Z$!$A¡$ã$)ÿ$C)%4m% ¢% ¯% ¹%Ã%Ê%AÐ%&!1&&S&z&+’&¾&Ã& Ù&å& î&Cø&<''Y' '¢'§'.«'Ú' ô'((@&()g($‘(¶(Õ({ç(éc)+M++y+(¥+,Î+)û+(%,7N,;†,7Â,(ú,&#-*J--u-%£-(É-&ò-#.#=.$a."†.©.'¼.ä.í.ò.ù./ /$/5/:/?/H/b/x/'—/¿/Ü/ ù/0 80F0 _0i0l0 q0~0ƒ0“0˜0¡0³0 ¸0Ã0 É0"ê0 11-1 =1!G1i1}1‚1$ˆ1 ­1 º1Û1ã1ú1!2"2B2b2?€2À2Ú2ì2ü2 3373J3_3)q3›3 3¥3¹3Ê31ä34-424K4 N4!\4~4+œ4!È4#ê405?5Y5t5{5€55¦5À5Å5Û5÷5ü5 6 6 6%6+6%26X6g6|66¡6 ¦6´6 Ë6 Ø6ä6í6ÿ67"7=7R7W7\7-a7!7±7Ä7Ó7â7ù7<8KE8#‘8µ8Ï82á8949C9T9m9~99%ž9Ä9Ô9%ô9#: >:K:T:]:d:+i:•:­:Æ:ã:÷:;;,;5;>;*G;r; …;¦;Á;Ä;Ç;æ; ÷;<<#<C<b<|< ‘<[Ÿ<X Szžo-eRGv°™k·TLi)Nf‡3¬~š «t§` PD r›W+Y#¼‰Ÿ»U?5c´€£º I$J,¤{s(Å x¥F%/^2”“0Á;lÃq!•–¶|6bAŠ¿w¯¹"pµ4jnB¦†Vu—d¨Z²‘­¾<¡]©'_ ŽŒh„K8E=¢½ƒC’O&7¸Ä@\H1.>aMœg±yˆ‚À˜:ª}…³*m[®Q9‹ Time (-t) = %s User (-u) = %s IP report (-i) = %s Input log (-l) = %s Output dir (-o) = %s Config file (-f) = %s Date format (-g) = Europe (dd/mm/yyyy) Date format (-g) = Sites & Users (yyyy/ww) Date format (-g) = USA (mm/dd/yyyy) Exclude file (-c) = %s Accessed site (-s) = %s Temporary dir (-w) = %s Useragent log (-b) = %s Debug messages (-x) = %s Redirector log (-L) = %s Date from-until (-d) = %s Process messages (-z) = %s Resolve IP Address (-n) = %s Hostname or IP address (-a) = %s Email address to send reports (-e) = %s Records read: %ld Records read: %ld, written: %ld, excluded: %ld ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuto refreshBYTESBanning list name too long in redirector log file %s CAUSECONNECTCREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot create the output directory name containing the period as part of the name Cannot get disk size with command %s Cannot get disk space with command %s Cannot open squidGuard config file: %s Cannot parse again the line as it was modified Common log format Could not set LDAP protocol version %d DATE/TIMEDAYSDENIEDDansGuardianDay reportDecreasing Access (bytes)DeniedDenied accessesDownload suffix list too long DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed to build the string representation of the date range Failed to get the current time GraphicH:M:SHour string too long in redirector log file %s IN-CACHE-OUTIP address too long in redirector log file %s IP/NAMEIgnoring old log file %s Init Invalid buffer passed to getword_ptr Invalid number of days in -d parameter Invalid number of months in -d parameter Invalid number of weeks in -d parameter January,February,March,April,May,June,July,August,September,October,November,DecemberLDAP module not compiled in sarg LDAP search failed: %s Loading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) MILLISECMONTHMaking Useragent report Making index.html Missing double quote after parameter "%s" Missing double quote after parameter "%s" or value is more than %d bytes long Missing second word for parameter "%s" NUMName of the file to remove is too long: %s/%s NoNo records found Not enough memory to read a log file Not enough memory to read the log file Not enough memory to store the directory name "%s" in the index Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the name of the new redirector log to be read - %s Not enough memory to store the url Not enough memory to store the user Parameters: PeriodPeriod covered by log files: %s-%s Period: %sPurging temporary file sarg-general RULEReading access log file: %s Reading access log file: from stdin RealtimeRedirectorRedirector reportSARG reportSARG reportsSARG report for %sSARG, SARG: SARG: Records in file: %lu, reading: %3.2lf%%SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESarg log format Sarg parsed log saved as %s Site access reportSites & UsersSmartFilterSquid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETemplate file name is too long in parameter "AuthUserTemplateFile" The "byte_cost" parameter of the configuration file is invalid The IP address at column 3 is too long The URL at column 7 is too long The action at column 6 is too long The connection duration at column 2 is too long The data at column 8 is too long The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy The first word of parameter "%s" is more than %d bytes long The integer value of parameter "%s" is invalid The name of the file is invalid: %s The requested number of digits passed to my_lltoa (%d) is bigger than the output buffer size (%d) The second word of parameter "%s" is more than %d bytes long The size at column 5 is too long The status at column 4 is too long The string value of parameter "%s" is too long The time stamp at column 1 is too long The user ID at column 8 is too long The user at column 9 is too long Too many day directories in %s Supernumerary entries are ignored Too many download suffixes Too many log files in configuration file Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Top %d sitesTop sitesTop usersUSERIDUSERSUnknown color "%s" requested for the graph. Using orange instead Unknown input log file format Unknown type %d for Y axis scale Unknown value "%s" for parameter "%s" Usage: %s [options...] Use Ip Address instead of userid (-p) = %s UserUser ID too long: %s User reportUser: %sUseragentValue "%s" conflicts with other selected values for parameter "%s" Write error in the index %s Write error in the log file of user %s Write error in top user list %s YEARYescannot build the sort command to sort file %s command return status %d command: %s date/time reportgetword backtrace: libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s not enough memory to sort the index sort command return status %d sort command: %s squidguard_log_format is deprecated and has been replaced by redirector_log_format. Please update your configuration file. Project-Id-Version: sarg 2.3-pre3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2018-01-14 20:05+0100 PO-Revision-Date: 2010-06-18 02:09+0800 Last-Translator: zhixiang.ren Language-Team: Chinese (simplified) Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=GB18030 Content-Transfer-Encoding: 8bit X-Bugs: Report translation errors to the Language-Team address. Plural-Forms: nplurals=1; plural=0; ʱ¼ä (-t) = %s Óû§ (-u) = %s IP±¨¸æ (-i) = %s ÊäÈëµÄÈÕÖ¾ (-l) = %s Êä³öĿ¼ (-o) = %s ÅäÖÃÎļþ (-f) = %s ÈÕÆÚ¸ñʽ (-g) = Å·ÖÞ (dd/mm/yyyy) ÈÕÆÚ¸ñʽ (-g) = Õ¾µã & Óû§ (yyyy/ww) ÈÕÆÚ¸ñʽ (-g) = ÃÀ¹ú (mm/dd/yyyy) Åųý Îļþ (-c) = %s ·ÃÎÊÕ¾µã (-s) = %s ÁÙʱÎļþĿ¼ (-w) = %s Óû§´úÀí ÈÕÖ¾w (-b) = %s ¾À´íÐÅÏ¢ (-x) = %s ÖØ¶¨ÏòÈÕÖ¾ (-L) = %s ÈÕÆÚ ´Ó-ÖÁ (-d) = %s ½ø³ÌÐÅÏ¢ (-z) = %s ת»»IPµØÖ· (-n) = %s Ö÷»úÃû»òÕßIPµØÖ·(-a) = %s ÓʼþµØÖ·ÓÃÀ´·¢Ëͱ¨¸æ (-e) = %s ¼Í¼ ¶ÁÈ¡: %ld ¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld ·ÃÎÊÕ¾µã´úÀíÆ½¾ùÖµÈÏ֤ʧ°Ü×Ô¶¯Ë¢ÐÂ×Ö½ÚÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s Ô­ÒòÁ¬½Ó´´½¨ÈÕÆÚ²»Äܰó¶¨ÖÁLDAP·þÎñÆ÷: %s ²»ÄÜת»»±¾µØÊ±¼ä: %s ²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ ²»ÄÜ´´½¨Êä³öÎļþ¼ÐÃû°üº¬ÆÚ¼äµÄ²¿·ÖÃû³Æ ²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s ²»Äܵõ½´ÅÅ̿ռäʹÓÃÃüÁî %s ²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s ²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä ÆÕͨÈÕÖ¾¸ñʽ ²»ÄÜÉèÖÃLDAPЭÒé°æ±¾ %d ÈÕÆÚ/ʱ¼äÈÕ×èÖ¹DansGuardianÈÕ±¨½µµÍ·ÃÎÊ(bytes)ÉùÃ÷×èÖ¹·ÃÎÊÏÂÔØºó׺Áбí¹ý³¤ ÏÂÔØÒÑʹÓÃʱ¼ä½áÊø ´íÎó: ²»´æÔڵľ䷨ÔÚСʱ±êÇ©ÖÐ! ´íÎó: ²»´æÔڵľ䷨ÔÚÔÚʱ¼ä±êÇ©ÖÐ! ÒÑÅųý´úÂë: %s ÒÑÅųýÕ¾µã: %s ÒÑÅųýÓû§: %s Îļþ/ÖÜÆÚ½¨Á¢ÒÔ×Ö·û´®±íʾÈÕÆÚµÄ·¶Î§Ê±Ê§°Ü µÃµ½×¼È·Ê±¼äʱʧ°Ü ÊÓͼH:M:SÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐСʱ×Ö·û´®Ì«³¤ %s IN-CACHE-OUTÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐIPµØÖ·¹ý³¤ %s IP/ÐÕÃûºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s Init ²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà -d ²ÎÊýʱ ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà -d ²ÎÊýʱ ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà -d ²ÎÊýʱ Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂLDAPÄ£¿éûÓбàÒëÔÚsargÖÐ LDAPËÑË÷ʧ°Ü: %s ÔØÈëÓû§±í: %s ÔØÈëÅäÖÃ´Ó %s ÔØÈëÅųýÎļþ´Ó: %s ÔØÈë¾Ü¾øÖ÷»úÎļþ´Ó: %s ¼ÓÔØÃÜÂë´ÓÎļþ %s ÈÕÖ¾À´×Ô΢ÈíISA: %s ²»´æÔÚµÄÈÕÖ¾¸ñʽ ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log) ºÁÃëÔ·ݱê¼ÇµÄÓû§´úÀí±¨¸æ ±ê¼Ç index.html ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ"%s" ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ "%s" »òÕßÊýÖµ´óÓÚ %d ×Ö½Ú³¤ ²ÎÊýȱÉÙµÚ¶þ¸ö´Ê "%s" Êý×ÖÒÆ³ýµÄÎļþÃû¹ý³¤: %s/%s ·ñûÓÐÕÒµ½¼Í¼ ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶Áȡһ¸öÈÕÖ¾Îļþ ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ "%s" ÔÚË÷ÒýÖРûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄÁ¬½Ó ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄIPµØÖ· ¶ÁȡеÄÖØ¶¨ÏòÈÕÖ¾ÎļþÃûʱûÓеÄ×ã¹»µÄÄÚ´æ - %s ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ ²ÎÊý: ÆÚ¼äÆÚ¼ä±»ÈÕÖ¾Îļþ¸²¸Ç: %s - %s Çø¼ä: %sÇå³þÁÙʱÎļþsarg-general ¹æÔò¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s ¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin Ê±ÊµÖØ¶¨ÏòÖØ¶¨Ïò±¨¸æSARG ±¨¸æSARG ±¨¸æ %sSARG,SARG: SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%SARG: TAG: %s SARG: δ֪µÄÑ¡Ïî %s SARG report %04dSARG ±¨¸æ %04d/%02d´óСSargÈÕÖ¾¸ñʽ Sarg½âÎöÈÕÖ¾Áí´æÎª %s Õ¾µã·ÃÎʱ¨¸æÕ¾µã & Óû§ÖÇÄܹýÂËSquidÓû§·ÃÎʱ¨¸æSquidÓû§´úÀíµÄ±¨¸æSquidÈÕÖ¾¸ñʽ ³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s ³É¹¦µÄÉú³É±¨¸æÔÚ %s ʱ¼ä×ÜÖµÀàÐÍÔÚ²ÎÊýÖÐÁÙʱÎļþÃû¹ý³¤"AuthUserTemplateFile" "byte_cost" ÅäÖÃÎļþµÄ²ÎÊý²»´æÔÚ ÔÚÁÐ3µÄIPµØÖ·¹ý³¤ ÁÐ7µÄÁ¬½Ó¹ý³¤ ÁÐ6µÄ×÷Óùý³¤ Á¬½Ó³ÖÐøÊ±¼äÔÚÁÐ2¹ý³¤ ÁÐ8µÄÊý¾Ý¹ý³¤ ×÷Ϊ²ÎÊýʱÈÕÆÚ¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy ×÷Ϊ²ÎÊýµÄÈÕÆÚÇø¼ä¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy-dd/mm/yyyy ²ÎÊýµÄµÚÒ»¸ö´Ê "%s" ´óÓÚ %d ×Ö½Ú³¤ ÕûÊýÊýÖµ²ÎÊý "%s" ²»´æÔÚ ÎļþÃû²»´æÔÚ: %s ´«µÝ¸ømy_lltoa (%d) ÊýλҪÇó´óÓÚÊä³ö»º´æ´óС (%d) µÚ¶þ¸ö²ÎÊý "%s" ´óÓÚ %d ×Ö½Ú³¤ ÁÐ5µÄ´óС¹ý³¤ ÔÚÁÐ4µÄ״̬̫³¤ ²ÎÊýµÄ×Ö·û´®Öµ"%s" Ì«³¤ ʱ¼ä´ÁÔÚÁÐ1Ì«³¤ ÁÐ8µÄÓû§ID¹ý³¤ ÁÐ9µÄÓû§¹ý³¤ ¹ý¶àµÄÈÕÆÚÎļþ¼ÐÔÚ %s ¶àÓàÊä³ö±»Ìø¹ý ¹ý¶àµÄÏÂÔØºó׺ ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ Ì«¶àÔ·ÝÎļþ¼ÐÔÚ %s ¶àÓàµÄÊäÈë±»ºöÂÔ ÔÚÅäÖÃÎļþÖÐÓжàÓàµÄÖØ¶¨ÏòÈÕÖ¾Îļþ ÈÈÃÅ %d Õ¾µãÈÈÃÅÕ¾µãÈÈÃÅÓû§Óû§IDÓû§Î´ÖªµÄÑÕÉ« "%s" ¶ÔÓÚ¸ÃͼÐÎ, ÇëʹÓóÈÉ«Ìæ´ú δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ δ֪ÀàÐÍ %d ¶ÔÓÚYÖá±ÈÀý ²»´æÔÚµÄÊýÖµ "%s" ²ÎÊý "%s" ʹÓÃ: %s [Ñ¡Ïî...] ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s Óû§Óû§ID¹ý³¤: %s Óû§±¨¸æÓû§: %sÓû§´úÀíÊýÖµ "%s" ³åÍ»ÓëÆäËü±»Ñ¡¶¨µÄ²ÎÊýÊýÖµ "%s" дÈë´íÎóµÄË÷Òý %s ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s ÄêÊDz»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %s ÃüÁî·µ»Ø×´Ì¬ %d ÃüÁî: %s ÈÕÆÚ/ʱ¼ä ±¨¸ægetword »ØËÝ: libgd ¼ÆËãÎı¾Öеı߽çʧ°Ü "%s":%s libgb Ìá½»Îı¾Ê±Ê§°Ü "%s": %s ûÓÐ×ã¹»µÄÄÚ´æÈ¥ÅÅÐòË÷Òý ÅÅÐòÃüÁî·µ»Ø×´Ì¬ %d ÅÅÐòÃüÁî: %s squidguard_log_formatÒÑʧЧ£¬²¢ÇÒÒѾ­±» redirector_log_format ËùÌæ´ú£¬Çë¸üÐÂÄúµÄÅäÖÃÎļþ¡£ sarg-2.3.11/po/zh_CN.po000066400000000000000000002761351324060677300145370ustar00rootroot00000000000000# Simplified Chinese translation for sarg. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Zhixiang Ren , 2010. # msgid "" msgstr "" "Project-Id-Version: sarg 2.3-pre3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2018-01-14 20:05+0100\n" "PO-Revision-Date: 2010-06-18 02:09+0800\n" "Last-Translator: zhixiang.ren \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=GB18030\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=1; plural=0;\n" #: auth.c:42 datafile.c:87 download.c:77 html.c:64 html.c:70 html.c:108 #: html.c:119 html.c:124 html.c:341 lastlog.c:50 lastlog.c:130 log.c:906 #: log.c:1504 log.c:1677 repday.c:64 report.c:120 report.c:423 report.c:465 #: report.c:750 smartfilter.c:58 smartfilter.c:63 smartfilter.c:68 #: smartfilter.c:73 sort.c:66 sort.c:71 splitlog.c:70 totday.c:156 util.c:340 #: util.c:1002 util.c:1464 util.c:1925 util.c:2017 util.c:2060 #, fuzzy, c-format msgid "Path too long: " msgstr "·¾¶¹ý³¤ %s/%s.ip\n" #: auth.c:47 auth.c:52 authfail.c:92 authfail.c:102 convlog.c:48 #: dansguardian_log.c:56 dansguardian_log.c:61 dansguardian_log.c:85 #: dansguardian_report.c:72 dansguardian_report.c:77 datafile.c:93 #: datafile.c:149 denied.c:76 denied.c:81 download.c:136 download.c:141 #: email.c:61 email.c:67 email.c:73 email.c:152 email.c:158 email.c:270 #: exclude.c:196 exclude.c:203 exclude.c:317 getconf.c:787 grepday.c:622 #: grepday.c:701 grepday.c:747 html.c:114 html.c:183 html.c:347 html.c:352 #: html.c:407 html.c:541 html.c:556 index.c:143 index.c:195 index.c:256 #: index.c:424 lastlog.c:55 lastlog.c:115 log.c:551 log.c:800 log.c:807 #: log.c:838 log.c:911 log.c:1509 log.c:1530 log.c:1783 realtime.c:219 #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:456 #: redirector.c:461 repday.c:70 repday.c:123 report.c:100 report.c:125 #: report.c:246 report.c:429 report.c:471 report.c:756 siteuser.c:75 #: siteuser.c:81 smartfilter.c:89 smartfilter.c:99 smartfilter.c:157 #: splitlog.c:85 splitlog.c:125 topsites.c:96 topsites.c:102 topsites.c:219 #: topsites.c:230 topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:201 #: topuser.c:212 totday.c:162 useragent.c:65 useragent.c:70 useragent.c:147 #: useragent.c:159 useragent.c:231 useragent.c:242 useragent.c:301 usertab.c:64 #: util.c:1047 util.c:1050 util.c:1181 util.c:1469 util.c:1491 #, fuzzy, c-format msgid "Cannot open file \"%s\": %s\n" msgstr " ²»ÄÜɾ³ý %s - %s\n" #: authfail.c:34 #, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "" #: authfail.c:75 authfail.c:97 authfail.c:211 dansguardian_log.c:153 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:82 download.c:237 email.c:147 email.c:258 grepday.c:696 #: grepday.c:737 html.c:335 html.c:412 html.c:467 html.c:498 html.c:503 #: index.c:47 indexonly.c:50 lastlog.c:88 lastlog.c:103 lastlog.c:142 #: log.c:1722 log.c:1737 realtime.c:110 realtime.c:294 redirector.c:404 #: redirector.c:448 redirector.c:580 report.c:336 siteuser.c:186 #: smartfilter.c:94 smartfilter.c:226 sort.c:92 sort.c:146 topsites.c:186 #: topsites.c:225 topuser.c:206 topuser.c:360 topuser.c:416 useragent.c:153 #: useragent.c:237 useragent.c:285 useragent.c:307 useragent.c:340 util.c:1940 #: util.c:1953 util.c:2075 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr " ²»ÄÜɾ³ý %s - %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:148 download.c:72 email.c:141 html.c:401 #: lastlog.c:97 log.c:1717 realtime.c:105 redirector.c:398 siteuser.c:69 #: smartfilter.c:84 sort.c:87 sort.c:136 topsites.c:90 topsites.c:214 #: topuser.c:195 useragent.c:142 useragent.c:226 useragent.c:296 #, c-format msgid "sort command return status %d\n" msgstr "ÅÅÐòÃüÁî·µ»Ø×´Ì¬ %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:149 download.c:73 email.c:142 #: html.c:402 lastlog.c:98 log.c:1718 realtime.c:106 redirector.c:399 #: siteuser.c:70 siteuser.c:76 smartfilter.c:85 smartfilter.c:90 sort.c:88 #: sort.c:137 topsites.c:91 topsites.c:97 topsites.c:215 topsites.c:220 #: topuser.c:196 useragent.c:143 useragent.c:148 useragent.c:227 #: useragent.c:232 useragent.c:297 useragent.c:302 #, c-format msgid "sort command: %s\n" msgstr "ÅÅÐòÃüÁî: %s\n" #. TRANSLATORS: This is a column header #: authfail.c:107 authfail.c:111 topuser.c:242 msgid "Authentication Failures" msgstr "ÈÏ֤ʧ°Ü" #: authfail.c:109 dansguardian_report.c:83 denied.c:87 download.c:147 #: grepday.c:558 log.c:1658 redirector.c:472 siteuser.c:87 smartfilter.c:112 #: smartfilter.c:186 topsites.c:236 topuser.c:219 #, c-format msgid "Period: %s" msgstr "Çø¼ä: %s" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: email.c:176 realtime.c:316 redirector.c:478 smartfilter.c:121 #: smartfilter.c:194 topuser.c:270 useragent.c:176 msgid "USERID" msgstr "Óû§ID" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "IP/NAME" msgstr "IP/ÐÕÃû" #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: realtime.c:316 redirector.c:478 smartfilter.c:121 smartfilter.c:194 msgid "DATE/TIME" msgstr "ÈÕÆÚ/ʱ¼ä" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:115 dansguardian_report.c:89 denied.c:93 download.c:153 #: html.c:208 realtime.c:316 redirector.c:478 report.c:268 siteuser.c:96 #: smartfilter.c:121 smartfilter.c:194 topsites.c:252 msgid "ACCESSED SITE" msgstr "·ÃÎÊÕ¾µã" #: authfail.c:118 convlog.c:53 datafile.c:98 denied.c:96 download.c:156 #: email.c:81 html.c:134 html.c:357 html.c:419 redirector.c:272 #: redirector.c:466 report.c:157 siteuser.c:111 splitlog.c:90 topsites.c:107 #: topsites.c:266 topuser.c:101 topuser.c:294 url.c:588 util.c:824 #, fuzzy, c-format msgid "Not enough memory to read file \"%s\"\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡Îļþ %s\n" #: authfail.c:125 dansguardian_log.c:95 grepday.c:711 log.c:1018 log.c:1022 #: log.c:1027 log.c:1031 log.c:1035 redirector.c:140 redirector.c:487 #: repday.c:82 splitlog.c:98 useragent.c:89 #, fuzzy, c-format msgid "Invalid date in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: authfail.c:129 dansguardian_log.c:99 html.c:376 log.c:957 log.c:1044 #: log.c:1155 log.c:1222 log.c:1272 redirector.c:148 redirector.c:491 #: repday.c:98 #, fuzzy, c-format msgid "Invalid time in file \"%s\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: authfail.c:133 dansguardian_log.c:103 log.c:1813 realtime.c:242 #: redirector.c:173 topuser.c:301 util.c:837 #, fuzzy, c-format msgid "Invalid user in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: authfail.c:137 dansguardian_log.c:107 log.c:1204 realtime.c:238 #: redirector.c:495 useragent.c:181 useragent.c:252 #, fuzzy, c-format msgid "Invalid IP address in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: authfail.c:141 dansguardian_log.c:115 dansguardian_report.c:99 denied.c:108 #: download.c:168 html.c:156 html.c:244 html.c:367 log.c:980 log.c:1078 #: realtime.c:247 redirector.c:163 redirector.c:499 topsites.c:290 #, fuzzy, c-format msgid "Invalid url in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: authfail.c:150 denied.c:117 download.c:177 email.c:213 redirector.c:509 #: siteuser.c:120 smartfilter.c:135 topuser.c:333 #, fuzzy, c-format msgid "Unknown user ID %s in file \"%s\"\n" msgstr "δ֪µÄÓû§ID %s ÔÚÎļþ %s\n" #: authfail.c:206 dansguardian_report.c:169 denied.c:176 download.c:232 #: grepday.c:782 html.c:594 redirector.c:575 repday.c:246 siteuser.c:192 #: topsites.c:325 useragent.c:335 #, fuzzy, c-format msgid "Write error in file \"%s\"\n" msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n" #: authfail.c:208 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:234 grepday.c:784 html.c:596 index.c:282 index.c:288 index.c:295 #: index.c:458 log.c:1494 redirector.c:577 repday.c:248 report.c:332 #: siteuser.c:194 splitlog.c:115 splitlog.c:146 splitlog.c:150 topsites.c:327 #: topuser.c:50 topuser.c:484 totday.c:188 useragent.c:127 useragent.c:280 #: useragent.c:337 util.c:1195 util.c:1474 #, fuzzy, c-format msgid "Failed to close file \"%s\": %s\n" msgstr "¹Ø±ÕÎļþʱʧ°Ü %s - %s\n" #: convlog.c:60 dansguardian_log.c:72 dansguardian_log.c:111 #: dansguardian_log.c:120 dansguardian_report.c:95 datafile.c:110 denied.c:104 #: download.c:164 lastlog.c:123 log.c:965 log.c:970 log.c:976 log.c:984 #: log.c:988 log.c:992 log.c:997 log.c:1002 log.c:1103 log.c:1107 log.c:1111 #: log.c:1115 log.c:1119 log.c:1123 log.c:1127 log.c:1131 log.c:1135 log.c:1140 #: log.c:1144 log.c:1148 log.c:1168 log.c:1175 log.c:1199 log.c:1216 #: report.c:167 smartfilter.c:129 useragent.c:83 useragent.c:106 #, fuzzy, c-format msgid "Invalid record in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: dansguardian_log.c:75 #, fuzzy, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n" #: dansguardian_log.c:82 #, fuzzy, c-format msgid "Reading DansGuardian log file \"%s\"\n" msgstr "¶ÁÈ¡ DansGuardian ÈÕÖ¾Îļþ: %s\n" #: dansguardian_log.c:143 redirector.c:388 sort.c:77 useragent.c:132 #, fuzzy, c-format msgid "Sorting file \"%s\"\n" msgstr "ÕýÔÚÅÅÐòÎļþ: %s\n" #: dansguardian_report.c:34 #, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:238 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "Ô­Òò" #: dansguardian_report.c:103 redirector.c:503 #, fuzzy, c-format msgid "Invalid rule in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: datafile.c:72 html.c:84 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file \"%s/%s\"\n" msgstr "Éú³ÉÎļþ: %s/%s\n" #: datafile.c:114 report.c:176 #, fuzzy, c-format msgid "Invalid smart info in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: datafile.c:133 datafile.c:178 realtime.c:282 report.c:204 report.c:280 #: report.c:305 siteuser.c:140 topsites.c:121 topsites.c:140 #, c-format msgid "Not enough memory to store the url\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n" #: datafile.c:199 #, fuzzy, c-format msgid "Datafile \"%s\" written successfully\n" msgstr "Êý¾ÝÎļþ %s дÈë³É¹¦\n" #: decomp.c:36 #, fuzzy, c-format msgid "File \"%s\" not found\n" msgstr "δÕÒµ½Îļþ: %s\n" #. TRANSLATORS: The last %s is the decompression program such as zcat or bzcat #: decomp.c:43 decomp.c:53 decomp.c:63 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with %s\n" msgstr "½âѹËõÈÕÖ¾Îļþ \"%s\" ʹÓÃzcat\n" #: decomp.c:45 decomp.c:55 decomp.c:65 #, fuzzy, c-format msgid "Decompression command too long for log file \"%s\"\n" msgstr "½âѹÈÕÖ¾ÎļþÃüÁî¹ý³¤ %s\n" #: denied.c:34 #, c-format msgid "%d more denied access not shown here…" msgid_plural "%d more denied accesses not shown here…" msgstr[0] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "ÉùÃ÷" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n" #. TRANSLATORS: The message is followed by the command that's too long. #: download.c:65 email.c:135 html.c:395 log.c:1693 log.c:1711 realtime.c:99 #: redirector.c:392 siteuser.c:63 sort.c:81 topsites.c:84 topsites.c:208 #: topuser.c:189 useragent.c:136 useragent.c:220 useragent.c:290 #, fuzzy, c-format msgid "Command too long: " msgstr "·¾¶¹ý³¤ %s/%s.ip\n" #: download.c:117 #, fuzzy msgid "No downloaded files to report\n" msgstr "ÏÂÔØºó׺Áбí¹ý³¤\n" #: download.c:128 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:145 download.c:149 topuser.c:240 msgid "Downloads" msgstr "ÏÂÔØ" #: download.c:278 #, c-format msgid "Download suffix list too long\n" msgstr "ÏÂÔØºó׺Áбí¹ý³¤\n" #: download.c:286 #, c-format msgid "Too many download suffixes\n" msgstr "¹ý¶àµÄÏÂÔØºó׺\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:162 log.c:383 msgid "Squid User Access Report" msgstr "SquidÓû§·ÃÎʱ¨¸æ" #: email.c:166 msgid "Decreasing Access (bytes)" msgstr "½µµÍ·ÃÎÊ(bytes)" #: email.c:170 html.c:188 repday.c:128 report.c:259 useragent.c:168 msgid "Period" msgstr "ÆÚ¼ä" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:174 siteuser.c:94 topsites.c:248 topuser.c:261 msgid "NUM" msgstr "Êý×Ö" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:178 html.c:211 topsites.c:254 topuser.c:273 msgid "CONNECT" msgstr "Á¬½Ó" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:180 grepday.c:761 html.c:213 html.c:215 index.c:432 repday.c:141 #: siteuser.c:98 topsites.c:256 topuser.c:275 topuser.c:277 msgid "BYTES" msgstr "×Ö½Ú" #: email.c:182 grepday.c:774 html.c:219 topuser.c:281 msgid "ELAPSED TIME" msgstr "ÒÑʹÓÃʱ¼ä" #: email.c:184 html.c:221 topuser.c:283 msgid "MILLISEC" msgstr "ºÁÃë" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:186 html.c:223 report.c:268 topsites.c:258 topuser.c:285 msgid "TIME" msgstr "ʱ¼ä" #: email.c:195 log.c:1082 log.c:1210 useragent.c:198 #, fuzzy, c-format msgid "Invalid user ID in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: email.c:199 grepday.c:722 html.c:240 repday.c:107 report.c:653 #: topsites.c:278 topuser.c:305 util.c:847 #, fuzzy, c-format msgid "Invalid number of bytes in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÊý×Ö×Ö½Ú %s\n" #: email.c:203 html.c:146 html.c:236 report.c:636 topsites.c:273 topuser.c:309 #, fuzzy, c-format msgid "Invalid number of accesses in file \"%s\"\n" msgstr "²»´æÔڵķÃÎÊÊý %s\n" #: email.c:207 grepday.c:729 html.c:164 html.c:252 html.c:384 html.c:433 #: log.c:1052 log.c:1057 repday.c:114 report.c:172 report.c:702 topsites.c:282 #: topuser.c:313 #, fuzzy, c-format msgid "Invalid elapsed time in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄʱ¼ä¶Î %s\n" #: email.c:232 email.c:234 html.c:511 repday.c:149 repday.c:173 repday.c:201 #: repday.c:225 topuser.c:427 useragent.c:314 msgid "TOTAL" msgstr "×ÜÖµ" #: email.c:248 html.c:572 index.c:432 topuser.c:461 msgid "AVERAGE" msgstr "ƽ¾ùÖµ" #. TRANSLATORS: The string is formatted using strftime. You can use #. * any string formatting marker allowed by strftime. The %c is the #. * time formatted according to the currently selected locale. #. #: email.c:281 #, fuzzy, c-format msgid "SARG report, %c" msgstr "SARG ±¨¸æ %s" #: email.c:284 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "ÃüÁî: %s\n" #: email.c:287 index.c:582 log.c:1699 #, c-format msgid "command return status %d\n" msgstr "ÃüÁî·µ»Ø×´Ì¬ %d\n" #: email.c:288 index.c:583 log.c:1700 #, c-format msgid "command: %s\n" msgstr "ÃüÁî: %s\n" #: exclude.c:82 exclude.c:110 #, c-format msgid "Not enough memory to store the exlcluded IP addresses\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄIPµØÖ·\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄÁ¬½Ó\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "ÔØÈë¾Ü¾øÖ÷»úÎļþ´Ó: %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "ÔØÈëÅųýÎļþ´Ó: %s\n" #: exclude.c:322 log.c:1788 usertab.c:68 util.c:1496 #, fuzzy, c-format msgid "Failed to move till the end of file \"%s\": %s\n" msgstr "ÒÆ¶¯Óû§ÎļþÖÁĩβʱʧ°Ü%s: %s\n" #: exclude.c:327 log.c:1793 usertab.c:73 util.c:1501 #, fuzzy, c-format msgid "Cannot get the size of file \"%s\": %s\n" msgstr "²»Äܵõ½ÎļþµÄ´óС %s\n" #: exclude.c:332 log.c:1798 usertab.c:78 util.c:1505 #, fuzzy, c-format msgid "Failed to rewind file \"%s\": %s\n" msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n" #: exclude.c:337 log.c:1803 util.c:1511 #, c-format msgid "malloc failed to allocate %ld bytes\n" msgstr "" #: getconf.c:210 #, c-format msgid "The string value of parameter \"%s\" is too long\n" msgstr "²ÎÊýµÄ×Ö·û´®Öµ\"%s\" Ì«³¤\n" #: getconf.c:230 #, c-format msgid "Missing double quote after parameter \"%s\"\n" msgstr "ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ\"%s\"\n" #: getconf.c:242 #, c-format msgid "" "Missing double quote after parameter \"%s\" or value is more than %d bytes " "long\n" msgstr "ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ \"%s\" »òÕßÊýÖµ´óÓÚ %d ×Ö½Ú³¤\n" #: getconf.c:263 #, c-format msgid "The first word of parameter \"%s\" is more than %d bytes long\n" msgstr "²ÎÊýµÄµÚÒ»¸ö´Ê \"%s\" ´óÓÚ %d ×Ö½Ú³¤\n" #: getconf.c:267 #, c-format msgid "Missing second word for parameter \"%s\"\n" msgstr "²ÎÊýȱÉÙµÚ¶þ¸ö´Ê \"%s\"\n" #: getconf.c:277 #, c-format msgid "The second word of parameter \"%s\" is more than %d bytes long\n" msgstr "µÚ¶þ¸ö²ÎÊý \"%s\" ´óÓÚ %d ×Ö½Ú³¤\n" #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "ÕûÊýÊýÖµ²ÎÊý \"%s\" ²»´æÔÚ\n" #: getconf.c:352 #, c-format msgid "Unknown value \"%s\" for parameter \"%s\"\n" msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n" #: getconf.c:356 #, c-format msgid "" "Value \"%s\" conflicts with other selected values for parameter \"%s\"\n" msgstr "ÊýÖµ \"%s\" ³åÍ»ÓëÆäËü±»Ñ¡¶¨µÄ²ÎÊýÊýÖµ \"%s\"\n" #: getconf.c:387 #, fuzzy, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n" #: getconf.c:402 #, fuzzy, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "²»´æÔÚµÄÊýÖµ \"%s\" ²ÎÊý \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: TAG: %s\n" #: getconf.c:471 #, fuzzy, c-format msgid "Invalid value in the \"date_format\" parameter\n" msgstr "ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: getconf.c:481 #, c-format msgid "Error: Invalid syntax in hours tag!\n" msgstr "´íÎó: ²»´æÔڵľ䷨ÔÚСʱ±êÇ©ÖÐ!\n" #: getconf.c:489 #, c-format msgid "Error: Invalid syntax in weekdays tag!\n" msgstr "´íÎó: ²»´æÔڵľ䷨ÔÚÔÚʱ¼ä±êÇ©ÖÐ!\n" #: getconf.c:502 #, c-format msgid "Too many log files in configuration file\n" msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "ÔÚÅäÖÃÎļþÖÐÓжàÓàµÄÖØ¶¨ÏòÈÕÖ¾Îļþ\n" #: getconf.c:658 getconf.c:665 #, c-format msgid "Template file name is too long in parameter \"AuthUserTemplateFile\"\n" msgstr "ÔÚ²ÎÊýÖÐÁÙʱÎļþÃû¹ý³¤\"AuthUserTemplateFile\"\n" #: getconf.c:683 #, c-format msgid "" "No graphs available as sarg was not compiled with libgd. Set \"graphs\" to " "\"no\" in %s to disable this warning\n" msgstr "" #: getconf.c:693 #, c-format msgid "" "squidguard_log_format is deprecated and has been replaced by " "redirector_log_format. Please update your configuration file.\n" msgstr "" "squidguard_log_formatÒÑʧЧ£¬²¢ÇÒÒѾ­±» redirector_log_format ËùÌæ´ú£¬Çë¸üÐÂ" "ÄúµÄÅäÖÃÎļþ¡£\n" #: getconf.c:702 #, fuzzy, c-format msgid "" "redirector_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to redirector_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ" "ÄúµÄÅäÖÃÎļþ¡£\n" #: getconf.c:707 #, fuzzy, c-format msgid "" "squidguard_ignore_date is deprecated and has been replaced by " "redirector_filter_out_date that does the action implied by its name as " "opposed to squidguard_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ" "ÄúµÄÅäÖÃÎļþ¡£\n" #: getconf.c:714 #, fuzzy, c-format msgid "" "dansguardian_ignore_date is deprecated and has been replaced by " "dansguardian_filter_out_date that does the action implied by its name as " "opposed to dansguardian_ignore_date. Please update your configuration file.\n" msgstr "" "squidguard_ignore_date ÒÑʧЧ£¬²¢ÇÒÒѾ­±»redirector_ignore_dateËùÌæ´ú¡£Çë¸üÐÂ" "ÄúµÄÅäÖÃÎļþ¡£\n" #: getconf.c:763 getconf.c:768 #, c-format msgid "The \"byte_cost\" parameter of the configuration file is invalid\n" msgstr "\"byte_cost\" ÅäÖÃÎļþµÄ²ÎÊý²»´æÔÚ\n" #: getconf.c:775 #, c-format msgid "SARG: Unknown option %s\n" msgstr "SARG: δ֪µÄÑ¡Ïî %s\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "ÔØÈëÅäÖÃ´Ó %s\n" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "ÖØÐ·ÖÅä´íÎó (%zu bytes required)\n" #. TRANSLATORS: First %s is the string that failed to convert. Second %s is the input #. * character encoding. Last %s is the reason for the failure. #. #: grepday.c:160 #, fuzzy, c-format msgid "iconv failed to convert string \"%s\" from %s to UTF-8: %s\n" msgstr "(grepday) iconvת»»×Ö·û´®Ê§°Ü \"%s\" ´Ó %s µ½ UTF-8 - %s \n" #: grepday.c:173 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd ¼ÆËãÎı¾Öеı߽çʧ°Ü \"%s\":%s\n" #: grepday.c:240 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgb Ìá½»Îı¾Ê±Ê§°Ü \"%s\": %s\n" #: grepday.c:298 #, fuzzy, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "ÊÓͼµÄY±ÈÀý³¬³ö×îС·¶Î§: %lld\n" #: grepday.c:302 #, fuzzy, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "ÊÓͼµÄY±ÈÀý³¬³ö×î´ó·¶Î§: %lld\n" #: grepday.c:327 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "δ֪ÀàÐÍ %d ¶ÔÓÚYÖá±ÈÀý\n" #: grepday.c:488 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "δ֪µÄÑÕÉ« \"%s\" ¶ÔÓÚ¸ÃͼÐÎ, ÇëʹÓóÈÉ«Ìæ´ú\n" #: grepday.c:556 msgid "SARG, " msgstr "SARG," #: grepday.c:560 #, c-format msgid "User: %s" msgstr "Óû§: %s" #. TRANSLATORS: The message is followed by the path that is too long. #: grepday.c:617 grepday.c:687 grepday.c:742 sort.c:141 #, fuzzy, c-format msgid "User name too long to manufacture file name " msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:642 #, c-format msgid "Graphs disabled as requested in \"%s\"\n" msgstr "" #. TRANSLATORS: %s is the name of the configuration file providing #. * the graph option. #. #: grepday.c:651 #, c-format msgid "Graphs disabled as no font names were provided in \"%s\"\n" msgstr "" #: grepday.c:657 #, fuzzy, c-format msgid "Fontname \"%s\" not found\n" msgstr "(grepday) ×ÖÌåÃû³Æ %s ÕÒ²»µ½\n" #: grepday.c:664 #, fuzzy, c-format msgid "iconv cannot convert from %s to UTF-8: %s\n" msgstr "(grepday) iconv ²»ÄÜת»»´Ó %s µ½ UTF-8 - %s\n" #: grepday.c:717 #, fuzzy, c-format msgid "Invalid entry in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: grepday.c:750 #, fuzzy msgid "Graph report" msgstr "ÈÕ±¨" #: grepday.c:757 grepday.c:770 index.c:263 msgid "DAYS" msgstr "ÈÕ" #: html.c:89 #, fuzzy, c-format msgid "Destination directory too long: " msgstr "Ä¿±êĿ¼¹ý³¤: %s/%s\n" #: html.c:101 index.c:543 index.c:551 util.c:348 util.c:359 util.c:1008 #, fuzzy, c-format msgid "Cannot create directory \"%s\": %s\n" msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n" #: html.c:151 log.c:1234 #, fuzzy, c-format msgid "Invalid download size in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: html.c:160 html.c:248 log.c:1242 #, fuzzy, c-format msgid "Invalid access code in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: html.c:169 #, fuzzy, c-format msgid "Invalid in-cache volume in file \"%s\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: html.c:174 #, fuzzy, c-format msgid "Invalid out-of-cache volume in file \"%s\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: html.c:187 html.c:193 msgid "User report" msgstr "Óû§±¨¸æ" #: html.c:189 repday.c:129 report.c:260 report.c:264 smartfilter.c:188 msgid "User" msgstr "Óû§" #: html.c:191 report.c:262 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:198 #, fuzzy msgid "SmartFilter report" msgstr "ÖÇÄܹýÂË" #: html.c:217 topuser.c:279 msgid "IN-CACHE-OUT" msgstr "IN-CACHE-OUT" #: html.c:228 #, fuzzy, c-format msgid "Making report %s\n" msgstr "±ê¼Ç±¨¸æ: %s\n" #: html.c:256 #, fuzzy, c-format msgid "Invalid in-cache column in file \"%s\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: html.c:260 #, fuzzy, c-format msgid "Invalid out-of-cache column in file \"%s\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: html.c:274 topuser.c:356 msgid "date/time report" msgstr "ÈÕÆÚ/ʱ¼ä ±¨¸æ" #: html.c:327 msgid "DENIED" msgstr "×èÖ¹" #: html.c:363 html.c:425 #, fuzzy, c-format msgid "Invalid user IP in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: html.c:372 log.c:1263 #, fuzzy, c-format msgid "Invalid day in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: html.c:380 html.c:429 #, fuzzy, c-format msgid "Invalid size in file \"%s\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: html.c:563 #, fuzzy, c-format msgid "User %s limit exceeded (%d MB). Added to file \"%s\"\n" msgstr "Óû§%s ³¬³öÏÞÖÆ (%d MB). Ôö¼Óµ½Îļþ %s\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "±ê¼Ç index.html\n" #: index.c:58 index.c:112 index.c:167 #, fuzzy, c-format msgid "Failed to open directory \"%s\": %s\n" msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "SARG ±¨¸æ" #: index.c:149 index.c:202 index.c:263 msgid "YEAR" msgstr "Äê" #: index.c:151 msgid "SIZE" msgstr "´óС" #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Ì«¶àÔ·ÝÎļþ¼ÐÔÚ %s\n" "¶àÓàµÄÊäÈë±»ºöÂÔ\n" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG report %04d" #: index.c:202 index.c:263 msgid "MONTH" msgstr "Ô·Ý" #: index.c:228 index.c:330 indexonly.c:38 lastlog.c:60 util.c:1016 #, fuzzy, c-format msgid "Cannot open directory \"%s\": %s\n" msgstr "(util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s\n" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "¹ý¶àµÄÈÕÆÚÎļþ¼ÐÔÚ %s\n" "¶àÓàÊä³ö±»Ìø¹ý\n" #: index.c:259 #, c-format msgid "SARG: report for %04d/%02d" msgid_plural "SARG: reports for %04d/%02d" msgstr[0] "SARG ±¨¸æ %04d/%02d" #: index.c:280 index.c:286 index.c:293 index.c:456 #, c-format msgid "Write error in the index %s\n" msgstr "дÈë´íÎóµÄË÷Òý %s\n" #: index.c:340 #, c-format msgid "" "The directory \"%s%s\" looks like a report directory but doesn't contain a " "sarg-date file. You should delete it\n" msgstr "" #: index.c:345 index.c:405 #, c-format msgid "not enough memory to sort the index\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥ÅÅÐòË÷Òý\n" #: index.c:367 #, fuzzy, c-format msgid "Invalid week day in file \"%s%s/sarg-date\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: index.c:371 #, fuzzy, c-format msgid "Invalid month in file \"%s%s/sarg-date\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: index.c:375 #, fuzzy, c-format msgid "Invalid day in file \"%s%s/sarg-date\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: index.c:379 index.c:389 #, fuzzy, c-format msgid "Invalid time in file \"%s%s/sarg-date\"\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: index.c:384 #, fuzzy, c-format msgid "Invalid year in file \"%s%s/sarg-date\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ \"%s\" ÔÚË÷ÒýÖÐ\n" #: index.c:432 msgid "FILE/PERIOD" msgstr "Îļþ/ÖÜÆÚ" #: index.c:432 msgid "CREATION DATE" msgstr "´´½¨ÈÕÆÚ" #. TRANSLATORS: This is a column header showing the users who visited each site. #. TRANSLATORS: This is a column header showing the number of users who visited a sites. #: index.c:432 siteuser.c:102 topsites.c:260 msgid "USERS" msgstr "Óû§" #: index.c:561 index.c:663 log.c:1682 #, fuzzy, c-format msgid "Failed to rename \"%s\" into \"%s\": %s\n" msgstr "ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s\n" #: index.c:572 #, fuzzy, c-format msgid "Failed to create link \"%s\" to \"%s\": %s\n" msgstr "´´½¨Á¬½Óʧ°Ü \"%s\" ÖÁ \"%s\" - %s\n" #: indexonly.c:46 #, c-format msgid "Name of the file to remove is too long: %s/%s\n" msgstr "ÒÆ³ýµÄÎļþÃû¹ý³¤: %s/%s\n" #: ip2name.c:66 ip2name.c:198 #, c-format msgid "Chaining IP resolving module \"%s\"\n" msgstr "" #: ip2name.c:71 #, c-format msgid "Ignoring duplicate module \"%s\" to resolve an IP address\n" msgstr "" #: ip2name.c:109 #, c-format msgid "Unknown module \"%.*s\" to resolve the IP addresses\n" msgstr "" #: ip2name.c:133 #, c-format msgid "No option to configure for module %s\n" msgstr "" #: ip2name.c:189 #, c-format msgid "No known module to resolve an IP address using the DNS\n" msgstr "" #: ip2name.c:226 #, fuzzy, c-format msgid "Not enough memory to store the names corresponding to the IP address\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄIPµØÖ·\n" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name \"%s\": %s\n" msgstr " ²»ÄÜɾ³ý %s - %s\n" #: ip2name.c:286 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv4 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:294 #, c-format msgid "" "Short structure returned by getaddrinfo for an IPv6 address: %d bytes " "instead of %d\n" msgstr "" #: ip2name.c:299 #, c-format msgid "Invalid address type %d returned when resolving host name \"%s\"\n" msgstr "" #: ip2name.c:323 #, fuzzy, c-format msgid "Invalid record in IP address \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: ip2name_dns.c:93 #, fuzzy, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "IPµØÖ·µ½Ãû×ÖµÄת»» (getnameinfo) ÔÚIPµØÖ· %s ·¢Éú´íÎóʧ°Ü %d - %s\n" #: ip2name_exec.c:61 #, c-format msgid "" "Command to execute to resolve the IP addresses is too long (maximum is %d " "bytes)\n" msgstr "" #: ip2name_exec.c:86 #, c-format msgid "" "No command to run to resolve an IP address. Please configure it in sarg." "conf\n" msgstr "" #: ip2name_exec.c:95 #, fuzzy, c-format msgid "IP address \"%s\" too long for the command to run\n" msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "ÅÅÐòÃüÁî: %s\n" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "ÃüÁî: %s\n" #: lastlog.c:69 #, fuzzy, c-format msgid "Failed to get the creation time of \"%s\": %s\n" msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n" #: lastlog.c:84 #, c-format msgid "No old reports to delete as only %d report currently exist\n" msgid_plural "No old reports to delete as only %d reports currently exists\n" msgstr[0] "" #: lastlog.c:108 #, fuzzy, c-format msgid "%d report directory found\n" msgid_plural "%d report directories found\n" msgstr[0] "ûÓÐÕÒµ½¼Í¼\n" #: lastlog.c:111 #, c-format msgid "%d old report to delete\n" msgid_plural "%d old reports to delete\n" msgstr[0] "" #: lastlog.c:128 #, fuzzy, c-format msgid "Removing old report file \"%s\"\n" msgstr "ÒÆ¶¯¾ÉµÄ±¨¸æÎļþ %s\n" #: log.c:429 log.c:442 #, fuzzy, c-format msgid "Too many log files passed on command line with option %s.\n" msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n" #: log.c:433 log.c:446 #, fuzzy, c-format msgid "Log file name too long passed on command line with option %s: %s\n" msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n" #: log.c:480 #, fuzzy, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n" #: log.c:488 #, fuzzy, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n" #: log.c:516 #, fuzzy, c-format msgid "Option -%c requires an argument\n" msgstr "Ñ¡Ïî -%c ÐèÒªÒ»¸öÅжÏ\n" #: log.c:534 #, fuzzy, c-format msgid "Too many log files passed on command line.\n" msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n" #: log.c:538 #, fuzzy, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n" #: log.c:547 #, c-format msgid "Init\n" msgstr "Init\n" #: log.c:659 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:672 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n" #: log.c:681 log.c:714 #, c-format msgid "Parameters:\n" msgstr "²ÎÊý:\n" #: log.c:682 log.c:715 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Ö÷»úÃû»òÕßIPµØÖ·(-a) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Óû§´úÀí ÈÕÖ¾w (-b) = %s\n" #: log.c:684 log.c:717 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Åųý Îļþ (-c) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " ÈÕÆÚ ´Ó-ÖÁ (-d) = %s\n" #: log.c:686 log.c:719 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " ÓʼþµØÖ·ÓÃÀ´·¢Ëͱ¨¸æ (-e) = %s\n" #: log.c:687 log.c:720 #, c-format msgid " Config file (-f) = %s\n" msgstr " ÅäÖÃÎļþ (-f) = %s\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " ÈÕÆÚ¸ñʽ (-g) = Å·ÖÞ (dd/mm/yyyy)\n" #: log.c:691 log.c:724 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " ÈÕÆÚ¸ñʽ (-g) = ÃÀ¹ú (mm/dd/yyyy)\n" #: log.c:693 log.c:726 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr " ÈÕÆÚ¸ñʽ (-g) = Õ¾µã & Óû§ (yyyy/ww)\n" #: log.c:694 log.c:727 #, c-format msgid " IP report (-i) = %s\n" msgstr " IP±¨¸æ (-i) = %s\n" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "Yes" msgstr "ÊÇ" #: log.c:694 log.c:695 log.c:700 log.c:702 log.c:707 log.c:708 log.c:727 #: log.c:728 log.c:733 log.c:735 log.c:740 log.c:741 msgid "No" msgstr "·ñ" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " ÁÙʱÎļþĿ¼ (-w) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Input log (-l) = %s\n" msgstr " ÊäÈëµÄÈÕÖ¾ (-l) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " ÖØ¶¨ÏòÈÕÖ¾ (-L) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " ת»»IPµØÖ· (-n) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Êä³öĿ¼ (-o) = %s\n" #: log.c:702 log.c:735 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " ·ÃÎÊÕ¾µã (-s) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Time (-t) = %s\n" msgstr " ʱ¼ä (-t) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " User (-u) = %s\n" msgstr " Óû§ (-u) = %s\n" #: log.c:706 log.c:739 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " ÁÙʱÎļþĿ¼ (-w) = %s\n" #: log.c:707 log.c:740 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " ¾À´íÐÅÏ¢ (-x) = %s\n" #: log.c:708 log.c:741 #, c-format msgid " Process messages (-z) = %s\n" msgstr " ½ø³ÌÐÅÏ¢ (-z) = %s\n" #: log.c:709 log.c:742 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:743 log.c:747 util.c:1880 #, fuzzy, c-format msgid "SARG version: %s\n" msgstr "SARG°æ±¾: %s\n" #: log.c:750 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:780 #, fuzzy, c-format msgid "setrlimit error: %s\n" msgstr "setrlimit ´íÎó - %s\n" #: log.c:791 #, c-format msgid "Not enough memory to read a log file\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶Áȡһ¸öÈÕÖ¾Îļþ\n" #: log.c:821 #, c-format msgid "Reading access log file: from stdin\n" msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin\n" #: log.c:827 #, fuzzy, c-format msgid "" "Cannot get the modification time of input log file \"%s\": %s\n" "Processing it anyway\n" msgstr "²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø\n" #: log.c:831 #, c-format msgid "Ignoring old log file %s\n" msgstr "ºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s\n" #: log.c:841 #, c-format msgid "Reading access log file: %s\n" msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n" #: log.c:869 log.c:920 log.c:1581 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%" #: log.c:884 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "ÈÕÖ¾À´×Ô΢ÈíISA: %s\n" #: log.c:892 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "ÎļþÃû²»´æÔÚ: %s\n" #: log.c:936 #, fuzzy, c-format msgid "Invalid record in exclusion string\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: log.c:1062 #, fuzzy, c-format msgid "Invalid client IP address in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: log.c:1066 #, fuzzy, c-format msgid "Invalid result code in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: log.c:1070 #, fuzzy, c-format msgid "Invalid amount of data in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: log.c:1074 #, fuzzy, c-format msgid "Invalid request method in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: log.c:1091 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ\n" #: log.c:1228 #, fuzzy, c-format msgid "Invalid download duration in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄʱ¼ä¶Î %s\n" #: log.c:1255 #, fuzzy, c-format msgid "Invalid year in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: log.c:1259 #, fuzzy, c-format msgid "Invalid month in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: log.c:1279 #, c-format msgid "Unknown input log file format\n" msgstr "δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ\n" #: log.c:1304 #, c-format msgid "User ID too long: %s\n" msgstr "Óû§ID¹ý³¤: %s\n" #: log.c:1317 #, c-format msgid "Excluded code: %s\n" msgstr "ÒÑÅųý´úÂë: %s\n" #: log.c:1377 #, c-format msgid "Excluded site: %s\n" msgstr "ÒÑÅųýÕ¾µã: %s\n" #: log.c:1429 #, c-format msgid "Excluded user: %s\n" msgstr "ÒÑÅųýÓû§: %s\n" #: log.c:1463 #, fuzzy, c-format msgid "Not enough memory to store user %s\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n" #: log.c:1515 #, c-format msgid "Write error in the log file of user %s\n" msgstr "ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s\n" #: log.c:1591 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld\n" #: log.c:1613 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log)\n" #: log.c:1616 #, c-format msgid "Common log format\n" msgstr "ÆÕͨÈÕÖ¾¸ñʽ\n" #: log.c:1619 #, c-format msgid "Squid log format\n" msgstr "SquidÈÕÖ¾¸ñʽ\n" #: log.c:1622 #, c-format msgid "Sarg log format\n" msgstr "SargÈÕÖ¾¸ñʽ\n" #: log.c:1625 #, c-format msgid "Log with invalid format\n" msgstr "²»´æÔÚµÄÈÕÖ¾¸ñʽ\n" #: log.c:1629 #, c-format msgid "No records found\n" msgstr "ûÓÐÕÒµ½¼Í¼\n" #: log.c:1630 log.c:1766 #, c-format msgid "End\n" msgstr "½áÊø\n" #: log.c:1644 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "ÆÚ¼ä±»ÈÕÖ¾Îļþ¸²¸Ç: %s - %s\n" #: log.c:1648 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "½¨Á¢ÒÔ×Ö·û´®±íʾÈÕÆÚµÄ·¶Î§Ê±Ê§°Ü\n" #: log.c:1653 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1654 #, fuzzy, c-format msgid "period=%s\n" msgstr "ÆÚ¼ä: %s\n" #: log.c:1706 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg½âÎöÈÕÖ¾Áí´æÎª %s\n" #: log.c:1755 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1757 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1760 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1761 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1780 #, c-format msgid "Loading password file from %s\n" msgstr "¼ÓÔØÃÜÂë´ÓÎļþ %s\n" #: longline.c:136 #, c-format msgid "A text line is more than %d bytes long denoting a corrupted file\n" msgstr "" #: longline.c:141 longline.c:154 #, fuzzy, c-format msgid "Not enough memory to read one more line from the file\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÔÙ¶ÁÈ¡ÊäÈëÈÕÖ¾Îļþ\n" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n" #: realtime.c:71 #, fuzzy, c-format msgid "mkstemp error: %s\n" msgstr "(realtime)mkstemp ´íÎó - %s\n" #: realtime.c:76 realtime.c:226 #, c-format msgid "Not enough memory to read the log file\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n" #: realtime.c:83 #, fuzzy, c-format msgid "Failed to get the %d trailing lines of \"%s\": %s\n" msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n" #: realtime.c:84 #, fuzzy, c-format msgid "Failed \"tail\" command: %s\n" msgstr "ÃüÁî: %s\n" #. TRANSLATORS: The %s is the command returning the invalid data. #: realtime.c:90 #, fuzzy, c-format msgid "Invalid data returned by %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: realtime.c:128 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n" #: realtime.c:132 #, fuzzy, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n" #: realtime.c:136 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "Á¬½Ó³ÖÐøÊ±¼äÔÚÁÐ2¹ý³¤\n" #: realtime.c:144 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "ÔÚÁÐ3µÄIPµØÖ·¹ý³¤\n" #: realtime.c:148 #, c-format msgid "The status at column 4 is too long\n" msgstr "ÔÚÁÐ4µÄ״̬̫³¤\n" #: realtime.c:152 #, c-format msgid "The size at column 5 is too long\n" msgstr "ÁÐ5µÄ´óС¹ý³¤\n" #: realtime.c:156 #, c-format msgid "The action at column 6 is too long\n" msgstr "ÁÐ6µÄ×÷Óùý³¤\n" #: realtime.c:161 realtime.c:170 realtime.c:174 realtime.c:178 #, c-format msgid "The URL at column 7 is too long\n" msgstr "ÁÐ7µÄÁ¬½Ó¹ý³¤\n" #: realtime.c:165 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "ÁÐ8µÄÓû§ID¹ý³¤\n" #: realtime.c:182 #, c-format msgid "The data at column 8 is too long\n" msgstr "ÁÐ8µÄÊý¾Ý¹ý³¤\n" #: realtime.c:186 #, c-format msgid "The user at column 9 is too long\n" msgstr "ÁÐ9µÄÓû§¹ý³¤\n" #: realtime.c:234 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: realtime.c:251 #, fuzzy, c-format msgid "Invalid access type in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: realtime.c:314 msgid "Realtime" msgstr "ʱʵ" #: realtime.c:315 msgid "Auto refresh" msgstr "×Ô¶¯Ë¢ÐÂ" #: realtime.c:316 msgid "TYPE" msgstr "ÀàÐÍ" #: redirector.c:60 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters before first tag)\n" msgstr "" #: redirector.c:74 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end " "of tag)\n" msgstr "" #: redirector.c:78 #, c-format msgid "" "Invalid \"redirector_log_format\" option in your sarg.conf (too many " "characters in column separator)\n" msgstr "" #: redirector.c:83 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÄê·Ý×Ö·û´®Ì«³¤ %s\n" #: redirector.c:95 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐСʱ×Ö·û´®Ì«³¤ %s\n" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s\n" #: redirector.c:116 #, c-format msgid "IP address too long in redirector log file %s\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐIPµØÖ·¹ý³¤ %s\n" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file \"%s\"\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÓû§Ãû¹ý³¤ %s\n" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file \"%s\"\n" msgstr "¶ÁÈ¡ÖØ¶¨ÏòÈÕÖ¾Îļþ %s\n" #: redirector.c:257 redirector.c:262 #, c-format msgid "" "Not enough memory to store the name of the new redirector log to be read - " "%s\n" msgstr "¶ÁȡеÄÖØ¶¨ÏòÈÕÖ¾ÎļþÃûʱûÓеÄ×ã¹»µÄÄÚ´æ - %s\n" #: redirector.c:303 msgid "No redirector logs provided to produce that kind of report\n" msgstr "" #: redirector.c:322 #, c-format msgid "Cannot open squidGuard config file: %s\n" msgstr "²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s\n" #: redirector.c:414 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" #: redirector.c:449 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:470 redirector.c:474 msgid "Redirector report" msgstr "ÖØ¶¨Ïò±¨¸æ" #: redirector.c:478 msgid "RULE" msgstr "¹æÔò" #: redirector.c:483 #, fuzzy, c-format msgid "Invalid user found in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: redirector.c:569 #, c-format msgid "%d error found in the log file. Some entries may be missing." msgid_plural "%d errors found in the log file. Some entries may be missing." msgstr[0] "" #: repday.c:91 #, fuzzy, c-format msgid "Too many different dates in \"%s\"\n" msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n" #: repday.c:127 msgid "Day report" msgstr "ÈÕ±¨" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:146 repday.c:198 #, c-format msgid "%02dH" msgstr "" #: repday.c:186 totday.c:193 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:194 msgid "H:M:S" msgstr "H:M:S" #: repday.c:238 #, c-format msgid "" "Total elapsed time is % instead of % in the hourly report of " "user %s\n" msgstr "" #: report.c:88 #, c-format msgid "" "Cannot create the output directory name containing the period as part of the " "name\n" msgstr "²»ÄÜ´´½¨Êä³öÎļþ¼ÐÃû°üº¬ÆÚ¼äµÄ²¿·ÖÃû³Æ\n" #: report.c:93 #, fuzzy, c-format msgid "Report output directory name=%s\n" msgstr "ÁÙʱÎļþ¼ÐÃû³Æ¹ý³¤: %s\n" #: report.c:258 msgid "Site access report" msgstr "Õ¾µã·ÃÎʱ¨¸æ" #: report.c:268 #, fuzzy msgid "DATE" msgstr "ÈÕÆÚ/ʱ¼ä" #: report.c:351 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:362 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:367 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:372 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:377 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:382 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:394 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:399 #, c-format msgid "Successful report generated on %s\n" msgstr "³É¹¦µÄÉú³É±¨¸æÔÚ %s\n" #: report.c:404 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s\n" #: report.c:421 #, fuzzy, c-format msgid "Making file %s/%s\n" msgstr "Éú³ÉÎļþ: %s/%s\n" #: report.c:494 #, fuzzy, c-format msgid "Failed to write a line in \"%s\"\n" msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n" #: report.c:516 #, fuzzy, c-format msgid "Failed to write the total line in \"%s\"\n" msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n" #: report.c:542 util.c:843 #, fuzzy, c-format msgid "Invalid total number of accesses in file \"%s\"\n" msgstr "²»´æÔڵķÃÎÊ×ÜÊýÔÚ %s\n" #: report.c:559 #, fuzzy, c-format msgid "Invalid total size in \"%s\"\n" msgstr "²»´æÔÚµÄ×Ü´óСÔÚ %s\n" #: report.c:576 #, fuzzy, c-format msgid "Invalid total elapsed time in \"%s\"\n" msgstr "²»´æÔÚ×ܵĹýȥʱ¼äÔÚ %s\n" #: report.c:593 #, fuzzy, c-format msgid "Invalid total cache hit in \"%s\"\n" msgstr "²»´æÔڵĻº´æÃüÖÐ×ÜÊý %s\n" #: report.c:610 #, fuzzy, c-format msgid "Invalid total cache miss in \"%s\"\n" msgstr "²»´æÔڵĻº´æÎ´ÃüÖÐ×ÜÊý %s\n" #: report.c:620 #, fuzzy, c-format msgid "User name too long or invalid in \"%s\"\n" msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n" #: report.c:662 #, fuzzy, c-format msgid "URL too long or invalid in \"%s\"\n" msgstr "Á¬½Ó¹ý³¤»ò²»´æÔÚ %s\n" #: report.c:670 #, fuzzy, c-format msgid "IP address too long or invalid in \"%s\"\n" msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n" #: report.c:678 #, fuzzy, c-format msgid "Time too long or invalid in \"%s\"\n" msgstr "ʱ¼ä¹ý³¤»ò²»´æÔÚ %s\n" #: report.c:686 #, fuzzy, c-format msgid "Date too long or invalid in \"%s\"\n" msgstr "ÈÕÆÚ¹ý³¤»ò²»´æÔÚz %s\n" #: report.c:719 #, fuzzy, c-format msgid "Invalid cache hit size in \"%s\"\n" msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n" #: report.c:736 #, fuzzy, c-format msgid "Invalid cache miss size in \"%s\"\n" msgstr "²»´æÔÚ»º´æÎ´ÃüÖдóСÔÚ %s\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:85 siteuser.c:89 topuser.c:237 msgid "Sites & Users" msgstr "Õ¾µã & Óû§" #: smartfilter.c:79 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "²»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %s\n" #: smartfilter.c:114 topuser.c:243 msgid "SmartFilter" msgstr "ÖÇÄܹýÂË" #: smartfilter.c:121 smartfilter.c:194 msgid "SMARTFILTER" msgstr "" #. TRANSLATORS: The first %s is an html tag with a link to the sarg #. * website. The second %s is the report generation time. #. #: smartfilter.c:150 smartfilter.c:206 smartfilter.c:218 util.c:1710 #, fuzzy, c-format msgid "Generated by %s on %s" msgstr "ÓÉ Éú³É" #: sort.c:121 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n" #. TRANSLATORS: The message is followed by the command that is too long. #: sort.c:129 #, fuzzy, c-format msgid "User name too long to sort with command " msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n" #: sort.c:163 topuser.c:171 msgid "connect" msgstr "" #: sort.c:165 #, fuzzy msgid "site" msgstr "ÈÈÃÅÕ¾µã" #: sort.c:167 topuser.c:174 #, fuzzy msgid "time" msgstr "ʱʵ" #: sort.c:169 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:173 topuser.c:181 msgid "normal" msgstr "" #: sort.c:175 topuser.c:184 msgid "reverse" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:180 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:234 topuser.c:236 msgid "Top sites" msgstr "ÈÈÃÅÕ¾µã" #: topsites.c:239 #, c-format msgid "Top %d sites" msgstr "ÈÈÃÅ %d Õ¾µã" #: topsites.c:286 #, fuzzy, c-format msgid "Invalid number of users in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÊý×Ö×Ö½Ú %s\n" #: topuser.c:159 #, c-format msgid "Total statistics mismatch when reading %s to produce the top users\n" msgstr "" #: topuser.c:168 #, fuzzy msgid "user" msgstr "Óû§" #: topuser.c:216 #, c-format msgid "SARG report for %s" msgstr "SARG ±¨¸æ %s" #: topuser.c:223 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:225 msgid "Top users" msgstr "ÈÈÃÅÓû§" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:230 msgid "Table of content" msgstr "" #: topuser.c:239 msgid "Redirector" msgstr "ÖØ¶¨Ïò" #: topuser.c:241 msgid "Denied accesses" msgstr "×èÖ¹·ÃÎÊ" #: topuser.c:244 msgid "Useragent" msgstr "Óû§´úÀí" #: topuser.c:251 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:317 #, fuzzy, c-format msgid "Invalid in-cache size in file \"%s\"\n" msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n" #: topuser.c:321 #, fuzzy, c-format msgid "Invalid out-of-cache size in file \"%s\"\n" msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n" #: topuser.c:353 msgid "Graphic" msgstr "ÊÓͼ" #: topuser.c:391 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:442 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:482 #, c-format msgid "Write error in top user list %s\n" msgstr "дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s\n" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n" #: totday.c:104 #, c-format msgid "Invalid date \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:108 #, c-format msgid "Invalid date component in \"%s\" for the hourly statistics\n" msgstr "" #: totday.c:113 #, c-format msgid "Invalid hour %d for the hourly statistics\n" msgstr "" #: totday.c:121 #, fuzzy, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n" #: totday.c:170 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: url.c:150 #, c-format msgid "Host name alias \"%s*%s\" contains too many wildcards (*)\n" msgstr "" #: url.c:157 #, c-format msgid "Host name alias \"%*s\" must not end with a wildcard\n" msgstr "" #: url.c:184 url.c:196 url.c:220 url.c:244 url.c:254 url.c:320 url.c:329 #: url.c:339 url.c:402 url.c:411 url.c:421 url.c:485 url.c:498 #, fuzzy, c-format msgid "Not enough memory to store the host name aliasing directives\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ \"%s\" ÔÚË÷ÒýÖÐ\n" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n" #: url.c:549 #, c-format msgid "" "PCRE not compiled in therefore the regular expressions are not available in " "the host alias file\n" msgstr "" #: url.c:580 #, fuzzy, c-format msgid "Reading host alias file \"%s\"\n" msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\": %s\n" msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n" #: url.c:607 #, c-format msgid "List of host names to alias:\n" msgstr "" #: url.c:610 #, c-format msgid " %s*%s => %s\n" msgstr "" #: url.c:612 #, fuzzy, c-format msgid " %s => %s\n" msgstr "´´½¨Ä¿Â¼ %s %s\n" #: url.c:614 #, c-format msgid " *%s => %s\n" msgstr "" #: url.c:617 #, c-format msgid " %d.%d.%d.%d/%d => %s\n" msgstr "" #: url.c:620 #, c-format msgid " %x:%x:%x:%x:%x:%x:%x:%x/%d => %s\n" msgstr "" #: usage.c:32 #, c-format msgid "Usage: %s [options...]\n" msgstr "ʹÓÃ: %s [Ñ¡Ïî...]\n" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr " -a Ö÷»úÃû»òÕßIPµØÖ·" #: usage.c:35 msgid " -c FILE Exclude connected hosts from the report" msgstr "" #: usage.c:36 #, fuzzy msgid " --convert Convert the access.log file to a legible date" msgstr " -convert ת»» access.log Îļþµ½Ò»¸öÒ×¶®µÄÈÕÆÚ" #: usage.c:37 msgid " --css Output the internal CSS" msgstr "" #: usage.c:38 #, fuzzy msgid "" " -d DATE Date range to include in the report: from-until dd/mm/" "yyyy-dd/mm/yyyy" msgstr " -d ÈÕÆÚ´Ó£­µ½ dd/mm/yyyy-dd/mm/yyyy" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr " -e ÓʼþµØÖ··¢Ëͱ¨¸æ (stdout for console)" #: usage.c:40 #, fuzzy, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr " -f ÅäÖÃÎļþ (%s/sarg.conf)\n" #: usage.c:41 #, fuzzy msgid "" " -g FMT Date format [e=Europe -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" msgstr " -g ÈÕÆÚ¸ñʽ [e=Å·ÖÞ -> dd/mm/yyyy, u=ÃÀ¹ú ->mm/dd/yyyy]" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr " -h ÕâÀïÊǰïÖú" #: usage.c:43 #, fuzzy msgid " --help This help" msgstr " -h ÕâÀïÊǰïÖú" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr " -i Óû§±¨¸æºÍIPµØÖ·" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr " -l ÊäÈëÈÕÖ¾" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr " ½ø³ÌÐÅÏ¢ (-z) = %s\n" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr " ת»»IPµØÖ· (-n) = %s\n" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr " -w ÁÙʱĿ¼" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr " -p ʹÓÃIPµØÖ·Ìæ´úÓû§ID (reports)" #: usage.c:52 msgid " -P PREFIX Prepend a prefix to the splitted file names" msgstr "" #: usage.c:53 #, fuzzy msgid "" " -s SITE Limit report to accessed site [eg. www.microsoft.com]" msgstr " -s ·ÃÎÊÕ¾µã [ÀýÈç www.microsoft.com, www.netscape.com]" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr " -split ʹÓÃÈÕÆÚ·ÖÀëÈÕÖ¾Îļþ -d ²ÎÊý" #: usage.c:55 msgid "" " --splitprefix PREFIX\n" " Prepend a prefix to the splitted file names" msgstr "" #: usage.c:57 msgid " --statistics Print run time statistics" msgstr "" #: usage.c:58 msgid " -t TIME Limit report to time range [HH:MM or HH:MM-HH:MM]" msgstr "" #: usage.c:59 #, fuzzy msgid " -u USER Report only that user's activity" msgstr " -i Óû§±¨¸æºÍIPµØÖ·" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr " -w ÁÙʱĿ¼" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr " -x ²î´íÐÅÏ¢" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr " -z ½ø³ÌÐÅÏ¢" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log \"%s\"\n" msgstr "¶ÁÈ¡Óû§´úÀíÈÕÖ¾: %s\n" #: useragent.c:100 useragent.c:194 useragent.c:256 useragent.c:321 #, fuzzy, c-format msgid "Invalid useragent in file \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " ¼Í¼ ¶ÁÈ¡: %ld\n" #: useragent.c:164 #, c-format msgid "Making Useragent report\n" msgstr "±ê¼ÇµÄÓû§´úÀí±¨¸æ\n" #: useragent.c:166 useragent.c:167 msgid "Squid Useragent's Report" msgstr "SquidÓû§´úÀíµÄ±¨¸æ" #: useragent.c:176 useragent.c:314 msgid "AGENT" msgstr "´úÀí" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ \n" #: usertab.c:82 #, c-format msgid "Cannot load \"%s\": not enough memory\n" msgstr "" #: usertab.c:93 usertab.c:102 #, fuzzy, c-format msgid "The list of the users is too long in file \"%s\"\n" msgstr "Óû§Áбí¹ý³¤ÔÚÄãµÄ %s Îļþ.\n" #: usertab.c:149 #, fuzzy, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "²»ÄÜÁ¬½ÓÖÁLDAP·þÎñÆ÷ %s ʹÓÃ¶Ë¿Ú %d\n" #: usertab.c:155 #, fuzzy, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "²»ÄÜÁ¬½ÓÖÁLDAP·þÎñÆ÷ %s ʹÓÃ¶Ë¿Ú %d\n" #: usertab.c:161 #, c-format msgid "Could not disable LDAP_OPT_REFERRALS\n" msgstr "" #: usertab.c:166 #, c-format msgid "Could not set LDAP protocol version %d\n" msgstr "²»ÄÜÉèÖÃLDAPЭÒé°æ±¾ %d\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "²»Äܰó¶¨ÖÁLDAP·þÎñÆ÷: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "LDAPËÑË÷ʧ°Ü: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 #, fuzzy, c-format msgid "Loading user table from LDAP\n" msgstr "ÔØÈëÓû§±í: %s\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "LDAPÄ£¿éûÓбàÒëÔÚsargÖÐ\n" #: usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "ÔØÈëÓû§±í: %s\n" #. TRANSLATORS: "getword" is the function displaying #. * the backtrace leading to its execution. #. #: util.c:60 #, c-format msgid "getword backtrace:\n" msgstr "getword »ØËÝ:\n" #: util.c:79 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä\n" #. TRANSLATORS: %s is the name of the function reporting this error. #. #: util.c:93 util.c:135 util.c:163 util.c:206 util.c:249 #, c-format msgid "Loop detected in %s after %d bytes.\n" msgstr "" #: util.c:94 util.c:136 util.c:164 util.c:207 util.c:250 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:95 util.c:137 util.c:165 util.c:208 util.c:251 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:96 util.c:138 util.c:166 util.c:209 util.c:252 #, c-format msgid "searching for 'x%x'\n" msgstr "" #. TRANSLATORS: The first %s is the name of the function displaying #. * this message. #. #: util.c:198 util.c:241 #, fuzzy, c-format msgid "Integer overflow detected in %s in line \"%s\"\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: util.c:279 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n" #: util.c:333 #, fuzzy, c-format msgid "Invalid path \"%s\". Please, use absolute paths only.\n" msgstr "" "²»´æÔڵķ¾¶ (%s).\n" " Çë½öʹÓþø¶Ô·¾¶.\n" #: util.c:375 #, c-format msgid "" "The requested number of digits passed to my_lltoa (%d) is bigger than the " "output buffer size (%d)\n" msgstr "´«µÝ¸ømy_lltoa (%d) ÊýλҪÇó´óÓÚÊä³ö»º´æ´óС (%d)\n" #: util.c:450 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂ" #: util.c:455 util.c:459 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "debug". #. #: util.c:475 util.c:511 msgid "SARG: " msgstr "SARG: " #. TRANSLATORS: This text is printed on the console before any message from #. * the debug log with level "info". #. #: util.c:531 #, fuzzy msgid "SARG: (info) " msgstr "SARG: " #: util.c:705 #, c-format msgid "Buffer to small to store %s%s/sarg-date" msgstr "" #: util.c:710 #, c-format msgid "Buffer to small to store %s%s/date" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:722 #, fuzzy, c-format msgid "Failed to read the date in \"%s\"\n" msgstr "¶ÁÈ¡ÈÕÆÚʧ°Ü %s\n" #: util.c:770 #, c-format msgid "Buffer too small to store %s%s/sarg-users" msgstr "" #: util.c:775 #, c-format msgid "Buffer too small to store %s%s/users" msgstr "" #. TRANSLATORS: %s is a file name. #. #: util.c:786 #, fuzzy, c-format msgid "Failed to read the number of users in \"%s\"\n" msgstr "¶ÁÈ¡Óû§Êýʧ°Ü %s\n" #: util.c:810 #, c-format msgid "Buffer too small to store %s%s/sarg-general" msgstr "" #: util.c:815 #, c-format msgid "Buffer too small to store %s%s/general" msgstr "" #: util.c:1023 util.c:1032 #, fuzzy, c-format msgid "Buffer too small to store %s/%s" msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n" #: util.c:1027 util.c:1935 util.c:2028 util.c:2070 #, fuzzy, c-format msgid "Cannot stat \"%s\": %s\n" msgstr "²»ÄÜ¿ªÊ¼ \"%s\" - %s\n" #: util.c:1041 #, fuzzy, c-format msgid "Failed to copy image \"%s\" to \"%s\"\n" msgstr "¿½±´¾µÏñʧ°Ü %s µ½ %s\n" #: util.c:1137 util.c:1160 #, fuzzy, c-format msgid "File \"%s\" already exists, moved to \"%s\"\n" msgstr "Îļþ %s ÒѾ­´æÔÚ, ÒÆ¶¯ÖÁ %s\n" #: util.c:1177 #, c-format msgid "Buffer too small to store %s/sarg-date" msgstr "" #: util.c:1190 #, fuzzy, c-format msgid "Failed to write the date in \"%s\"\n" msgstr "дÈëʱ¼äʱʧ°ÜÔÚw %s\n" #: util.c:1216 #, fuzzy, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n" #: util.c:1295 #, c-format msgid "" "The date passed as argument is not formated as dd/mm/yyyy or dd/mm/yyyy-dd/" "mm/yyyy\n" msgstr "×÷Ϊ²ÎÊýʱÈÕÆÚ¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy\n" #: util.c:1300 util.c:1304 #, c-format msgid "" "The date range passed as argument is not formated as dd/mm/yyyy or dd/mm/" "yyyy-dd/mm/yyyy\n" msgstr "" "×÷Ϊ²ÎÊýµÄÈÕÆÚÇø¼ä¸ñʽ²»ÄÜΪdd/mm/yyyy or dd/mm/yyyy-dd/mm/yyyy-dd/mm/yyyy\n" #: util.c:1317 #, c-format msgid "Failed to get the current time\n" msgstr "µÃµ½×¼È·Ê±¼äʱʧ°Ü\n" #: util.c:1322 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: util.c:1328 util.c:1352 util.c:1359 util.c:1368 util.c:1381 #, c-format msgid "Cannot convert local time: %s\n" msgstr "²»ÄÜת»»±¾µØÊ±¼ä: %s\n" #: util.c:1347 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: util.c:1376 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: util.c:1410 #, fuzzy, c-format msgid "Invalid date range passed on command line\n" msgstr "±äÿ´«µÃµÄÈÕÆÚ·¶Î§ÎÞç\n" #: util.c:1461 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Çå³þÁÙʱÎļþsarg-general\n" #: util.c:1522 #, fuzzy, c-format msgid "Too many codes to exclude in file \"%s\"\n" msgstr "ÔÚÎļþÖйý¶àµÄ±àÂë±»Åųý %s\n" #: util.c:1676 #, fuzzy, c-format msgid "Cannot get disk space because the path \"%s%s\" is too long\n" msgstr "²»ÄÜ»ñÈ¡´ÅÅ̿ռäÒòΪ·¾¶ %s%s ¹ý³¤\n" #: util.c:1680 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "²»Äܵõ½´ÅÅ̿ռäʹÓÃÃüÁî %s\n" #: util.c:1684 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s\n" #. TRANSLATORS: First %s is the command to get the occuped disk size (namely, du -skh "..."). #. * The second %s is the string returned by the command. #. #: util.c:1692 #, c-format msgid "" "The command to compute the occupied disk size (%s) returned the unknown " "string %s\n" msgstr "" #: util.c:1883 #, c-format msgid "" "\n" "For the translation to work, a valid message file should be installed as " "\"%s//LC_MESSAGES/%s.mo\" where is derived from the " "effective locale.\n" msgstr "" #: util.c:1886 #, c-format msgid "Currently effective locale is \"%s\".\n" msgstr "" #: util.c:1888 #, c-format msgid "Locale is not set in the environment variable.\n" msgstr "" #. TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. #: util.c:1891 #, c-format msgid "" "If this message is in English, then your language is not supported or not " "correctly installed.\n" msgstr "" #: util.c:1946 util.c:2079 #, fuzzy, c-format msgid "Unknown path type \"%s\"\n" msgstr "δ֪µÄ·¾¶ÀàÐÍ %s\n" #: util.c:2010 util.c:2053 #, c-format msgid "" "Unknown file \"%s\" found in temporary directory \"%s\". It is not one of " "our files. Please check the temporary directory you gave to sarg. Adjust the " "path to a safe directory or manually delete the content of \"%s\"\n" msgstr "" #: util.c:2034 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #~ msgid "File name too long: %s/%s/.htaccess\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s/.htaccess\n" #~ msgid "(auth) Cannot open file: %s - %s\n" #~ msgstr "(auth) ²»ÄÜ´ò¿ªÎļþ: %s - %s\n" #~ msgid "(auth) Cannot open template file: %s - %s\n" #~ msgstr "(auth) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n" #~ msgid "(authfail) Cannot open file %s\n" #~ msgstr "(authfail) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "There is a broken date in file %s\n" #~ msgstr "Óв»ÍêÕûµÄÈÕÆÚÔÚÎļþ %s\n" #~ msgid "There is a broken time in file %s\n" #~ msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþÖÐ %s\n" #~ msgid "There is a broken user ID in file %s\n" #~ msgstr "Óв»ÍêÕûµÄÓû§IDÔÚÎļþÖÐ %s\n" #~ msgid "There is a broken IP address in file %s\n" #~ msgstr "Óв»ÍêÕûµÄIPµØÖ·ÔÚÎļþÖÐ %s\n" #~ msgid "There is a broken url in file %s\n" #~ msgstr "Óв»ÍêÕûµÄÁ¬½ÓÔÚÎļþÖÐ %s\n" #, fuzzy #~ msgid "(convlog) Cannot open log file %s - %s\n" #~ msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n" #, fuzzy #~ msgid "Not enough memory to read the log file %s\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n" #~ msgid "Maybe you have a broken record or garbage in file %s\n" #~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n" #~ msgid "Cannot open DansGuardian config file: %s\n" #~ msgstr "²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %s\n" #~ msgid "(dansguardian) Cannot open log file: %s\n" #~ msgstr "(dansguardian) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s\n" #~ msgid "Maybe you have a broken record or garbage in your %s file\n" #~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ %s ÎļþÖÐ \n" #, fuzzy #~ msgid "Invalid date found in your dansguardian log file %s\n" #~ msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #, fuzzy #~ msgid "Invalid time found in your dansguardian log file %s\n" #~ msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #, fuzzy #~ msgid "Invalid user found in your dansguardian log file %s\n" #~ msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #, fuzzy #~ msgid "Invalid IP address found in your dansguardian log file %s\n" #~ msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #~ msgid "Maybe you have a broken url in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÁ¬½ÓÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "(dansguardian_report) Cannot open log file %s\n" #~ msgstr "(dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "Maybe you have a broken rule in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹æÔòÔÚÄãµÄ %s ÎļþÖÐ\n" #, fuzzy #~ msgid "(datafile) directory path too long: %s/%s.user_log\n" #~ msgstr "(datafile) Îļþ¼Ð·¾¶Ì«³¤: %s/%s\n" #~ msgid "(datafile) Cannot open file %s\n" #~ msgstr "(datafile) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "Not enough memory to read the downloaded files.\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÒÑÏÂÔØÎļþ. \n" #~ msgid "There is a broken record or garbage in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÎļþ %s\n" #~ msgid "There is an invalid smart info in file %s\n" #~ msgstr "ÓÐÎÞЧµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n" #~ msgid "Decompressing log file \"%s\" with bzcat\n" #~ msgstr "½âѹËõÎļþ \"%s\" ʹÓÃbzcat\n" #~ msgid "(denied) Cannot open log file %s\n" #~ msgstr "(denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "Not enough memory to read the denied accesses\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡×èÖ¹·ÃÎÊ\n" #, fuzzy #~ msgid "Path too long for %s/download.int_unsort\n" #~ msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n" #~ msgid "(download) Cannot open log file %s\n" #~ msgstr "(download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "Not enough memory to read the downloaded files\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n" #~ msgid "(email) Cannot open file %s\n" #~ msgstr "(email)²»ÄÜ´ò¿ªÎļþ %s\n" #, fuzzy #~ msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" #~ msgstr "ѹËõÃüÃî¶ÔÓÚÈÕÖ¾Îļþ¹ý³¤ %s\n" #~ msgid "There is an invalid user ID in file %s\n" #~ msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§IDÔÚÎļþ %s\n" #~ msgid "There is an invalid number of bytes in file %s\n" #~ msgstr "Óв»´æÔÚµÄ×Ö½ÚÊýÔÚÎļþ %s\n" #~ msgid "There is an invalid number of access in file %s\n" #~ msgstr "ÓÐÒ»¸ö²»´æÔڵķÃÎÊÊýÔÚÎļþ %s\n" #~ msgid "There is an invalid elapsed time in file %s\n" #~ msgstr "ÓÐÒ»¸öÎÞЧµÄʱ¼äÖµ %s\n" #~ msgid "Cannot open exclude_hosts file: %s - %s\n" #~ msgstr "²»ÄÜ´ò¿ªexclude_hostsÎļþ: %s-%s\n" #~ msgid "(gethexclude) Cannot open file %s - %s\n" #~ msgstr "(gethexclude)²»ÄÜ´ò¿ªÎļþ %s - %s\n" #~ msgid "Failed to move till the end of the excluded users file %s: %s\n" #~ msgstr "ÔÚÅųýÓû§Îļþ֮ǰ²»ÄÜÒÆ¶¯¸ÃÎļþ %s: %s\n" #~ msgid "Failed to rewind the excluded users file %s: %s\n" #~ msgstr "תÏòÅųýÓû§Îļþʱʧ°Ü %s: %s\n" #~ msgid "malloc error (%ld bytes required)\n" #~ msgstr "ÄÚ´æÒ²´íÎó (%ld bytes required)\n" #~ msgid "" #~ "Maybe you have a broken record or garbage in \"date_format\" parameter\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚ \"date_format\" ²ÎÊýÖÐ\n" #~ msgid "(getconf) Cannot open file %s\n" #~ msgstr "(getconf) ²»ÄÜ´ò¿ªÎļþ %s\n" #, fuzzy #~ msgid "user name too long for %s/%s/%s\n" #~ msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n" #~ msgid "(grepday) Cannot open log file %s\n" #~ msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "user name too long for %s/%s.day\n" #~ msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n" #, fuzzy #~ msgid "(grepday) Cannot open output file %s\n" #~ msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_unsort\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #, fuzzy #~ msgid "File name too long: %s/sargtmp.int_log\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #, fuzzy #~ msgid "Input file name too long: %s/htmlrel.txt\n" #~ msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n" #~ msgid "(html3) Cannot open file %s\n" #~ msgstr "(html3) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "Output file name too long: %s/%s/%s.html\n" #~ msgstr "Êä³öÎļþÃû¹ý³¤: %s/%s/%s.html\n" #, fuzzy #~ msgid "File name too long: %s/denied_%s.html\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n" #~ msgid "There is a broken number of access in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ·ÃÎÊÊý×ÖÔÚÎļþ %s\n" #~ msgid "There is a broken downloaded size in file %s\n" #~ msgstr "Óв»ÍêÕûµÄÏÂÔØ´óСÔÚÎļþ %s\n" #~ msgid "There is a broken access code in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÎļþ %s\n" #~ msgid "There is a broken elapsed time in file %s\n" #~ msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþ %s\n" #~ msgid "There is a broken in-cache volume in file %s\n" #~ msgstr "Óв»ÍêÕûµÄin-cache¾íÔÚÎļþ %s\n" #~ msgid "There is a broken out-cache volume in file %s\n" #~ msgstr "Óв»ÍêÕûµÄout-cache¾íÔÚÎļþ %s\n" #~ msgid "(html5) Cannot open file %s\n" #~ msgstr "(html5) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "There is a broken number of bytes in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ×Ö½ÚÊý×ÖÔÚÎļþ %s\n" #~ msgid "There is a broken in cache column in file %s\n" #~ msgstr "ÖжÏÔÚ»º´æÁÐÄÚÔÚÎļþ %s\n" #~ msgid "There is a broken out of cache column in file %s (%d)\n" #~ msgstr "ÖжÏÔÚ»º´æÁÐÍâÔÚÎļþ %s(%d)\n" #~ msgid "File name too long: %s/%s.ip\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #~ msgid "(html6) Cannot open file %s\n" #~ msgstr "(html6)²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(html7) Cannot open file %s\n" #~ msgstr "(html7) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "Maybe you have a broken user IP in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§IPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ \n" #~ msgid "Maybe you have a broken day in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ \n" #~ msgid "Maybe you have a broken time in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken size in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ´óСÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken elapsed time in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "(html8) Cannot open file %s\n" #~ msgstr "(html8) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(html9) Cannot open file %s\n" #~ msgstr "(html9) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(html10) Cannot open file %s\n" #~ msgstr "(html10) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(index) Cannot open file %s - %s\n" #~ msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s - %s\n" #~ msgid "Failed to close the index file %s - %s\n" #~ msgstr "À뿪Ë÷ÒýÎļþʱʧ°Ü %s - %s\n" #~ msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #~ msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #~ msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #~ msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #~ msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #~ msgid "(index) Cannot open file %s\n" #~ msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" #~ msgstr "(index)ÖØÃüÃû´íÎó´Ó \"%s\" ÖÁ \"%s\" - %s\n" #, fuzzy #~ msgid "File name too long: %s/lastlog1\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #~ msgid "(lastlog) Cannot open temporary file %s\n" #~ msgstr "(lastlog) ²»ÄÜ´ò¿ªÁÙʱÎļþ %s\n" #~ msgid "Directory name too long: %s%s\n" #~ msgstr "Îļþ¼ÐÃû³Æ¹ý³¤: %s%s\n" #~ msgid "Too many redirector logs passed on command line with option -L.\n" #~ msgstr "´«ÈëÃüÁîÐвÎÊý -LµÄÖØ¶¨ÏòÈÕÖ¾Îļþ¹ý¶à.\n" #~ msgid "" #~ "Redirector log file name too long passed on command line with opton -L: " #~ "%s\n" #~ msgstr "´«ÈëÃüÁîÐвÎÊý -L µÄÖØ¶¨ÏòÈÕÖ¾ÎļþÃû¹ý³¤: %s\n" #~ msgid "Cannot open config file: %s - %s\n" #~ msgstr "²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s\n" #~ msgid "sarg version: %s\n" #~ msgstr "sarg °æ±¾: %s\n" #~ msgid "(log) Cannot open file: %s - %s\n" #~ msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n" #~ msgid "(log) Cannot open log file: %s - %s\n" #~ msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%" #~ msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2f%%" #, fuzzy #~ msgid "File name too long: %s/sarg_temp.log\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #~ msgid "Maybe you have a broken record or garbage in your exclusion string\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´®\n" #~ msgid "Maybe you have a broken time in your access.log file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ\n" #~ msgid "Maybe you have a broken date in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ\n" #, fuzzy #~ msgid "Invalid time found in %s\n" #~ msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #~ msgid "Maybe you have a broken client IP address in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken result code in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken amount of data in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken request method in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken user ID in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken IP in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken download duration in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ³ÖÐøÊ±¼äÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken download size in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken access code in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken year in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Maybe you have a broken month in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Failed to close the log file of user %s - %s\n" #~ msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n" #, fuzzy #~ msgid "Temporary user file name too long: %s/%s.user_unsort\n" #~ msgstr "ÁÙʱÓû§ÎļþÃû¹ý³¤: %s/sarg/%s.unsort\n" #~ msgid "(log) Cannot open temporary file: %s - %s\n" #~ msgstr "(log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n" #~ msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" #~ msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%%\n" #~ msgid "Period: %s\n" #~ msgstr "ÆÚ¼ä: %s\n" #, fuzzy #~ msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #~ msgid "(getusers) Cannot open file %s - %s\n" #~ msgstr "(getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s\n" #~ msgid "malloc error (%ld)\n" #~ msgstr "ÄÚ´æ·ÖÒ³´íÎó (%ld)\n" #~ msgid "You have an invalid user in your %s file\n" #~ msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§ÔÚÄãµÄ %s Îļþ\n" #~ msgid "Maybe a broken record or garbage was returned by %s\n" #~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø·µ»Ø´Ó %s\n" #~ msgid "(realtime) open error %s - %s\n" #~ msgstr "(realtime)´ò¿ª´íÎó %s - %s\n" #, fuzzy #~ msgid "Invalid URL in file %s\n" #~ msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #, fuzzy #~ msgid "Invalid time found in file %s\n" #~ msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #~ msgid "(squidguard) Cannot open log file %s\n" #~ msgstr "(squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #, fuzzy #~ msgid "Not enough memory to read the redirector log\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n" #, fuzzy #~ msgid "Not enough memory to read the processed redirector log\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n" #~ msgid "Output file name too long: %s/%s/d%s.html\n" #~ msgstr "Êä³öÎļþÃû¹ý³¤ %s/%s/d%s.html\n" #~ msgid "(repday) Cannot open log file %s\n" #~ msgstr "(repday) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(report) Cannot open file %s\n" #~ msgstr "(report) ²»ÄÜ´ò¿ªÎļþ %s\n" #, fuzzy #~ msgid "(report) directory entry too long: %s/%s.user_log\n" #~ msgstr "(report) Îļþ¼Ð¹ý³¤ %s/%s\n" #~ msgid "There is a broken smart info in file %s\n" #~ msgstr "Óв»ÍêÕûµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n" #, fuzzy #~ msgid "Failed to close temporary file for user %s - %s\n" #~ msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n" #~ msgid "Temporary file name too long: %s/%s.utmp\n" #~ msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.utmp\n" #~ msgid "Invalid number of bytes in %s\n" #~ msgstr "²»´æÔÚ×Ö½ÚÊýz %s\n" #~ msgid "Invalid elapsed time in %s\n" #~ msgstr "²»´æÔڵĵĹýȥʱ¼äÔÚ %s\n" #, fuzzy #~ msgid "File name too long for %s/smartfilter.int_unsort\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #~ msgid "(siteuser) Cannot open log file %s\n" #~ msgstr "(siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_unsort\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #, fuzzy #~ msgid "File name too long: %s/sarg-sites\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #, fuzzy #~ msgid "File name too long: %s/smartfilter.int_log\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #, fuzzy #~ msgid "File name too long: %s/smartfilter.html\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n" #~ msgid "(smartfilter) Cannot open log file %s\n" #~ msgstr "(smartfilter)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "on" #~ msgstr "on" #~ msgid "(smartfilter) Cannot open file %s\n" #~ msgstr "(smartfilter) ²»ÄÜ´ò¿ªÎļþ %s\n" #, fuzzy #~ msgid "File name too long: %s/%s.utmp\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #, fuzzy #~ msgid "File name too long: %s/htmlrel.txt\n" #~ msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n" #, fuzzy #~ msgid "user name too long for %s/%s.user_unsort\n" #~ msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n" #, fuzzy #~ msgid "(splitlog) Cannot open log file %s - %s\n" #~ msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n" #, fuzzy #~ msgid "(splitlog) Cannot open output log file %s - %s\n" #~ msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "(topsites) Cannot open log file %s\n" #~ msgstr "(topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #, fuzzy #~ msgid "The number of users is invalid in file %s\n" #~ msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n" #~ msgid "The url is invalid in file %s\n" #~ msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n" #~ msgid "(topuser) Cannot open file %s\n" #~ msgstr "(topuser) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "Not enough memory to read the file %s\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s\n" #~ msgid "There is a broken user in file %s\n" #~ msgstr "Óв»ÍêÕûµÄÓû§ÔÚÎļþ %s\n" #~ msgid "There is a broken elpased time in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÎļþ %s\n" #~ msgid "There is a broken in-cache size in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ in-cache ´óСÔÚÎļþ %s\n" #~ msgid "There is a broken out-of-cache size in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ out-of-cache ´óСÔÚÎļþ %s\n" #~ msgid "Failed to close the top user list %s - %s\n" #~ msgstr "¹Ø±Õ»îÔ¾Óû§Áбíʱʧ°Ü %s - %s\n" #~ msgid "File name too long: %s/%s%s\n" #~ msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #~ msgid "(totday) Cannot open log file %s\n" #~ msgstr "(today) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #, fuzzy #~ msgid "Not enough memory to read the host name aliases\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n" #~ msgid "(useragent) Cannot open file %s\n" #~ msgstr "(useragent) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "Maybe you have a broken useragent entry in your %s file\n" #~ msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§´úÀíÔÚÄãµÄ %s Îļþ\n" #~ msgid "There is an invalid IP address in file %s\n" #~ msgstr "ÓÐÒ»¸öÎÞЧµÄIPµØÖ·ÔÚÎļþ %s\n" #~ msgid "There is an invalid useragent in file %s\n" #~ msgstr "ÓÐÒ»¸öÎÞЧµÄÓû§´úÀíÔÚÎļþ %s\n" #~ msgid "(usertab) Cannot open file %s - %s\n" #~ msgstr "(usertab) ²»ÄÜ´ò¿ªÎļþ %s - %s\n" #~ msgid "Failed to move till the end of the usertab file %s: %s\n" #~ msgstr "ÎÞ·¨Òƶ¯Ö±µ½Óû§±íÎļþĩβ %s: %s\n" #~ msgid "Failed to rewind the usertab file %s: %s\n" #~ msgstr "ÎÞ·¨×ª»ØÓû§±íÎļþ %s: %s\n" #~ msgid "ERROR: Cannot load. Memory fault\n" #~ msgstr "´íÎó: ²»ÄÜÔØÈë. ÄÚ´æ´íÎó \n" #~ msgid "directory name too long: %s\n" #~ msgstr "Îļþ¼ÐÃû¹ý³¤: %s\n" #~ msgid "There is a invalid user in file %s\n" #~ msgstr "Óв»´æÔÚµÄÓû§ÔÚÎļþ %s\n" #~ msgid "There a broken total number of access in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ·ÃÎÊ×ÜÊýÔÚÎļþ %s\n" #~ msgid "Cannot copy images to target directory %simages\n" #~ msgstr "²»ÄÜ¿½±´¾µÏñµ½Ä¿±êÎļþ¼Ð %simages\n" #~ msgid "Cannot open file" #~ msgstr "²»ÄÜ´ò¿ªÎļþ" #~ msgid "cannot open %s for writing\n" #~ msgstr "²»ÄÜ´ò¿ªÎļþ %s À´Ð´Èë\n" #~ msgid "(removetmp) directory too long to remove %s/sarg-period\n" #~ msgstr "(removetmp) Îļþ¼ÐÌ«³¤²»Äܱ»É¾³ý %s/sarg-period\n" #~ msgid "(removetmp) Cannot open file %s\n" #~ msgstr "(removetmp) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "Failed to close %s after writing the total line - %s\n" #~ msgstr "дÈëËùÓÐÐÐÖ®ºó¹Ø±Õ %s ʱʧ°Ü - %s\n" #~ msgid "(util) Cannot open file %s (exclude_codes)\n" #~ msgstr "(util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes)\n" #~ msgid "Failed to move till the end of the excluded codes file %s: %s\n" #~ msgstr "ÔÚÅųý´úÂëÎļþ֮ǰ²»ÄÜÒÆ¶¯¸ÃÎļþ %s: %s\n" #~ msgid "Failed to rewind the excluded codes file %s: %s\n" #~ msgstr "תÏòÅųý´úÂëÎļþʱʧ°Ü %s: %s\n" #~ msgid "The command %s failed\n" #~ msgstr "ÃüÁî %s ʧ°Ü\n" #~ msgid "directory name to delete too long: %s/%s\n" #~ msgstr "Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s\n" #~ msgid "cannot stat %s\n" #~ msgstr "²»ÄÜ¿ªÊ¼ %s\n" #, fuzzy #~ msgid "cannot stat \"%s\"\n" #~ msgstr "²»ÄÜ¿ªÊ¼ %s\n" #~ msgid "H" #~ msgstr "H" #, fuzzy #~ msgid "" #~ "SARG: Maybe you have a broken record or garbage in the names of the " #~ "months.\n" #~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n" #, fuzzy #~ msgid "" #~ "Maybe you have a broken record or garbage in the name of the months.\n" #~ msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n" #~ msgid "" #~ "\n" #~ "\tPlease donate to the sarg project:" #~ msgstr "" #~ "\n" #~ "\tÇë¾èÖúSargÏîÄ¿:" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "ɾ³ýÎļþʧ°Ü %s\n" #~ msgid "Report" #~ msgstr "±¨¸æ" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "ÒÆ³ýÎļþʧ°Ü %s\n" #~ msgid "Failed to delete the file %s\n" #~ msgstr "ɾ³ýÎļþʧ°Ü %s\n" #~ msgid "process aborted.\n" #~ msgstr "½ø³ÌÖÐÖ¹.\n" #~ msgid "cannot delete %s - %s\n" #~ msgstr " ²»ÄÜɾ³ý %s - %s\n" #~ msgid " -b Useragent log" #~ msgstr " -b Óû§´úÀíÈÕÖ¾" #~ msgid " -c Exclude file" #~ msgstr " -c ÅųýµÄÎļþ" #~ msgid " -n Resolve IP Address" #~ msgstr " -n ½âÎöIPµØÖ·" #~ msgid " -o Output dir" #~ msgstr " -o Êä³öĿ¼" #~ msgid " -t Time [HH, HH:MM]" #~ msgstr " -t ʱ¼ä[HH,HH:MM]" #~ msgid " -u User" #~ msgstr " -u Óû§" #~ msgid "URL too long in redirector log file %s\n" #~ msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÁ¬½Ó¹ý³¤ %s\n" #~ msgid "Temporary file name too long: %s/%s.htmp\n" #~ msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.htmp\n" #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "(report-1) ²»ÄÜ´ò¿ªÎļþ %s - %s\n" #~ msgid "Path too long %s/%s.htmp\n" #~ msgstr "·¾¶¹ý³¤ %s/%s.htmp\n" #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "(report-2)²»ÄÜ´ò¿ªÎļþ %s - %s\n" #~ msgid "pre-sorting files\n" #~ msgstr "Ô¤ÅÅÐòÎļþ\n" #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "ÎÞ·¨É¾³ýÁÙʱÎļþ %s - %s\n" #~ msgid "Cannot get the size of file %s" #~ msgstr "²»ÄÜ»ñÈ¡ÎļþµÄ´óС %s" #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "´íÎó: ²»ÄܼÓÔØ,´æÄÚ´íÎó" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "(html11) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "(html11) read error in %s\n" #~ msgstr "(html11) ¶ÁÈ¡´íÎóÔÚ %s\n" #~ msgid "IPv6 addresses are not supported (found in %s)\n" #~ msgstr "IPv6²»±»Ö§³Ö(found in %s)\n" #~ msgid "There is a broken record or garbage in your %s file\n" #~ msgstr "Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÄãµÄ %s ÎļþÖÐ\n" #~ msgid "Ignoring unknown user file %s\n" #~ msgstr "Ìø¹ýδ֪µÄÓû§Îļþ %s\n" #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "(html2) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "Unknown user ID %s in directory %s\n" #~ msgstr "δ֪µÄÓû§ID %s ÔÚĿ¼ %s\n" #~ msgid "Time period must be MM or MM:SS. Exit\n" #~ msgstr "ʱ¼äÇø¼ä±ØÐëΪ MM »òÕß MM:SS.Exit\n" #~ msgid "Path too long %s/%s.utmp\n" #~ msgstr "·¾¶¹ý³¤ %s/%s.utmp\n" #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "(totger) ²»ÄÜ´ò¿ªÎļþ %s\n" #~ msgid "Not enough memory to read the temporary file %s\n" #~ msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÁÙʱÎļþ %s\n" #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "ÒÆ¶¯µ½Ä©Î²Ê±Ê§°Ü %s - %s\n" #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "תÏòÎļþ¿ªÊ¼²¿·Öʱʧ°Ü %s: %s\n" #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "дÈëËùÓÐÐÐʱʧ°Ü%s - %s\n" #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "½Ø¶Ìʱʧ°Ü %s: %s\n" #~ msgid "Sort" #~ msgstr "ÅÅÐò" #, fuzzy #~ msgid "USER" #~ msgstr "Óû§" #~ msgid "SARG: MALICIUS CODE DETECTED.\n" #~ msgstr "SARG: MALICIUS ´úÂëÕì²âµ½d.\n" #~ msgid "" #~ "SARG: I think someone is trying to execute arbitrary code in your system " #~ "using sarg.\n" #~ msgstr "SARG: ÎÒÏëÓÐÈËÔÚ³¢ÊÔÖ´ÐÐÈÎÒâµÄ´úÂëÔÚÄãµÄϵͳÖÐʹÓÃsarg.\n" #~ msgid "" #~ "SARG: please review your access.log and/or your useragent.log file.\n" #~ msgstr "SARG: Çë²ì¿´access.log ºÍ/»ò useragent.log Îļþ.\n" #~ msgid "SARG: process stoped. No actions taken.\n" #~ msgstr "SARG: ½ø³ÌÖÐÖ¹.ûÓÐÖ´ÐÐ.\n" #~ msgid "temporary directory too long: %s/sarg\n" #~ msgstr "ÁÙʱÎļþ¼Ð¹ý³¤: %s/sarg\n" #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "(convlog) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #~ msgid "user name too long for %s/%s/graph_day.png\n" #~ msgstr "Óû§Ãû¹ý³¤ %s/%s/graph_day.png\n" #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÔ·Ý×Ö·û´®¹ý³¤ %s\n" #~ msgid "Day string too long in redirector log file %s\n" #~ msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÈÕÆÚ×Ö·û´®Ì«³¤ %s\n" #~ msgid "There is a broken rule in file %s\n" #~ msgstr "Óв»ÍêÕûµÄ¹æÔòÔÚÎļþ %s\n" #~ msgid "(authfail) read error in %s\n" #~ msgstr "(authfail) ¶ÃÈ¡´íÎó%s\n" #~ msgid "(dansguardian_report) read error in %s\n" #~ msgstr "£¨dansguardian_report£©%s¶ÃÈ¡´íÎó\n" #~ msgid "Decompressing log file: %s > %s/sarg/sarg-file.in (zcat)\n" #~ msgstr "" #~ "½âѹËõÈÕÖ¾ÎļþÖÃ: %s > %s/sarg/sarg-file.in (zcat)\n" #~ msgid "Decompressing log file: %s > %s/sarg/sarg-file.in (bzcat)\n" #~ msgstr "" #~ "½âѹËõÈÕÖ¾ÎļþÖÃ: %s > %s/sarg/sarg-file.in (bzcat)\n" #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "½âѹËõÈÕÖ¾ÎļþÖÃ: %s (uncompress)\n" #~ msgid "(denied) Cannot open file %s\n" #~ msgstr "£¨denied£©ÎÞ·¨´ò¿ªÎļþ %s\n" #~ msgid "(denied) read error in %s\n" #~ msgstr "£¨denied£©¶ÃÈ¡´íÎó %s\n" #~ msgid "(download) Cannot open file %s\n" #~ msgstr "£¨download£©ÎÞ·¨´ò¿ªÎļþ %s\n" #~ msgid "(download) read error in %s\n" #~ msgstr "£¨download£©¶ÃÈ¡´íÎó %s\n" #~ msgid "(email) read error in %s\n" #~ msgstr "£¨email£©¶ÃÈ¡´íÎó %s\n" #~ msgid "user name too long for %s/%s.graph\n" #~ msgstr "Óû§Ãû¹ý³¤¶ÔÓÚ %s/%s.graph\n" #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "£¨html1£©ÎÞ·¨´ò¿ªÎļþ %s\n" #~ msgid "(html1) read error in %s\n" #~ msgstr "(html1) ¶ÃÈ¡´íÎó´Ó %s\n" #~ msgid "IN" #~ msgstr "¶ÃÈë" #~ msgid "CACHE" #~ msgstr "»º´æ" #~ msgid "OUT" #~ msgstr "Êä³ö" #~ msgid "Maybe you have a broken number of access in your %s file\n" #~ msgstr "" #~ "´íÎóµÄì½ÓÊý¿ÉÄÜ´æÔÚÓÚÄãµÄ %sÎļþÖÃ\n" #~ msgid "Maybe you have a broken number of bytes in your %s file\n" #~ msgstr "" #~ "´íÎóµÄ×Ö½ÚÊý¿ÉÄÜ´æÔÚÓÚÄãµÄ %sÎļþÖÃ\n" #~ msgid "Maybe you have a broken status in your %s file\n" #~ msgstr "´íÎóµÄ״̬¿ÉÄÜ´æÔÚÓÚÄãµÄ %sÎļþÖÃ\n" #~ msgid "Maybe you have a broken in cache column in your %s file\n" #~ msgstr "" #~ "´íÎóµÄ¶ÃÈ뻺´æÃÿÉÄÜ´æÔÚÓÚÄãµÄ %sÎļþÖ" #~ "Ã\n" #~ msgid "Maybe you have a broken not in cache column in your %s file (%d)\n" #~ msgstr "" #~ "´íÎóµÄ·Ç¶ÃÈ뻺´æÃÿÃÄÜ´æÔÚÓÚÄãµÄ %sÎļ" #~ "þ(%d)\n" #~ msgid "Maybe you have a broken elapsed time in your %s file (%d)\n" #~ msgstr "" #~ "´íÎóµÄÃ÷ÊÅʱ¼ä¿ÉÄÜ´æÔÚÓÚÄãµÄ %sÎļþÖà " #~ "(%d)\n" #~ msgid "" #~ "SARG: The date range requested on the command line by option -d is " #~ "invalid.\n" #~ msgstr "" #~ "ʹÓòÎÊý-dÔÚÃüÃîÃÃÖÃÇëÇóµÄÈÕÆÚ·¶Î§ÎÞÃ" #~ "§.\n" #~ msgid "Maybe you have a broken date range definition.\n" #~ msgstr "¿ÉÄÜ´æÔÚ¶¨ÒåÈÕÆÚ·¶Î§Ë鯬.\n" #~ msgid "There is a broken quantity in file %s\n" #~ msgstr "ÎļþÖôæÔÚË鯬 %s\n" #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "£¨siteuser£©ÎÞ·¨´ò¿ªÎļþ %s\n" #~ msgid "(siteuser) read error in %s\n" #~ msgstr "£¨siteuser£©¶ÃÈ¡´íÎó %s\n" #~ msgid "(smartfilter) read error in %s\n" #~ msgstr "£¨smartfilter£©¶ÃÈ¡´íÎó %s\n" #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "¶ÃÈ¡squidGuardÈÕÖ¾ÎļþÖà %s\n" #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "£¨squidguard£©ÎÞ·¨´ò¿ªÎļþ %s\n" #~ msgid "(squidguard) read error in %s\n" #~ msgstr "£¨squidguard£©¶ÃÈ¡´íÎó %s\n" #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "£¨topsites£©ÎÞ·¨´ò¿ªÎļþ %s\n" #~ msgid "(topsites) read error in %s\n" #~ msgstr "£¨topsites£©¶ÃÈ¡´íÎó %s\n" #~ msgid "(topuser) Read error in %s\n" #~ msgstr "£¨topuser£©¶ÃÈ¡´íÎó %s\n" #~ msgid "squidGuard" #~ msgstr "squidGuard" #~ msgid "Making period file\n" #~ msgstr "ÖÆ×÷ÖÜÆÚÎļþÖà \n" #~ msgid "Output file name too long: %s/sarg-period\n" #~ msgstr "Êä³öÎļþÃû¹ý³¤£º%s/sarg-period\n" #~ msgid "Cannot open file %s for writing\n" #~ msgstr "ÎÞ·¨´ò¿ªÎļþ²¢Ã´Èë %s\n" #~ msgid "Failed to write the requested period in %s\n" #~ msgstr "ôÈëÇëÇóµÄÖÜÆÚʧ°Ü%s\n" #~ msgid "malloc error (1024)\n" #~ msgstr "¶¯Ì¬ÄÚ´æ·ÖÅä´íÎó£¨1024£©\n" sarg-2.3.11/realtime.c000066400000000000000000000224541324060677300145170ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" static int getdata(char*, FILE*); static void datashow(const char *); static void getlog(void); static void header(void); void realtime(void) { getlog(); } static void getlog(void) { FILE *tmp, *fp; char template1[255]="/var/tmp/sargtpl1.XXXXXX"; char template2[255]="/var/tmp/sargtpl2.XXXXXX"; char cmd[512]; char *buf; int fd1,fd2; int cstatus; longline line; init_usertab(UserTabFile); #ifdef HAVE_MKSTEMP fd2 = mkstemp(template2); if (fd2 == -1) { debuga(_("Cannot create a temporary file name to produce the report: %s\n"),strerror(errno)); exit(EXIT_FAILURE); } fd1 = mkstemp(template1); #else buf = mktemp(template2); if (buf[0]=='\0') { debuga(_("Cannot create a temporary file name to produce the report: %s\n"),strerror(errno)); exit(EXIT_FAILURE); } fd2 = -1; fd1 = open(mktemp(template1),O_RDWR); #endif if((fd1 == -1 ) || ((tmp = fdopen (fd1, "w+" )) == NULL) ) { /* failure, bail out */ debugapos("realtime",_("mkstemp error: %s\n"),strerror(errno)); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read the log file\n")); exit(EXIT_FAILURE); } sprintf(cmd,"tail -%d \"%s\"",realtime_access_log_lines,AccessLog[0]); fp = popen(cmd, "r"); if (!fp) { debuga(_("Failed to get the %d trailing lines of \"%s\": %s\n"),realtime_access_log_lines,AccessLog[0],strerror(errno)); debuga(_("Failed \"tail\" command: %s\n"),cmd); exit(EXIT_FAILURE); } while((buf=longline_read(fp,line)) != NULL ) if (getdata(buf,tmp)<0) { /* TRANSLATORS: The %s is the command returning the invalid data. */ debuga(_("Invalid data returned by %s\n"),cmd); exit(EXIT_FAILURE); } pclose(fp); fclose(tmp); longline_destroy(&line); if (fd2!=-1) close(fd2);//not safe at all but good enough for now. if (snprintf(cmd,sizeof(cmd),"sort -t \"\t\" -r -n -k 1,1 -o \"%s\" \"%s\"",template2,template1)>=sizeof(cmd)) { debuga(_("Command too long: ")); debuga_more("sort -t \"\t\" -r -n -k 1,1 -o \"%s\" \"%s\"",template2,template1); exit(EXIT_FAILURE); } cstatus=system(cmd); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),cmd); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(template1)) { debuga(_("Cannot delete \"%s\": %s\n"),template1,strerror(errno)); exit(EXIT_FAILURE); } datashow(template2); } static int getdata(char *rec, FILE *ftmp) { int dat; char typ[128]; char warea[MAXLEN]; char user[MAX_USER_LEN]; char ip[45]; char *url; struct getwordstruct gwarea; getword_start(&gwarea,rec); if (getword_atoi(&dat,&gwarea,'.')<0) { debuga(_("The time stamp at column 1 is too long\n")); return(-1); } if (getword_skip(10,&gwarea,' ')<0) { debuga(_("The time stamp decimal part at column 1 is too long\n")); return(-1); } if (getword(warea,sizeof(warea),&gwarea,' ')<0) { debuga(_("The connection duration at column 2 is too long\n")); return(-1); } while(strcmp(warea,"") == 0 && gwarea.current[0] != '\0') if (getword(warea,sizeof(warea),&gwarea,' ')<0) { return(-1); } if (getword(ip,sizeof(ip),&gwarea,' ')<0) { debuga(_("The IP address at column 3 is too long\n")); return(-1); } if (getword_skip(MAXLEN,&gwarea,' ')<0) { debuga(_("The status at column 4 is too long\n")); return(-1); } if (getword_skip(MAXLEN,&gwarea,' ')<0) { debuga(_("The size at column 5 is too long\n")); return(-1); } if (getword(typ,sizeof(typ),&gwarea,' ')<0) { debuga(_("The action at column 6 is too long\n")); return(-1); } if(strncmp(typ,"CONNECT",7) == 0) { if (getword_ptr(rec,&url,&gwarea,' ')<0) { debuga(_("The URL at column 7 is too long\n")); return(-1); } if (getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("The user ID at column 8 is too long\n")); return(-1); } }else { if (getword_skip(MAXLEN,&gwarea,'/')<0) { debuga(_("The URL at column 7 is too long\n")); return(-1); } if (getword_skip(MAXLEN,&gwarea,'/')<0) { debuga(_("The URL at column 7 is too long\n")); return(-1); } if (getword_ptr(rec,&url,&gwarea,'/')<0) { debuga(_("The URL at column 7 is too long\n")); return(-1); } if (getword_skip(MAXLEN,&gwarea,' ')<0) { debuga(_("The data at column 8 is too long\n")); return(-1); } if (getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("The user at column 9 is too long\n")); return(-1); } } if(strncmp(user,"-",1) == 0 && RealtimeUnauthRec==REALTIME_UNAUTH_REC_IGNORE) return(0); fprintf(ftmp,"%d\t%s\t%s\t%s\t%s\n",dat,ip,user,url,typ); return(0); } static void datashow(const char *tmp) { FILE *fin; time_t tt; struct tm *t; char tbuf[128]; int dat; char *buf; char *url; char *ourl=NULL; char ouser[MAX_USER_LEN]=""; char typ[128]; char user[MAX_USER_LEN]; char u2[MAX_USER_LEN]; char ip[45]; int url_len; int ourl_size=0; struct getwordstruct gwarea; longline line; if((fin=fopen(tmp,"r"))==NULL) { debugapos("realtime",_("Cannot open file \"%s\": %s\n"),tmp,strerror(errno)); exit(EXIT_FAILURE); } header(); if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read the log file\n")); exit(EXIT_FAILURE); } while((buf=longline_read(fin,line))!=NULL) { fixendofline(buf); getword_start(&gwarea,buf); if (getword_atoi(&dat,&gwarea,'\t')<0) { debuga(_("Invalid time column in file %s\n"),tmp); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid IP address in file \"%s\"\n"),tmp); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("Invalid user in file \"%s\"\n"),tmp); exit(EXIT_FAILURE); } if (strlen(user) < 1) continue; if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),tmp); exit(EXIT_FAILURE); } if (getword(typ,sizeof(typ),&gwarea,'\t')<0) { debuga(_("Invalid access type in file \"%s\"\n"),tmp); exit(EXIT_FAILURE); } if(strstr(RealtimeTypes,typ) == 0) continue; if(strcmp(ouser,user) == 0 && ourl && strcmp(ourl,url) == 0) continue; if(UserIp) strcpy(user,ip); strcpy(u2,user); if(Ip2Name) ip2name(u2,sizeof(u2)); user_find(name, sizeof(name), u2); tt=(time_t)dat; t=localtime(&tt); if(DateFormat[0]=='u') strftime(tbuf, sizeof(tbuf), "%Y-%m-%d %H:%M", t); else if(DateFormat[0]=='e') strftime(tbuf, sizeof(tbuf), "%d-%m-%Y %H:%M", t); printf("%s%s%s%s%s\n",tbuf,ip,name,typ,url,url); strcpy(ouser,user); url_len=strlen(url); if (!ourl || url_len>=ourl_size) { ourl_size=url_len+1; ourl=realloc(ourl,ourl_size); if (!ourl) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(ourl,url); } longline_destroy(&line); if (ourl) free(ourl); puts("\n\n\n\n"); fclose(fin); if (!KeepTempLog && unlink(tmp)) { debuga(_("Cannot delete \"%s\": %s\n"),tmp,strerror(errno)); exit(EXIT_FAILURE); } fflush(NULL); } static void header(void) { puts("\n"); puts("\n"); puts("\n"); if(realtime_refresh) printf(" \n",realtime_refresh,CharSet); else printf(" \n",CharSet); css(stdout); puts("\n"); printf("\n",FontFace,TitleFontSize,BgColor,BgImage); puts("
\n"); printf("\n",_("Realtime")); printf("\n",_("Auto refresh"),realtime_refresh); printf("\n",_("DATE/TIME"),_("IP/NAME"),_("USERID"),_("TYPE"),_("ACCESSED SITE")); } sarg-2.3.11/redirector.c000066400000000000000000000426611324060677300150610ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" static char **files_done = NULL; static int nfiles_done = 0; //! The number of invalid lines found in the redirector report. static int RedirectorErrors=0; //! Name of the sorted report. static char redirector_sorted[MAXLEN]=""; static void parse_log(FILE *fp_ou,char *buf) { char leks[5], sep[2], res[MAXLEN]; char hour[15]; char source[128], list[128]; char full_url[MAX_URL_LEN]; const char *url; char user[MAX_USER_LEN]; char ip[45]; long long int lmon, lday, lyear; int mon, day, year; int idata=0; bool id_is_ip; struct getwordstruct gwarea; struct getwordstruct gwarea1; struct userinfostruct *uinfo; getword_start(&gwarea,buf); if(RedirectorLogFormat[0] != '\0') { getword_start(&gwarea1,RedirectorLogFormat); leks[0]='\0'; if (getword(leks,sizeof(leks),&gwarea1,'#')<0) { debuga(_("Invalid \"redirector_log_format\" option in your sarg.conf (too many characters before first tag)\n")); exit(EXIT_FAILURE); } year=0; mon=0; day=0; hour[0]='\0'; source[0]='\0'; list[0]='\0'; ip[0]='\0'; user[0]='\0'; full_url[0]='\0'; while(strcmp(leks,"end") != 0) { if (getword(leks,sizeof(leks),&gwarea1,'#')<0) { debuga(_("Invalid \"redirector_log_format\" option in your sarg.conf (missing # at end of tag)\n")); exit(EXIT_FAILURE); } if (getword(sep,sizeof(sep),&gwarea1,'#')<0) { debuga(_("Invalid \"redirector_log_format\" option in your sarg.conf (too many characters in column separator)\n")); exit(EXIT_FAILURE); } if(strcmp(leks,"end") != 0) { if (getword_limit(res,sizeof(res),&gwarea,sep[0])<0) { debuga(_("Parsing of tag \"%s\" in redirector log \"%s\" returned no result\n"),leks,wentp); RedirectorErrors++; return; } if(strcmp(leks,"year") == 0) { year=atoi(res); } else if(strcmp(leks,"mon") == 0) { mon=atoi(res); } else if(strcmp(leks,"day") == 0) { day=atoi(res); } else if(strcmp(leks,"hour") == 0) { if (strlen(res)>=sizeof(hour)) { debuga(_("Hour string too long in redirector log file %s\n"),wentp); RedirectorErrors++; return; } strcpy(hour,res); } else if(strcmp(leks,"source") == 0) { if (strlen(res)>=sizeof(source)) { debuga(_("Banning source name too long in redirector log file %s\n"),wentp); RedirectorErrors++; return; } strcpy(source,res); } else if(strcmp(leks,"list") == 0) { if (strlen(res)>=sizeof(list)) { debuga(_("Banning list name too long in redirector log file %s\n"),wentp); RedirectorErrors++; return; } strcpy(list,res); } else if(strcmp(leks,"ip") == 0) { if (strlen(res)>=sizeof(ip)) { debuga(_("IP address too long in redirector log file %s\n"),wentp); RedirectorErrors++; return; } strcpy(ip,res); } else if(strcmp(leks,"user") == 0) { if (strlen(res)>=sizeof(user)) { debuga(_("User ID too long in redirector log file \"%s\"\n"),wentp); RedirectorErrors++; return; } strcpy(user,res); } else if(strcmp(leks,"url") == 0) { /* * Don't worry about the url being truncated as we only keep the host name * any way... */ safe_strcpy(full_url,res,sizeof(full_url)); } } } } else { if (getword_atoll(&lyear,&gwarea,'-')<0 || getword_atoll(&lmon,&gwarea,'-')<0 || getword_atoll(&lday,&gwarea,' ')<0) { debuga(_("Invalid date in file \"%s\"\n"),wentp); RedirectorErrors++; return; } year=(int)lyear; mon=(int)lmon; day=(int)lday; if (getword(hour,sizeof(hour),&gwarea,' ')<0) { debuga(_("Invalid time in file \"%s\"\n"),wentp); RedirectorErrors++; return; } if (getword_skip(MAXLEN,&gwarea,'(')<0 || getword(source,sizeof(source),&gwarea,'/')<0) { debuga(_("Invalid redirected source in file %s\n"),wentp); RedirectorErrors++; return; } if (getword(list,sizeof(list),&gwarea,'/')<0) { debuga(_("Invalid redirected list in file \"%s\"\n"),wentp); RedirectorErrors++; return; } if (getword_skip(MAXLEN,&gwarea,' ')<0 || getword_limit(full_url,sizeof(full_url),&gwarea,' ')<0) { debuga(_("Invalid url in file \"%s\"\n"),wentp); RedirectorErrors++; return; } if (getword(ip,sizeof(ip),&gwarea,'/')<0) { debuga(_("Invalid source IP in file \"%s\"\n"),wentp); RedirectorErrors++; return; } if (getword_skip(MAXLEN,&gwarea,' ')<0 || getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("Invalid user in file \"%s\"\n"),wentp); RedirectorErrors++; return; } } url=process_url(full_url,false); //sprintf(warea,"%04d%02d%02d",year,mon,day); if(RedirectorFilterOutDate) { idata = year*10000+mon*100+day; if(idata < dfrom || idata > duntil) return; } if(UserIp) { strcpy(user,ip); id_is_ip=true; } else { id_is_ip=false; if(strcmp(user,"-") == 0 || strcmp(user," ") == 0 || strcmp(user,"") == 0) { if(RecordsWithoutUser == RECORDWITHOUTUSER_IP) { strcpy(user,ip); id_is_ip=true; } if(RecordsWithoutUser == RECORDWITHOUTUSER_IGNORE) return; if(RecordsWithoutUser == RECORDWITHOUTUSER_EVERYBODY) strcpy(user,"everybody"); } } uinfo=userinfo_find_from_id(user); if (!uinfo) { uinfo=userinfo_create(user,ip); uinfo->id_is_ip=id_is_ip; uinfo->no_report=true; if(Ip2Name && id_is_ip) ip2name(user,sizeof(user)); user_find(uinfo->label,MAX_USER_LEN, user); } fprintf(fp_ou,"%s\t%04d%02d%02d\t%s\t%s\t%s\t",uinfo->id,year,mon,day,hour,ip,url); if (source[0] && list[0]) fprintf(fp_ou,"%s/%s\n",source,list); else if (source[0]) fprintf(fp_ou,"%s\n",source); else fprintf(fp_ou,"%s\n",list); redirector_count++; } static void read_log(const char *wentp, FILE *fp_ou,int dfrom,int duntil) { FILE *fp_in = NULL; char *buf; int i; longline line; if(debug) { debuga(_("Reading redirector log file \"%s\"\n"),wentp); } /* With squidGuard, you can log groups in only one log file. We must parse each log files only one time. Example : dest porn { domainlist porn/domains urllist porn/urls log file1.log } dest aggressive { domainlist aggressive/domains urllist aggressive/urls log file2.log } dest audio-video { domainlist audio-video/domains urllist audio-video/urls log file1.log } */ for (i=0; i0) { for (i=0 ; i=0 && (unsigned char)str[y]<=' ' ; y--); if (y>=sizeof(logdir)-1) y=sizeof(logdir)-2; logdir[y+1] = '\0'; while (y>=0) { logdir[y] = str[y]; y--; } } else if((str=get_param_value("log",buf))!=NULL) { if((str2=get_param_value("anonymous",str))!=NULL) str=str2; /* If logdir is defined, we prepend it to the log file name, otherwise, we assume the log directive provides an absolute file name to the log file. Therefore, we don't need to add an additionnal / at the beginning of the log file name. */ y=(logdir[0]) ? sprintf(wentp,"%s/",logdir) : 0; /* Spaces are allowed in the name of the log file. The file name ends at the first # because it is assumed it is an end of line comment. Any space before the # is then removed. Any control character (i.e. a character with a code lower than 32) ends the file name. That includes the terminating zero. */ while((unsigned char)*str>=' ' && *str!='#' && y0) { str--; y--; } } wentp[y]=0; read_log(wentp,fp_ou,dfrom,duntil); } } } if (fp_guard) fclose(fp_guard); if (fp_ou) fclose(fp_ou); if (files_done) { for (y=0; y=sizeof(tmp6)) { debuga(_("Command too long: ")); debuga_more("sort -t \"\t\" -k 1,1 -k 2,2 -k 4,4 \"%s\" -o \"%s\"",guard_in, redirector_sorted); exit(EXIT_FAILURE); } cstatus=system(tmp6); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),tmp6); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(guard_in)) { debuga(_("Cannot delete \"%s\": %s\n"),guard_in,strerror(errno)); exit(EXIT_FAILURE); } return; } static void show_ignored_redirector(FILE *fp_ou,int count) { char ignored[80]; snprintf(ignored,sizeof(ignored),ngettext("%d more redirector entry not shown here…","%d more redirector entries not shown here…",count),count); fprintf(fp_ou,"\n",ignored); } void redirector_report(void) { FILE *fp_in = NULL, *fp_ou = NULL; char *buf; char *url; char report[MAXLEN]; char ip[45]; char rule[255]; char oip[45]; char user[MAXLEN]; char ouser[MAXLEN]; char data[15]; char hora[15]; char ouser2[255]; char oname[MAXLEN]; bool z=false; int count=0; long long int data2; bool new_user; struct getwordstruct gwarea; const struct userinfostruct *uinfo; struct tm t; longline line; ouser[0]='\0'; ouser2[0]='\0'; if(!redirector_count) { if (!KeepTempLog && redirector_sorted[0]!='\0' && unlink(redirector_sorted)) debuga(_("Cannot delete \"%s\": %s\n"),redirector_sorted,strerror(errno)); if (debugz) debugaz(_("Redirector report not generated because it is empty\n")); return; } snprintf(report,sizeof(report),"%s/redirector.html",outdirname); if((fp_in=fopen(redirector_sorted,"r"))==NULL) { debugapos("squidguard",_("Cannot open file \"%s\": %s\n"),redirector_sorted,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=fopen(report,"w"))==NULL) { debugapos("squidguard",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 3 : 1,_("Redirector report"),HTML_JS_NONE); fputs("\n",fp_ou); fprintf(fp_ou,"\n",_("Redirector report")); close_html_header(fp_ou); fputs("
SARG %s
%s: %d s
%s%s%s%s%s
%s
",fp_ou); fprintf(fp_ou,_("Period: %s"),period.html); fputs("
%s
\n",fp_ou); fprintf(fp_ou,"\n",_("USERID"),_("IP/NAME"),_("DATE/TIME"),_("ACCESSED SITE"),_("RULE")); while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("Invalid user found in file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword_atoll(&data2,&gwarea,'\t')<0) { debuga(_("Invalid date in file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword(hora,sizeof(hora),&gwarea,'\t')<0) { debuga(_("Invalid time in file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Invalid IP address in file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Invalid url in file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } if (getword(rule,sizeof(rule),&gwarea,'\n')<0) { debuga(_("Invalid rule in file \"%s\"\n"),redirector_sorted); exit(EXIT_FAILURE); } uinfo=userinfo_find_from_id(user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),user,redirector_sorted); exit(EXIT_FAILURE); } computedate(data2/10000,(data2/100)%10,data2%100,&t); strftime(data,sizeof(data),"%x",&t); new_user=false; if(!z) { strcpy(ouser,user); strcpy(oip,ip); strcpy(oname,ip); if (Ip2Name && !uinfo->id_is_ip) ip2name(oname,sizeof(oname)); z=true; new_user=true; } else { if(strcmp(ouser,user) != 0) { strcpy(ouser,user); new_user=true; } if(strcmp(oip,ip) != 0) { strcpy(oip,ip); strcpy(oname,ip); if (Ip2Name && !uinfo->id_is_ip) ip2name(oname,sizeof(oname)); new_user=true; } } if(SquidGuardReportLimit) { if(strcmp(ouser2,uinfo->label) == 0) { count++; } else { if(count>SquidGuardReportLimit && SquidGuardReportLimit>0) show_ignored_redirector(fp_ou,count-SquidGuardReportLimit); count=1; strcpy(ouser2,uinfo->label); } if(count > SquidGuardReportLimit) continue; } if (new_user) fprintf(fp_ou,"",uinfo->label,ip); else fputs("",fp_ou); fprintf(fp_ou,"\n",rule); } fclose(fp_in); longline_destroy(&line); if(count>SquidGuardReportLimit && SquidGuardReportLimit>0) show_ignored_redirector(fp_ou,count-SquidGuardReportLimit); fputs("
%s%s%s%s%s
%s%s
%s-%s",data,hora); output_html_link(fp_ou,url,100); fprintf(fp_ou,"%s
\n",fp_ou); if (RedirectorErrors>0) { fputs("
",fp_ou); fprintf(fp_ou,ngettext("%d error found in the log file. Some entries may be missing.","%d errors found in the log file. Some entries may be missing.",RedirectorErrors),RedirectorErrors); fputs("
\n",fp_ou); } fputs("
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),report); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),report,strerror(errno)); if (!KeepTempLog && unlink(redirector_sorted)) { debuga(_("Cannot delete \"%s\": %s\n"),redirector_sorted,strerror(errno)); exit(EXIT_FAILURE); } return; } sarg-2.3.11/repday.c000066400000000000000000000202041324060677300141700ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" extern numlist hours; void report_day(const struct userinfostruct *uinfo) { FILE *fp_in, *fp_ou; char buf[200]; char data[20]; long long int hour; const char *label; char arqout[MAXLEN]; char wdirname[2048]; char colsep; int ihour=0; int day,month,year; int daylist[MAX_DATETIME_DAYS]; int daysort[MAX_DATETIME_DAYS]; int ndaylist; int daynum; int dayidx; long long int bytes; long long int elap; long long int tbytes[MAX_DATETIME_DAYS*24]; long long int telap[MAX_DATETIME_DAYS*24]; long long int tt; long long int tttime[24]; int i, j; struct getwordstruct gwarea; struct tm t; snprintf(wdirname,sizeof(wdirname),"%s/%s.day",tmp,uinfo->filename); if(access(wdirname, R_OK) != 0) return; if (snprintf(arqout,sizeof(arqout),"%s/%s/d%s.html",outdirname,uinfo->filename,uinfo->filename)>=sizeof(arqout)) { debuga(_("Path too long: ")); debuga_more("%s/%s/d%s.html\n",outdirname,uinfo->filename,uinfo->filename); exit(EXIT_FAILURE); } if((fp_in=fopen(wdirname,"r"))==NULL) { debugapos("repday",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } memset(tbytes,0,sizeof(tbytes)); memset(telap,0,sizeof(telap)); ndaylist=0; while(fgets(buf,sizeof(buf),fp_in)!=NULL) { fixendofline(buf); getword_start(&gwarea,buf); if (getword(data,sizeof(data),&gwarea,'\t')<0) { debuga(_("Invalid date in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } if (sscanf(data,"%d/%d/%d",&day,&month,&year)!=3) continue; if (day<1 || day>31 || month<1 || month>12 || year>9999) continue; daynum=(year*10000)+(month*100)+day; for (dayidx=0 ; dayidx=ndaylist) { if (dayidx>=sizeof(daylist)/sizeof(*daylist)) { debuga(_("Too many different dates in \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } daylist[ndaylist++]=daynum; } if (getword_atoll(&hour,&gwarea,'\t')<0) { debuga(_("Invalid time in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } ihour=(int)hour; i=dayidx*24+ihour; if ((datetimeby & DATETIME_BYTE)!=0) { colsep=((datetimeby & DATETIME_ELAP)!=0) ? '\t' : '\0'; if (getword_atoll(&bytes,&gwarea,colsep)<0) { debuga(_("Invalid number of bytes in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } tbytes[i]+=bytes; } if ((datetimeby & DATETIME_ELAP)!=0) { if (getword_atoll(&elap,&gwarea,'\0')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),wdirname); exit(EXIT_FAILURE); } telap[i]+=elap; } } fclose(fp_in); if((fp_ou=fopen(arqout,"w"))==NULL) { debugapos("repday",_("Cannot open file \"%s\": %s\n"),arqout,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 4 : 2,_("Day report"),HTML_JS_NONE); fprintf(fp_ou,"%s: %s\n",_("Period"),period.html); fprintf(fp_ou,"%s: %s\n",_("User"),uinfo->label); close_html_header(fp_ou); dayidx=0; for (i=0 ; i0 && daynum\n", fp_ou); fputs("",fp_ou); for( i = 0; i < hours.len; i++ ) { /* TRANSLATORS: It is an hour in the hourly report */ sprintf(data,_("%02dH"),hours.list[ i ]); fprintf(fp_ou, "%s
%s\n", data, label ); } fprintf(fp_ou, "%s
%s\n", _("TOTAL"), label ); memset(tttime,0,sizeof(tttime)); for (dayidx=0 ; dayidx%s\n", data ); tt=0; for( i = 0; i < hours.len; i++ ) { ihour=hours.list[i]; if (tbytes[daynum*24+ihour]>0) { fprintf(fp_ou, "%s\n",fixnum(tbytes[daynum*24+ihour],1)); tt+=tbytes[daynum*24+ihour]; tttime[ihour]+=tbytes[daynum*24+ihour]; } else fputs("\n",fp_ou); } fprintf(fp_ou, "%s\n",fixnum(tt,1)); } fprintf(fp_ou, "%s\n", _("TOTAL") ); tt=0; for( i = 0; i < hours.len; i++ ) { if (tttime[i]>0) { fprintf(fp_ou, "%s\n",fixnum(tttime[i],1)); tt+=tttime[i]; } else fputs("\n",fp_ou); } fprintf(fp_ou, "%s\n",fixnum(tt,1)); fputs("\n",fp_ou); #ifdef ENABLE_DOUBLE_CHECK_DATA if (tt!=uinfo->nbytes) { debuga(_("Total downloaded bytes is %"PRIi64" instead of %"PRIi64" in the hourly report of user %s\n"), (int64_t)tt,(int64_t)uinfo->nbytes,uinfo->label); exit(EXIT_FAILURE); } #endif } if((datetimeby & DATETIME_ELAP)!=0) { label=_("H:M:S"); fputs("\n", fp_ou); fputs("",fp_ou); for( i = 0; i < hours.len; i++ ) { sprintf(data,_("%02dH"),hours.list[ i ]); fprintf(fp_ou, "\n", data, label ); } fprintf(fp_ou, "\n", _("TOTAL"), label ); memset(tttime,0,sizeof(tttime)); for (dayidx=0 ; dayidx\n", data ); tt=0; for( i = 0; i < hours.len; i++ ) { ihour=hours.list[i]; if (telap[daynum*24+ihour]>0) { fprintf(fp_ou, "\n",fixtime(telap[daynum*24+ihour])); tt+=telap[daynum*24+ihour]; tttime[ihour]+=telap[daynum*24+ihour]; } else fputs("\n",fp_ou); } fprintf(fp_ou, "\n",fixtime(tt)); } fprintf(fp_ou, "\n", _("TOTAL") ); tt=0; for( i = 0; i < hours.len; i++ ) { if (tttime[i]>0) { fprintf(fp_ou, "\n",fixtime(tttime[i])); tt+=tttime[i]; } else fputs("\n",fp_ou); } fprintf(fp_ou, "\n",fixtime(tt)); fputs("
%s
%s
%s
%s
%s%s%s
%s%s%s
\n",fp_ou); #ifdef ENABLE_DOUBLE_CHECK_DATA if (tt!=uinfo->elap) { debuga(_("Total elapsed time is %"PRIi64" instead of %"PRIi64" in the hourly report of user %s\n"), (int64_t)tt,(int64_t)uinfo->elap,uinfo->label); exit(EXIT_FAILURE); } #endif } if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),arqout); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),arqout,strerror(errno)); return; } sarg-2.3.11/report.c000066400000000000000000000533321324060677300142270ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" //! The global statistics of the whole log read. struct globalstatstruct globstat; static FILE *fp_tt=NULL; static FILE *maketmp(const char *user, const char *dirname, int debug); static void gravatmp(FILE *fp_ou, const char *oldurl, long long int nacc, long long int nbytes, const char *oldmsg, long long int nelap, long long int incache, long long int oucache); static void gravaporuser(const struct userinfostruct *uinfo, const char *dirname, const char *url, const char *ip, const char *data, const char *hora, long long int tam, long long int elap); static void gravager(FILE *fp_gen,const char *filename, const struct userinfostruct *uinfo, long long int nacc, const char *url, long long int nbytes, const char *ip, const char *hora, const char *dia, long long int nelap, long long int incache, long long int oucache); static void grava_SmartFilter(const char *dirname, const char *user, const char *ip, const char *data, const char *hora, const char *url, const char *smart); void gerarel(void) { FILE *fp_in; FILE *fp_gen; FILE *fp_tmp=NULL; char *buf; char accdia[11], acchora[9], accip[MAXLEN], *accurl; char oldaccdia[11], oldacchora[9], oldaccip[MAXLEN]; char wdirname[MAXLEN]; char *oldurl=NULL; char oldmsg[50], acccode[MAXLEN/2 - 1], oldacccode[MAXLEN/2 - 1]; char ipantes[MAXLEN], nameantes[MAXLEN]; char accsmart[MAXLEN]; char crc2[MAXLEN/2 -1]; char siteind[MAX_TRUNCATED_URL]; char arqtt[256]; char *oldurltt=NULL; char oldaccdiatt[11],oldacchoratt[9]; char tmp3[MAXLEN]; char u2[MAX_USER_LEN]; long long int nbytes=0; long long int nelap=0; long long int nacc=0; long long int incache=0; long long int oucache=0; long long int accbytes, accelap; char *str; userscan uscan; const char *sort_field; const char *sort_order; const char *user; int url_len; int ourl_size=0; int ourltt_size=0; int same_url; bool new_user; struct getwordstruct gwarea; longline line; struct userinfostruct *uinfo; DayObject daystat; ipantes[0]='\0'; smartfilter=0; memset(&globstat,0,sizeof(globstat)); if (vrfydir(&period, addr, site, us, email)<0) { debuga(_("Cannot create the output directory name containing the period as part of the name\n")); exit(EXIT_FAILURE); } if(debugz){ debugaz(_("Report output directory name=%s\n"),outdirname); } if(UserAgentLog[0] != '\0' && email[0] == '\0') useragent(); snprintf(wdirname,sizeof(wdirname),"%s/sarg-general",outdirname); if((fp_gen=MY_FOPEN(wdirname,"w"))==NULL){ debugapos("report",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } fp_tt=NULL; sort_labels(&sort_field,&sort_order); if (indexonly || datetimeby==0) daystat=NULL; else daystat=day_prepare(); uscan=userinfo_startscan(); if (uscan == NULL) { debuga(_("Cannot enumerate the user list\n")); exit(EXIT_FAILURE); } while ((uinfo = userinfo_advancescan(uscan)) != NULL ) { sort_users_log(tmp,debug,uinfo); if (snprintf(tmp3,sizeof(tmp3),"%s/%s.user_log",tmp,uinfo->filename)>=sizeof(tmp3)) { debugapos("report",_("Path too long: ")); debuga_more("%s/%s.user_log\n",tmp,uinfo->filename); exit(EXIT_FAILURE); } if((fp_in=MY_FOPEN(tmp3,"r"))==NULL){ debugapos("report",_("Cannot open file \"%s\": %s\n"),tmp,strerror(errno)); exit(EXIT_FAILURE); } user=uinfo->filename; day_newuser(daystat); strcpy(u2,uinfo->id); if(Ip2Name && uinfo->id_is_ip) { strcpy(ipantes,u2); ip2name(u2,sizeof(u2)); strcpy(nameantes,u2); } user_find(uinfo->label,MAX_USER_LEN, u2); if (!indexonly) { fp_tmp=maketmp(user,tmp,debug); } ttopen=0; oldurl=NULL; oldurltt=NULL; ourltt_size=0; memset(oldaccdiatt,0,sizeof(oldaccdiatt)); memset(oldacchoratt,0,sizeof(oldacchoratt)); new_user=true; nacc=0; nbytes=0; nelap=0; incache=0; oucache=0; if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { getword_start(&gwarea,buf); if (getword(accdia,sizeof(accdia),&gwarea,'\t')<0 || getword(acchora,sizeof(acchora),&gwarea,'\t')<0 || getword(accip,sizeof(accip),&gwarea,'\t')<0 || getword_ptr(buf,&accurl,&gwarea,'\t')<0 || getword_atoll(&accbytes,&gwarea,'\t')<0 || getword(acccode,sizeof(acccode),&gwarea,'\t')<0) { debuga(_("Invalid record in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if(strncmp(acccode,"TCP_DENIED/407",14) == 0) continue; if (getword_atoll(&accelap,&gwarea,'\t')<0) { debuga(_("Invalid elapsed time in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if (getword_skip(20000,&gwarea,'"')<0 || getword(accsmart,sizeof(accsmart),&gwarea,'"')<0) { debuga(_("Invalid smart info in file \"%s\"\n"),tmp3); exit(EXIT_FAILURE); } if(accsmart[0] != '\0') { smartfilter++; grava_SmartFilter(tmp,uinfo->id,accip,accdia,acchora,accurl,accsmart); } if(Ip2Name) { if(strcmp(accip,ipantes) != 0) { strcpy(ipantes,accip); ip2name(accip,sizeof(accip)); strcpy(nameantes,accip); } else strcpy(accip,nameantes); } if (!indexonly) { day_addpoint(daystat,accdia,acchora,accelap,accbytes); if (iprel) gravaporuser(uinfo,outdirname,accurl,accip,accdia,acchora,accbytes,accelap); } if(new_user){ url_len=strlen(accurl); if (!oldurl || url_len>=ourl_size) { ourl_size=url_len+1; oldurl=realloc(oldurl,ourl_size); if (!oldurl) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(oldurl,accurl); strcpy(oldacccode,acccode); strcpy(oldaccip,accip); strcpy(oldaccdia,accdia); strcpy(oldacchora,acchora); new_user=false; } same_url=(strcmp(oldurl,accurl) == 0); if(site[0] == '\0') { if(!same_url){ if(strstr(oldacccode,"DENIED") != 0) strcpy(oldmsg,"DENIED"); else strcpy(oldmsg,"OK"); if (fp_tmp) gravatmp(fp_tmp,oldurl,nacc,nbytes,oldmsg,nelap,incache,oucache); gravager(fp_gen,wdirname,uinfo,nacc,oldurl,nbytes,oldaccip,oldacchora,oldaccdia,nelap,incache,oucache); nacc=0; nbytes=0; nelap=0; incache=0; oucache=0; } } nacc++; nbytes+=accbytes; nelap+=accelap; if ((ReportType & REPORT_TYPE_SITE_USER_TIME_DATE) != 0 && !indexonly && (!oldurltt || strcmp(oldurltt,accurl) || strcmp(oldaccdiatt,accdia) || strcmp(oldacchoratt,acchora))) { if(!ttopen) { snprintf(arqtt,sizeof(arqtt),"%s/%s",outdirname,uinfo->filename); if(access(arqtt, R_OK) != 0) my_mkdir(arqtt); url_to_file(accurl,siteind,sizeof(siteind)); snprintf(arqtt,sizeof(arqtt),"%s/%s/tt%s-%s.html",outdirname,uinfo->filename,uinfo->filename,siteind); if ((fp_tt = fopen(arqtt, "w")) == 0) { debugapos("report",_("Cannot open file \"%s\": %s\n"),arqtt,strerror(errno)); exit(EXIT_FAILURE); } ttopen=1; /* if(Privacy) sprintf(httplink,"%s",FontSize,PrivacyStringColor,PrivacyString,PrivacyString); else sprintf(httplink,"
%s",FontSize,accurl,accurl); */ write_html_header(fp_tt,(IndexTree == INDEX_TREE_DATE) ? 4 : 2,_("Site access report"),HTML_JS_NONE); fprintf(fp_tt,"%s: %s\n",_("Period"),period.html); fprintf(fp_tt,"%s: %s\n",_("User"),uinfo->label); fputs("",fp_tt); fprintf(fp_tt,_("Sort: %s, %s"),sort_field,sort_order); fputs("\n",fp_tt); fprintf(fp_tt,"%s\n",_("User")); close_html_header(fp_tt); fputs("
\n",fp_tt); fprintf(fp_tt,"\n",_("ACCESSED SITE"),_("DATE"),_("TIME")); } fputs("\n",accdia,acchora); url_len=strlen(accurl); if (!oldurltt || url_len>=ourltt_size) { ourltt_size=url_len+1; oldurltt=realloc(oldurltt,ourltt_size); if (!oldurltt) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(oldurltt,accurl); strcpy(oldaccdiatt,accdia); strcpy(oldacchoratt,acchora); } strcpy(crc2,acccode); str=strchr(crc2,'/'); if (str) *str='\0'; if(strstr(crc2,"MISS") != 0) oucache+=accbytes; else incache+=accbytes; strcpy(oldacccode,acccode); strcpy(oldaccip,accip); if (!same_url) { url_len=strlen(accurl); if (url_len>=ourl_size) { ourl_size=url_len+1; oldurl=realloc(oldurl,ourl_size); if (!oldurl) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(oldurl,accurl); } strcpy(oldaccdia,accdia); strcpy(oldacchora,acchora); } fclose(fp_in); longline_destroy(&line); if (oldurltt) free(oldurltt); if (oldurl) { if(strstr(oldacccode,"DENIED") != 0) strcpy(oldmsg,"DENIED"); else strcpy(oldmsg,"OK"); if (fp_tmp) gravatmp(fp_tmp,oldurl,nacc,nbytes,oldmsg,nelap,incache,oucache); gravager(fp_gen,wdirname,uinfo,nacc,oldurl,nbytes,oldaccip,oldacchora,oldaccdia,nelap,incache,oucache); free(oldurl); oldurl=NULL; } if(!new_user) { day_totalize(daystat,tmp,uinfo); } if (fp_tmp) { if (fclose(fp_tmp)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),uinfo->filename,strerror(errno)); fp_tmp=NULL; } if (!KeepTempLog && unlink(tmp3)) { debuga(_("Cannot delete \"%s\": %s\n"),tmp3,strerror(errno)); exit(EXIT_FAILURE); } } userinfo_stopscan(uscan); day_cleanup(daystat); totalger(fp_gen,wdirname); fclose(fp_gen); if(email[0] == '\0') { if (!indexonly) { if(DansGuardianConf[0] != '\0') dansguardian_log(); else if (debugz) debugaz(_("Dansguardian report not produced because no dansguardian configuration file was provided\n")); redirector_log(); } topuser(); if (!indexonly) { if((ReportType & REPORT_TYPE_DOWNLOADS) != 0) download_report(); else if (debugz) debugaz(_("Downloaded files report not requested in report_type\n")); if((ReportType & REPORT_TYPE_TOPSITES) != 0) topsites(); else if (debugz) debugaz(_("Top sites report not requested in report_type\n")); if((ReportType & REPORT_TYPE_SITES_USERS) != 0) siteuser(); else if (debugz) debugaz(_("Sites & users report not requested in report_type\n")); if ((ReportType & REPORT_TYPE_DENIED) != 0) gen_denied_report(); else if (debugz) debugaz(_("Denied accesses report not requested in report_type\n")); if ((ReportType & REPORT_TYPE_AUTH_FAILURES) != 0) authfail_report(); else if (debugz) debugaz(_("Authentication failures report not requested in report_type\n")); if(smartfilter) smartfilter_report(); if(DansGuardianConf[0] != '\0') dansguardian_report(); redirector_report(); if((ReportType & REPORT_TYPE_USERS_SITES) != 0) htmlrel(); else if (debugz) debugaz(_("User's detailed report not requested in report_type\n")); } make_index(); if(SuccessfulMsg) debuga(_("Successful report generated on %s\n"),outdirname); } else { geramail(outdirname, debug, outdir, email, tmp); if((strcmp(email,"stdout") != 0) && SuccessfulMsg) debuga(_("Successful report generated and sent to %s\n"),email); } if(indexonly) index_only(outdirname, debug); removetmp(outdirname); return; } static FILE *maketmp(const char *user, const char *dirname, int debug) { FILE *fp_ou; char wdirname[MAXLEN]; if((ReportType & REPORT_TYPE_USERS_SITES) == 0) return(NULL); if((ReportType & REPORT_TYPE_TOPUSERS) == 0) return(NULL); if(debug) debuga(_("Making file %s/%s\n"),tmp,user); if (snprintf(wdirname,sizeof(wdirname),"%s/%s.utmp",tmp,user)>=sizeof(wdirname)) { debuga(_("Path too long: ")); debuga_more("%s/%s.utmp\n",tmp,user); exit(EXIT_FAILURE); } if((fp_ou=fopen(wdirname,"w"))==NULL){ debugapos("report",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } return(fp_ou); } static void gravatmp(FILE *fp_ou, const char *oldurl, long long int nacc, long long int nbytes, const char *oldmsg, long long int nelap, long long int incache, long long int oucache) { /* This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable to print a long long int unless it is exactly 64-bits long. */ fprintf(fp_ou,"%"PRIu64"\t%"PRIu64"\t%s\t%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)nacc,(uint64_t)nbytes,oldurl,oldmsg,(uint64_t)nelap,(uint64_t)incache,(uint64_t)oucache); ttopen=0; if(fp_tt) { fputs("
%s%s%s
",fp_tt); output_html_string(fp_tt,accurl,100); fprintf(fp_tt,"%s%s
\n
\n",fp_tt); fputs("\n\n",fp_tt); fclose(fp_tt); fp_tt=NULL; } return; } static void gravaporuser(const struct userinfostruct *uinfo, const char *dirname, const char *url, const char *ip, const char *data, const char *hora, long long int tam, long long int elap) { FILE *fp_ou; char wdirname[MAXLEN]; if((ReportType & REPORT_TYPE_USERS_SITES) == 0) return; if (snprintf(wdirname,sizeof(wdirname),"%s/%s.ip",tmp,uinfo->filename)>=sizeof(wdirname)) { debuga(_("Path too long: ")); debuga_more("%s/%s.ip\n",tmp,uinfo->filename); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(wdirname,"a"))==NULL){ debugapos("report",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } /* This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable to print a long long int unless it is exactly 64-bits long. */ fprintf(fp_ou,"%s\t%s\t%s\t%s\t%"PRIu64"\t%"PRIu64"\n",ip,url,data,hora,(uint64_t)tam,(uint64_t)elap); fclose(fp_ou); return; } static void gravager(FILE *fp_gen,const char *filename, const struct userinfostruct *uinfo, long long int nacc, const char *url, long long int nbytes, const char *ip, const char *hora, const char *dia, long long int nelap, long long int incache, long long int oucache) { /* This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable to print a long long int unless it is exactly 64-bits long. */ if (fprintf(fp_gen,"%s\t%"PRIu64"\t%"PRIu64"\t%s\t%s\t%s\t%s\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",uinfo->id,(uint64_t)nacc,(uint64_t)nbytes,url,ip,hora,dia,(uint64_t)nelap,(uint64_t)incache,(uint64_t)oucache)<0) { debuga(_("Failed to write a line in \"%s\"\n"),filename); exit(EXIT_FAILURE); } globstat.nacc+=nacc; globstat.nbytes+=nbytes; globstat.elap+=nelap; globstat.incache+=incache; globstat.oucache+=oucache; return; } /*! Write the total line at the end of the general file. */ void totalger(FILE *fp_gen,const char *filename) { /* This complicated printf is due to Microsoft's inability to comply with any standard. Msvcrt is unable to print a long long int unless it is exactly 64-bits long. */ if (fprintf(fp_gen,"TOTAL\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\n",(uint64_t)globstat.nacc,(uint64_t)globstat.nbytes,(uint64_t)globstat.elap,(uint64_t)globstat.incache,(uint64_t)globstat.oucache)<0) { debuga(_("Failed to write the total line in \"%s\"\n"),filename); exit(EXIT_FAILURE); } } int ger_read(char *buffer,struct generalitemstruct *item,const char *filename) { int i; int sign; long long int number; if (strncmp(buffer,"TOTAL\t",6)==0) { item->total=1; buffer+=6; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid total number of accesses in file \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->nacc=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid total size in \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->nbytes=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid total elapsed time in \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->nelap=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid total cache hit in \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->incache=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\0') { debuga(_("Invalid total cache miss in \"%s\"\n"),filename); exit(EXIT_FAILURE); } item->oucache=number*sign; } else { item->total=0; item->user=buffer; for (i=0 ; i=' ' ; i++) buffer++; if (*buffer!='\t') { debuga(_("User name too long or invalid in \"%s\"\n"),filename); exit(EXIT_FAILURE); } *buffer++='\0'; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid number of accesses in file \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->nacc=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid number of bytes in file \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->nbytes=number*sign; item->url=buffer; while ((unsigned char)*buffer>=' ') buffer++; if (*buffer!='\t') { debuga(_("URL too long or invalid in \"%s\"\n"),filename); exit(EXIT_FAILURE); } *buffer++='\0'; item->ip=buffer; for (i=0 ; i=' ' ; i++) buffer++; if (*buffer!='\t') { debuga(_("IP address too long or invalid in \"%s\"\n"),filename); exit(EXIT_FAILURE); } *buffer++='\0'; item->time=buffer; for (i=0 ; i=' ' ; i++) buffer++; if (*buffer!='\t') { debuga(_("Time too long or invalid in \"%s\"\n"),filename); exit(EXIT_FAILURE); } *buffer++='\0'; item->date=buffer; for (i=0 ; i=' ' ; i++) buffer++; if (*buffer!='\t') { debuga(_("Date too long or invalid in \"%s\"\n"),filename); exit(EXIT_FAILURE); } *buffer++='\0'; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid elapsed time in file \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->nelap=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\t') { debuga(_("Invalid cache hit size in \"%s\"\n"),filename); exit(EXIT_FAILURE); } buffer++; item->incache=number*sign; sign=+1; if (*buffer == '-') { buffer++; sign=-1; } else if (*buffer == '+') { buffer++; } number=0LL; while (isdigit(*buffer)) number=(number * 10) + (*buffer++)-'0'; if (*buffer!='\0') { debuga(_("Invalid cache miss size in \"%s\"\n"),filename); exit(EXIT_FAILURE); } item->oucache=number*sign; } return(0); } static void grava_SmartFilter(const char *dirname, const char *user, const char *ip, const char *data, const char *hora, const char *url, const char *smart) { FILE *fp_ou; char wdirname[MAXLEN]; if (snprintf(wdirname,sizeof(wdirname),"%s/smartfilter.int_unsort",dirname)>=sizeof(wdirname)) { debuga(_("Path too long: ")); debuga_more("%s/smartfilter.int_unsort\n",dirname); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(wdirname,"a"))==NULL){ debugapos("report",_("Cannot open file \"%s\": %s\n"),wdirname,strerror(errno)); exit(EXIT_FAILURE); } fprintf(fp_ou,"%s\t%s\t%s\t%s\t%s\t%s\n",user,data,hora,ip,url,smart); fputs("\n\n",fp_tt); fclose(fp_ou); return; } sarg-2.3.11/sarg-php/000077500000000000000000000000001324060677300142635ustar00rootroot00000000000000sarg-2.3.11/sarg-php/COPYING000066400000000000000000000430761324060677300153300ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. sarg-2.3.11/sarg-php/INSTALL000066400000000000000000000004621324060677300153160ustar00rootroot00000000000000* To use sarg-squidGuard you need to change: 1. These two variables on sarg-squidguard-block.php file: $SargConf = "/usr/local/sarg/sarg.conf"; $squidGuardConf = "/usr/local/squidGuard/squidGuard.conf"; 2.change the squidGuard db file to the same httpd process owner: chown apache /var/www/html/sarg-php sarg-2.3.11/sarg-php/LANGUAGES000066400000000000000000000010141324060677300155100ustar00rootroot00000000000000This PHP modules is under i18n. Available languages: English Pedro Orso Brazilian_Portuguese Pedro Orso French Jacques GRILLOT Russian Michael Stepanenko Thank you, my friends. If you want to traslate, follow this steps: 1. edit translation.this file 2. translate every msgid sentence in msgstr tag 3. send to fmarchal@users.sourceforge.net to implement * plase send your name and email address. sarg-2.3.11/sarg-php/language.php000066400000000000000000000036311324060677300165620ustar00rootroot00000000000000 sarg-2.3.11/sarg-php/locale/000077500000000000000000000000001324060677300155225ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/en_EN/000077500000000000000000000000001324060677300165065ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/en_EN/LC_MESSAGES/000077500000000000000000000000001324060677300202735ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/en_EN/LC_MESSAGES/messages.mo000066400000000000000000000005651324060677300224450ustar00rootroot00000000000000Þ•$,8;9Project-Id-Version: sarg-squidGuard 1.0 Report-Msgid-Bugs-To: POT-Creation-Date: 2004-08-12 11:14-0300 PO-Revision-Date: 2004-08-12 11:14-0400 Last-Translator: Pedro Lineu Orso Language-Team: English MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit sarg-2.3.11/sarg-php/locale/en_EN/LC_MESSAGES/messages.po000066400000000000000000000021321324060677300224400ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg-squidGuard 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-08-12 11:14-0300\n" "PO-Revision-Date: 2004-08-12 11:14-0400\n" "Last-Translator: Pedro Lineu Orso \n" "Language-Team: English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: sarg-squidguard-block2.php:10 msgid "Could not open the file" msgstr "" #: sarg-squidguard-block2.php:19 msgid "Write error" msgstr "" #: sarg-squidguard-block2.php:23 msgid "Done!" msgstr "" #: sarg-squidguard-block2.php:27 msgid "Return" msgstr "" #: sarg-squidguard-block2.php:30 msgid " to Sarg." msgstr "" #: sarg-squidguard-block.php:29 msgid "Sarg-SquidGuard - URL Blocking" msgstr "" #: sarg-squidguard-block.php:33 msgid "Choose the rule set where" msgstr "" #: sarg-squidguard-block.php:36 msgid "will by added" msgstr "" sarg-2.3.11/sarg-php/locale/fr/000077500000000000000000000000001324060677300161315ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/fr/LC_MESSAGES/000077500000000000000000000000001324060677300177165ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/fr/LC_MESSAGES/messages.mo000066400000000000000000000014651324060677300220700ustar00rootroot00000000000000Þ• d ¬à áë#* I UFcª²Êèîö (  to Sarg.Choose the rule set whereCould not open the fileDone!ReturnSarg-SquidGuard - URL BlockingWrite errorwill by addedProject-Id-Version: sarg-squidGuard 1.0 Report-Msgid-Bugs-To: POT-Creation-Date: 2005-02-10 09:30-0300 PO-Revision-Date: 2005-02-10 09:30-0300 Last-Translator: Jacques Grillot Language-Team: French MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit a SargChoisissez la regle quiNe peut pas ouvrir le fichierFait!revenirSarg-SquidGuard - Blocage d'URLErreur d'ecrituresera ajouteesarg-2.3.11/sarg-php/locale/fr/LC_MESSAGES/messages.po000066400000000000000000000020371324060677300220670ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: sarg-squidGuard 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-02-10 09:30-0300\n" "PO-Revision-Date: 2005-02-10 09:30-0300\n" "Last-Translator: Jacques Grillot \n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: sarg-squidguard-block2.php:10 msgid "Could not open the file" msgstr "Ne peut pas ouvrir le fichier" #: sarg-squidguard-block2.php:19 msgid "Write error" msgstr "Erreur d'ecriture" #: sarg-squidguard-block2.php:23 msgid "Done!" msgstr "Fait!" #: sarg-squidguard-block2.php:27 msgid "Return" msgstr "revenir" #: sarg-squidguard-block2.php:30 msgid " to Sarg." msgstr " a Sarg" #: sarg-squidguard-block.php:29 msgid "Sarg-SquidGuard - URL Blocking" msgstr "Sarg-SquidGuard - Blocage d'URL" #: sarg-squidguard-block.php:33 msgid "Choose the rule set where" msgstr "Choisissez la regle qui" #: sarg-squidguard-block.php:36 msgid "will by added" msgstr "sera ajoutee" sarg-2.3.11/sarg-php/locale/pt_BR/000077500000000000000000000000001324060677300165305ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/pt_BR/LC_MESSAGES/000077500000000000000000000000001324060677300203155ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/pt_BR/LC_MESSAGES/messages.mo000066400000000000000000000015221324060677300224610ustar00rootroot00000000000000Þ• d ¬à áë#* I UHc¬´Ññø!"=  to Sarg.Choose the rule set whereCould not open the fileDone!ReturnSarg-SquidGuard - URL BlockingWrite errorwill by addedProject-Id-Version: sarg-squidGuard 1.0 Report-Msgid-Bugs-To: POT-Creation-Date: 2004-08-12 11:14-0300 PO-Revision-Date: 2004-08-12 11:14-0300 Last-Translator: Pedro Lineu Orso Language-Team: Brazilian_Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ao SargEscolha uma regra onde a URLNão pode abrir o arquivoFeito!RetornaSarg-SquidGuard - Bloqueio de URLErro na escrita do arquivoserá incluidasarg-2.3.11/sarg-php/locale/pt_BR/LC_MESSAGES/messages.po000066400000000000000000000024111324060677300224620ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg-squidGuard 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-08-12 11:14-0300\n" "PO-Revision-Date: 2004-08-12 11:14-0300\n" "Last-Translator: Pedro Lineu Orso \n" "Language-Team: Brazilian_Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: sarg-squidguard-block2.php:10 msgid "Could not open the file" msgstr "Não pode abrir o arquivo" #: sarg-squidguard-block2.php:19 msgid "Write error" msgstr "Erro na escrita do arquivo" #: sarg-squidguard-block2.php:23 msgid "Done!" msgstr "Feito!" #: sarg-squidguard-block2.php:27 msgid "Return" msgstr "Retorna" #: sarg-squidguard-block2.php:30 msgid " to Sarg." msgstr "ao Sarg" #: sarg-squidguard-block.php:29 msgid "Sarg-SquidGuard - URL Blocking" msgstr "Sarg-SquidGuard - Bloqueio de URL" #: sarg-squidguard-block.php:33 msgid "Choose the rule set where" msgstr "Escolha uma regra onde a URL" #: sarg-squidguard-block.php:36 msgid "will by added" msgstr "será incluida" sarg-2.3.11/sarg-php/locale/ru/000077500000000000000000000000001324060677300161505ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/ru/LC_MESSAGES/000077500000000000000000000000001324060677300177355ustar00rootroot00000000000000sarg-2.3.11/sarg-php/locale/ru/LC_MESSAGES/messages.mo000066400000000000000000000014541324060677300221050ustar00rootroot00000000000000Þ• d ¬à áë#* I U9c¥ÄÜ ä î   to Sarg.Choose the rule set whereCould not open the fileDone!ReturnSarg-SquidGuard - URL BlockingWrite errorwill by addedProject-Id-Version: sarg-squidGuard 1.0 Report-Msgid-Bugs-To: POT-Creation-Date: 2004-08-12 11:14-0300 PO-Revision-Date: 2004-11-18 17:31+0300 Last-Translator: Michael Stepanenko Language-Team: Russian MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit × Sarg÷ÙÂÅÒÅÔÅ ÎÁÂÏÒ ÐÒÁ×ÉÌ ËÕÄÁ URLîÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌçÏÔÏ×Ï!÷ÅÒÎÕÔØÓÑSarg-SquidGuard - ÂÌÏËÉÒÏ×ËÁ URLïÛÉÂËÁ ÚÁÐÉÓÉÂÕÄÅÔ ÄÏÂÁ×ÌÅÎsarg-2.3.11/sarg-php/locale/ru/LC_MESSAGES/messages.po000066400000000000000000000023371324060677300221110ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg-squidGuard 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-08-12 11:14-0300\n" "PO-Revision-Date: 2004-11-18 17:31+0300\n" "Last-Translator: Michael Stepanenko \n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=koi8-r\n" "Content-Transfer-Encoding: 8bit\n" #: sarg-squidguard-block2.php:10 msgid "Could not open the file" msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ" #: sarg-squidguard-block2.php:19 msgid "Write error" msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ" #: sarg-squidguard-block2.php:23 msgid "Done!" msgstr "çÏÔÏ×Ï!" #: sarg-squidguard-block2.php:27 msgid "Return" msgstr "÷ÅÒÎÕÔØÓÑ" #: sarg-squidguard-block2.php:30 msgid " to Sarg." msgstr " × Sarg" #: sarg-squidguard-block.php:29 msgid "Sarg-SquidGuard - URL Blocking" msgstr "Sarg-SquidGuard - ÂÌÏËÉÒÏ×ËÁ URL" #: sarg-squidguard-block.php:33 msgid "Choose the rule set where" msgstr "÷ÙÂÅÒÅÔÅ ÎÁÂÏÒ ÐÒÁ×ÉÌ ËÕÄÁ URL" #: sarg-squidguard-block.php:36 msgid "will by added" msgstr "ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ" sarg-2.3.11/sarg-php/sarg-block-it.php000066400000000000000000000032311324060677300174310ustar00rootroot00000000000000
\n"; echo ""; print (gettext("Return")); echo " "; print (gettext (" to Sarg.")); } sarg-2.3.11/sarg-php/sarg-realtime.php000066400000000000000000000000361324060677300175270ustar00rootroot00000000000000 sarg-2.3.11/sarg-php/sarg-squidguard-block.php000066400000000000000000000054651324060677300212000ustar00rootroot00000000000000\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"; print(gettext ("Sarg-SquidGuard - URL Blocking")); echo "
"; print(gettext ("Choose the rule set where")); echo " $url "; print(gettext ("will by added")); echo "
\n"; echo "\n"; $lines=file($squidGuardConf); array_walk($lines,'parse_config'); if (is_dir($dbhome)) { if ($ha1 = opendir($dbhome)) { while (false !== ($file = readdir($ha1))) { if ($file == '.' || $file == '..') continue; echo "\n"; $dir2 = $dbhome.'/'.$file; if (is_dir($dir2)) { if ($ha2 = opendir($dir2)) { while (false !== ($file2 = readdir($ha2))) { if ($file2 == '.' || $file2 == '..') continue; echo "\n"; } } closedir($ha2); } } closedir($ha1); } } echo "
$file
$file2
\n"; echo "\n"; ?> sarg-2.3.11/sarg-php/sarg-squidguard-block2.php000066400000000000000000000034251324060677300212540ustar00rootroot00000000000000
\n"; echo ""; print (gettext("Return")); echo " "; print (gettext (" to Sarg.")); } sarg-2.3.11/sarg-php/style.php000066400000000000000000000040471324060677300161410ustar00rootroot00000000000000"); echo (".title {font-family:Verdana,Tahoma,Arial;font-size:11px;color:#006699;background-color:#FFFFFF;text-align:center;}"); echo (".header {font-family:Verdana,Tahoma,Arial;font-size:9px;color:darkblue;background-color:#DDDDDD;text-align:left;}"); echo (".header2 {font-family:Verdana,Tahoma,Arial;font-size:10px;color:red;}"); echo (".data {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;text-align:right;}"); echo (".data a:link,a:visited {font-family:Verdana,Tahoma,Arial;color:#0000FF;font-size:9px;text-align:right;text-decoration:none;}"); echo (".data2 {font-family:Verdana,Tahoma,Arial;color:#000000;font-size:9px;}"); echo (".data2 a:link,a:visited{font-family:Verdana,Tahoma,Arial;color:#0000FF;font-size:9px;background-color:lavender;text-decoration:none;}"); echo (""); echo (""); echo (""); echo (" "); echo (""); ?> sarg-2.3.11/sarg-php/translate.this000066400000000000000000000037531324060677300171610ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2010 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ msgid "" msgstr "" "Project-Id-Version: sarg-squidGuard 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-08-12 11:14-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: sarg-squidguard-block2.php:10 msgid "Could not open the file" msgstr "" #: sarg-squidguard-block2.php:19 msgid "Write error" msgstr "" #: sarg-squidguard-block2.php:23 msgid "Done!" msgstr "" #: sarg-squidguard-block2.php:27 msgid "Return" msgstr "" #: sarg-squidguard-block2.php:30 msgid " to Sarg." msgstr "" #: sarg-squidguard-block.php:29 msgid "Sarg-SquidGuard - URL Blocking" msgstr "" #: sarg-squidguard-block.php:33 msgid "Choose the rule set where" msgstr "" #: sarg-squidguard-block.php:36 msgid "will by added" msgstr "" sarg-2.3.11/sarg.1000066400000000000000000000237631324060677300135730ustar00rootroot00000000000000'\" t .\" Title: sarg .\" Author: Frédéric Marchal .\" Generator: DocBook XSL Stylesheets v1.75.2 .\" Date: 27 May 2012 .\" Manual: SARG .\" Source: sarg .\" Language: English .\" .TH "SARG" "1" "27 May 2012" "sarg" "SARG" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" sarg \- Squid Analysis Report Generator .SH "SYNOPSIS" .HP \w'\fBsarg\fR\ 'u \fBsarg\fR [options] [logfile...] .SH "DESCRIPTION" .PP \fBsarg\fR is a log file parser and analyzer for the \m[blue]\fBSquid Web Proxy Cache\fR\m[]\&\s-2\u[1]\d\s+2\&. It allows you to view "where" your users are going to on the Internet\&. .PP \fBsarg\fR generates reports in HTML with fields such as: users, IP Addresses, bytes, sites, and times\&. These HTML files can appear in your web server\*(Aqs directory for browsing by users or administrators\&. You may also have \fBsarg\fR email the reports to the Squid Cache administrator\&. .PP \fBsarg\fR can read squid or Microsoft ISA access logs\&. Optionally, it can complement the reports with the log of a Squid filter/redirector such as \m[blue]\fBsquidGuard\fR\m[]\&\s-2\u[2]\d\s+2\&. .SH "OPTIONS" .PP A summary of options is included below\&. .PP \fB\-h\fR \fB\-\-help\fR .RS 4 Show summary of options\&. .RE .PP \fB\-a hostname|ip address\fR .RS 4 Limits report to records containing the specified hostname/ip address .RE .PP \fB\-b \fR\fB\fIfilename\fR\fR .RS 4 Enables UserAgent log and writes it to \fIfilename\fR\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBWarning\fR .ps -1 .br This option is currently unused\&. .sp .5v .RE .RE .PP \fB\-c \fR\fB\fIfilename\fR\fR .RS 4 Read \fIfilename\fR for a list of the web hosts to exclude from the report\&. See the section called \(lqHOST EXCLUSION FILE\(rq\&. .RE .PP \fB\-\-convert\fR .RS 4 Convert a squid log file date/time field to a human\-readable format\&. All the log files are read and output as one text on the standard output\&. .sp If the input log file name is \fI\-\fR, the input log file is read from standard input\&. .RE .PP \fB\-\-css\fR .RS 4 Output, on the standard output, the internal css \fBsarg\fR inlines in the reports\&. You can redirect the output to a file of your choice and edit it\&. Then you can override the internal css with \fIexternal_css_file\fR in sarg\&.conf\&. .sp Using an external css can reduce the size of the report file\&. If you are short on disk space, you may consider exporting the css as explained above\&. .RE .PP \fB\-d \fR\fB\fIdate\fR\fR .RS 4 Use \fIdate\fR to restrict the report to some date range during log file processing\&. Format for \fIdate\fR is \fBdd/mm/yyyy\-dd/mm/yyyy\fR or a single date \fBdd/mm/yyyy\fR\&. Date ranges can also be specified as \fIday\-\fR\fI\fBn\fR\fR, \fIweek\-\fR\fI\fBn\fR\fR, or \fImonth\-\fR\fI\fBn\fR\fR where \fBn\fR is the number of days, weeks or months to jump backward\&. Note that there is no spaces around the hyphen\&. .RE .PP \fB\-e \fR\fB\fIemail\fR\fR .RS 4 Sends report to \fIemail\fR (stdout for console)\&. .RE .PP \fB\-f \fR\fB\fIfilename\fR\fR .RS 4 Reads configuration from \fIfilename\fR\&. .RE .PP \fB\-g e|u\fR .RS 4 Sets date format in generated reports\&. .RS 4 e = Europe \-> dd/mm/yy .RE .RS 4 u = USA \-> mm/dd/yy .RE .RE .PP \fB\-i\fR .RS 4 Generates reports by user and ip address\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br This requires the \fIreport_type\fR option in config file to contain "users_sites"\&. .sp .5v .RE .RE .PP \fB\-\-keeplogs\fR .RS 4 Don\*(Aqt delete any old report\&. It is equivalent to setting \fB\-\-lastlog 0\fR but is provided for convenience\&. .RE .PP \fB\-l \fR\fB\fIfilename\fR\fR .RS 4 Uses \fIfilename\fR as the input log\&. This option can be repeated up to 255 times to read multiple files\&. If the files end with the extension \&.gz, \&.bz2 or \&.Z they are decompressed\&. If the file name is just \fI\-\fR, the log file is read from standard input\&. In that case, it cannot be compressed\&. .sp This option is kept for compatibility with older versions of sarg but, starting with sarg 2\&.3, the log files may be named on the command line without the \fB\-l\fR option\&. It allows the use of wildcards on the command line\&. Make sure you don\*(Aqt exceed the limit of 255 files\&. .RE .PP \fB\-\-lastlog \fR\fB\fIn\fR\fR .RS 4 Limit the number of logs kept in the output directory to \fIn\fR\&. Any supernumerary report is deleted starting with the oldest report\&. The value of \fIn\fR must be positive or zero\&. A value of zero means no report should be deleted\&. .RE .PP \fB\-L \fR\fB\fIfilename\fR\fR .RS 4 Reads a proxy redirector log file such as one created by squidGuard or Rejik\&. If you use this option, you may want to configure \fIredirector_log_format\fR in sarg\&.conf to match the output format of your web content filtering program\&. This option can be repeated up to 64 times to read multiple files\&. .RE .PP \fB\-m\fR .RS 4 Enable advanced processing debug messages\&. This option produces an enourmous amount of output\&. .RE .PP \fB\-n\fR .RS 4 Enables ip address resolution\&. .RE .PP \fB\-o \fR\fB\fIdir\fR\fR .RS 4 Writes report in \fIdir\fR\&. .RE .PP \fB\-p\fR .RS 4 Generates reports using ip address instead of userid\&. .RE .PP \fB\-P \fR\fB\fIprefix\fR\fR \fB\-\-splitprefix \fR\fB\fIprefix\fR\fR .RS 4 This option must be used with \fB\-\-split\fR\&. If it is provided, the input log is split among several files each containing one day\&. The name of the output files is made of the \fIprefix\fR and the date formated as \-YYYY\-MM\-DD\&. .sp The output files are written in the output directory specified with \fB\-o\fR or in the current directory\&. .RE .PP \fB\-r\fR .RS 4 Output the realtime report on the standard output and exit\&. .RE .PP \fB\-s \fR\fB\fIstring\fR\fR .RS 4 Limits report to the site specified by \fIstring\fR [eg\&. www\&.debian\&.org] .RE .PP \fB\-\-split\fR .RS 4 Split the squid log file and output it as text on the standard output omitting the dates outside of the range specified by the \fB\-d\fR parameter\&. If it is combined with \fB\-\-convert\fR the dates are also converted to a human\-readable format\&. .sp If the input log file name is \fI\-\fR, the input log file is read from standard input\&. .sp Combined with \fB\-P\fR, the log is written in several files each containing one day worth of the original log\&. .RE .PP \fB\-\-statistics\fR .RS 4 Writes some statistics about the execution time\&. The statistics include the total execution time; the number of records read in the input log files and the time it took to read them; the number of records and users processed and the time it took to process them\&. .RE .PP \fB\-t \fR\fB\fIstring\fR\fR .RS 4 Limits the records included in the report based on time\-of\-day\&. Format for \fIstring\fR is \fBHH:MM\fR or \fBHH:MM\-HH:MM\fR\&. The former reports only the requested time\&. The latter reports any entry falling within the requested range\&. This limit complement the limit imposed by option \fB\-d\fR\&. .RE .PP \fB\-u \fR\fB\fIuser\fR\fR .RS 4 Limits reports to \fIuser\fR activities\&. .RE .PP \fB\-v\fR .RS 4 Write sarg version and exit\&. .RE .PP \fB\-w \fR\fB\fIdir\fR\fR .RS 4 Store temporary files in \fIdir\fR\&. In fact, \fBsarg\fR stores its temporary files in the sarg subdirectory of \fIdir\fR\&. Be sure to set the HTML output directory to a place outside of the temporary directory or sarg may fail or delete the report when it completes its task\&. .RE .PP \fB\-x\fR .RS 4 Writes debug messages to stdout .RE .PP \fB\-z\fR .RS 4 Writes process messages to stdout\&. .RE .SH "HOST EXCLUSION FILE" .PP Sarg can be told to exclude visited hosts from the report by providing it with a file containing one host to exclude per line\&. The "host" may be one of the following: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a full host name, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a host name starting with a wildcard (*) to match any prefix, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a single ip address, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a subnet noted a\&.b\&.c\&.d/e\&. .RE .PP \fBExample\ \&1.\ \&Example of a hosts exclusion file\fR .RS 4 *\&.google\&.com .RE .RS 4 10\&.0\&.0\&.0/8 .RE .PP Sarg cannot exclude IPv6 addresses at the moment\&. .SH "SEE ALSO" .PP squid(8) .SH "AUTHORS" .PP This manual page was written by Luigi Gangitano gangitano@lugroma3\&.org, for the Debian GNU/Linux system (but may be used by others)\&. Revised by Billy Newsom\&. .PP Currently maintained by Frédéric Marchal fmarchal@users\&.sourceforge\&.net\&. .SH "AUTHORS" .PP \fBFrédéric Marchal\fR <\&fmarchal@users\&.sourceforge\&.net\&> .RS 4 Docbook version of the manual page .RE .PP \fBBilly Newsom\fR .RS 4 Revision of the manual page .RE .PP \fBLuigi Gangitano\fR <\&gangitano@lugroma3\&.org\&> .RS 4 Author of the first manual page .RE .SH "COPYRIGHT" .br Copyright \(co 2012 Frédéric Marchal .br .SH "NOTES" .IP " 1." 4 Squid Web Proxy Cache .RS 4 \%http://www.squid-cache.org/ .RE .IP " 2." 4 squidGuard .RS 4 \%http://www.squidguard.org/ .RE sarg-2.3.11/sarg.conf000066400000000000000000000623451324060677300143570ustar00rootroot00000000000000# sarg.conf # # TAG: access_log file # Where is the access.log file # sarg -l file # #access_log /usr/local/squid/var/logs/access.log # TAG: graphs yes|no # Use graphics where is possible. # graph_days_bytes_bar_color blue|green|yellow|orange|brown|red # #graphs yes #graph_days_bytes_bar_color orange # TAG: graph_font # The full path to the TTF font file to use to create the graphs. It is required # if graphs is set to yes. # #graph_font /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf # TAG: title # Especify the title for html page. # #title "Squid User Access Reports" # TAG: font_face # Especify the font for html page. # #font_face Tahoma,Verdana,Arial # TAG: header_color # Especify the header color # #header_color darkblue # TAG: header_bgcolor # Especify the header bgcolor # #header_bgcolor blanchedalmond # TAG: font_size # Especify the text font size # #font_size 9px # TAG: header_font_size # Especify the header font size # #header_font_size 9px # TAG: title_font_size # Especify the title font size # #title_font_size 11px # TAG: background_color # TAG: background_color # Html page background color # # background_color white # TAG: text_color # Html page text color # #text_color #000000 # TAG: text_bgcolor # Html page text background color # #text_bgcolor lavender # TAG: title_color # Html page title color # #title_color green # TAG: logo_image # Html page logo. # #logo_image none # TAG: logo_text # Html page logo text. # #logo_text "" # TAG: logo_text_color # Html page logo texti color. # #logo_text_color #000000 # TAG: logo_image_size # Html page logo image size. # width height # #image_size 80 45 # TAG: background_image # Html page background image # #background_image none # TAG: password # User password file used by Squid authentication scheme # If used, generate reports just for that users. # #password none # TAG: temporary_dir # Temporary directory name for work files # sarg -w dir # #temporary_dir /tmp # TAG: output_dir # The reports will be saved in that directory # sarg -o dir # #output_dir /var/www/html/squid-reports # TAG: anonymous_output_files yes/no # Use anonymous file and directory names in the report. If it is set to # no (the default), the user id/ip/name is slightly mangled to create a # suitable file name to store the report of the user but the user's # identity can easily be guessed from the mangled name. If this option is # set, any file or directory belonging to the user is replaced by a short # number. The purpose is to hide the identity of the user when looking # at the report file names but it may serve to shorten the path too. # #anonymous_output_files no # TAG: output_email # Email address to send the reports. If you use this tag, no html reports will be generated. # sarg -e email # #output_email none # TAG: resolve_ip modulelist # List the modules to use to convert IP addresses into names. # Each named module is tried in sequence until one returns a result. Therefore # the order of the modules is relevant. # The modules must be listed on one line each separated from the previous one with # a space. # # The possible modules are # dns Use the DNS. # exec Call an external program with the IP address as argument. # # For compatibility with previous versions, yes is a synonymous for dns and # no does nothing. # sarg -n forces the use of the dns module. #resolve_ip no # TAG: resolve_ip_exec command # If resolve_ip selects the exec module, this is the command to run to # resolve an IP address. The command must contain a placeholder where the # IP address is inserted. The placeholder must be %IP in uppercases. The # placeholder may be repeated multiple times if necessary. # # The command is expected to return the host name without frills on its # standard output. If the command returns nothing, it is assumed that the # command could not resolve the IP address and the next module in the # chain is given a try with the same address. # # This option can only be used once. Therefore there is only one command # available to resolve an IP address but the program can do anything it # deems fit including attempting several strategies. # # Beware that running an external program is exceedingly slow. So you # should try the DNS first and only call an external program if the DNS # fails. #resolve_ip_exec nmblookup -A %IP | sed -n -e 's/^ *\(.*\) *<00> - *B.*/\1/p' # TAG: user_ip yes/no # Use Ip Address instead userid in reports. # sarg -p #user_ip no # TAG: topuser_sort_field field normal/reverse # Sort field for the Topuser Report. # Allowed fields: USER CONNECT BYTES TIME # #topuser_sort_field BYTES reverse # TAG: user_sort_field field normal/reverse # Sort field for the User Report. # Allowed fields: SITE CONNECT BYTES TIME # #user_sort_field BYTES reverse # TAG: exclude_users file # users within the file will be excluded from reports. # you can use indexonly to have only index.html file. # #exclude_users none # TAG: exclude_hosts file # Hosts, domains or subnets will be excluded from reports. # # Eg.: 192.168.10.10 - exclude ip address only # 192.168.10.0/24 - exclude full C class # s1.acme.foo - exclude hostname only # *.acme.foo - exclude full domain name # #exclude_hosts none # TAG: useragent_log file # useragent.log file patch to generate useragent report. # #useragent_log none # TAG: date_format # Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) # #date_format u # TAG: per_user_limit file MB # Saves userid on file if download exceed n MB. # This option allow you to disable user access if user exceed a download limit. # #per_user_limit none # TAG: lastlog n # How many reports files must be keept in reports directory. # The oldest report file will be automatically removed. # 0 - no limit. # #lastlog 0 # TAG: remove_temp_files yes # Remove temporary files: geral, usuarios, top, periodo from root report directory. # #remove_temp_files yes # TAG: index yes|no|only # Generate the main index.html. # only - generate only the main index.html # #index yes # TAG: index_tree date|file # How to generate the index. # #index_tree file # TAG: index_fields # The columns to show in the index of the reports # Columns are: dirsize # #index_fields dirsize # TAG: overwrite_report yes|no # yes - if report date already exist then will be overwrited. # no - if report date already exist then will be renamed to filename.n, filename.n+1 # #overwrite_report no # TAG: records_without_userid ignore|ip|everybody # What can I do with records without user id (no authentication) in access.log file ? # # ignore - This record will be ignored. # ip - Use ip address instead. (default) # everybody - Use "everybody" instead. # #records_without_userid ip # TAG: use_comma no|yes # Use comma instead point in reports. # Eg.: use_comma yes => 23,450,110 # use_comma no => 23.450.110 # #use_comma no # TAG: mail_utility # Mail command to use to send reports via SMTP. Sarg calls it like this: # mail_utility -s "SARG report, date" "output_email" <"mail_content" # # Therefore, it is possible to add more arguments to the command by specifying them # here. # # If you need too, you can use a shell script to process the content of /dev/stdin # (/dev/stdin is the mail_content passed by sarg to the script) and call whatever # command you like. It is not limited to mailing the report via SMTP. # # Don't forget to quote the command if necessary (i.e. if the path contains # characters that must be quoted). # #mail_utility mailx # TAG: topsites_num n # How many sites in topsites report. # #topsites_num 100 # TAG: topsites_sort_order CONNECT|BYTES|TIME|USER A|D # Sort for topsites report, where A=Ascendent, D=Descendent # #topsites_sort_order CONNECT D # TAG: index_sort_order A/D # Sort for index.html, where A=Ascendent, D=Descendent # #index_sort_order D # TAG: exclude_codes file # Ignore records with these codes. Eg.: NONE/400 # Write one code per line. Lines starting with a # are ignored. # Only codes matching exactly one of the line is rejected. The # comparison is not case sensitive. # #exclude_codes /usr/local/sarg/etc/exclude_codes # TAG: replace_index string # Replace "index.html" in the main index file with this string # If null "index.html" is used # #replace_index # TAG: max_elapsed milliseconds # If elapsed time is recorded in log is greater than max_elapsed use 0 for elapsed time. # Use 0 for no checking # #max_elapsed 28800000 # 8 Hours # TAG: report_type type # What kind of reports to generate. # topusers - users, sites, times, bytes, connects, links to accessed sites, etc # topsites - site, connect and bytes report # sites_users - users and sites report # users_sites - accessed sites by the user report # date_time - bytes used per day and hour report # denied - denied sites with full URL report # auth_failures - autentication failures report # site_user_time_date - sites, dates, times and bytes report # downloads - downloads per user report # # Eg.: report_type topsites denied # #report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads # TAG: usertab filename # You can change the "userid" or the "ip address" to be a real user name on the reports. # If resolve_ip is active, the ip address is resolved before being looked up into this # file. That is, if you want to map the ip address, be sure to set resolv_ip to no or # the resolved name will be looked into the file instead of the ip address. Note that # it can be used to resolve any ip address known to the dns and then map the unresolved # ip addresses to a name found in the usertab file. # Table syntax: # userid name or ip address name # Eg: # SirIsaac Isaac Newton # vinci Leonardo da Vinci # 192.168.10.1 Karol Wojtyla # # Each line must be terminated with '\n' # If usertab have value "ldap" (case ignoring), user names # will be taken from LDAP server. This method as approaches for reception # of usernames from Active Didectory # #usertab none # TAG: LDAPHost hostname # FQDN or IP address of host with LDAP service or AD DC # default is '127.0.0.1' #LDAPHost 127.0.0.1 # TAG: LDAPPort port # LDAP service port number # default is '389' #LDAPPort 389 # TAG: LDAPBindDN CN=username,OU=group,DC=mydomain,DC=com # DN of LDAP user, who is authorized to read user's names from LDAP base # default is empty line #LDAPBindDN cn=proxy,dc=mydomain,dc=local # TAG: LDAPBindPW secret # Password of DN, who is authorized to read user's names from LDAP base # default is empty line #LDAPBindPW secret # TAG: LDAPBaseSearch OU=users,DC=mydomain,DC=com # LDAP search base # default is empty line #LDAPBaseSearch ou=users,dc=mydomain,dc=local # TAG: LDAPFilterSearch (uid=%s) # User search filter by user's logins in LDAP # First founded record will be used # %s - will be changed to userlogins from access.log file # filter string can have up to 5 '%s' tags # default value is '(uid=%s)' #LDAPFilterSearch (uid=%s) # TAG: LDAPTargetAttr attributename # Name of the attribute containing a name of the user # default value is 'cn' #LDAPTargetAttr cn # TAG: long_url yes|no # If yes, the full url is showed in report. # If no, only the site will be showed # # YES option generate very big sort files and reports. # #long_url no # TAG: date_time_by bytes|elap # Date/Time reports show the downloaded volume or the elapsed time or both. # #date_time_by bytes # TAG: charset name # ISO 8859 is a full series of 10 standardized multilingual single-byte coded (8bit) # graphic character sets for writing in alphabetic languages # You can use the following charsets: # Latin1 - West European # Latin2 - East European # Latin3 - South European # Latin4 - North European # Cyrillic # Arabic # Greek # Hebrew # Latin5 - Turkish # Latin6 # Windows-1251 # Japan # Koi8-r # UTF-8 # #charset Latin1 # TAG: user_invalid_char "&/" # Records that contain invalid characters in userid will be ignored by Sarg. # #user_invalid_char "&/" # TAG: privacy yes|no # privacy_string "***.***.***.***" # privacy_string_color blue # In some countries the sysadm cannot see the visited sites by a restrictive law. # Using privacy yes the visited url will be changes by privacy_string and the link # will be removed from reports. # #privacy no #privacy_string "***.***.***.***" #privacy_string_color blue # TAG: include_users "user1:user2:...:usern" # Reports will be generated only for listed users. # #include_users none # TAG: exclude_string "string1:string2:...:stringn" # Records from access.log file that contain one of listed strings will be ignored. # #exclude_string none # TAG: show_successful_message yes|no # Shows "Successful report generated on dir" at end of process. # #show_successful_message yes # TAG: show_read_statistics yes|no # Shows some reading statistics. # #show_read_statistics yes # TAG: topuser_fields # Which fields must be in Topuser report. # #topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE # TAG: user_report_fields # Which fields must be in User report. # #user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE # TAG: bytes_in_sites_users_report yes|no # Bytes field must be in Site & Users Report ? # #bytes_in_sites_users_report no # TAG: topuser_num n # How many users in topsites report. 0 = no limit # #topuser_num 0 # TAG: datafile file # Save the report results in a file to populate some database # #datafile none # TAG: datafile_delimiter ";" # ascii character to use as a field separator in datafile # #datafile_delimiter ";" # TAG: datafile_fields all # Which data fields must be in datafile # user;date;time;url;connect;bytes;in_cache;out_cache;elapsed # #datafile_fields user;date;time;url;connect;bytes;in_cache;out_cache;elapsed # TAG: datafile_url ip|name # Saves the URL as ip or name in datafile # #datafile_url ip # TAG: weekdays # The weekdays to take into account ( Sunday->0, Saturday->6 ) # Example: #weekdays 1-3,5 # Default: #weekdays 0-6 # TAG: hours # The hours to take into account # Example: #hours 7-12,14,16,18-20 # Default: #hours 0-23 # TAG: dansguardian_conf file # DansGuardian.conf file path # Generate reports from DansGuardian logs. # Use 'none' to disable it. # dansguardian_conf /usr/dansguardian/dansguardian.conf # #dansguardian_conf none # TAG: dansguardian_filter_out_date on|off # This option replaces dansguardian_ignore_date whose name was not appropriate with respect to its action. # Note the change of parameter value compared with the old option. # 'off' use the record even if its date is outside of the range found in the input log file. # 'on' use the record only if its date is in the range found in the input log file. # #dansguardian_filter_out_date on # TAG: squidguard_conf file # path to squidGuard.conf file # Generate reports from SquidGuard logs. # Use 'none' to disable. # You can use sarg -L filename to use an alternate squidGuard log. # squidguard_conf /usr/local/squidGuard/squidGuard.conf # #squidguard_conf none # TAG: redirector_log file # the location of the web proxy redirector log such as one created by squidGuard or Rejik. The option # may be repeated up to 64 times to read multiple files. # If this option is specified, it takes precedence over squidguard_conf. # The command line option -L override this option. # #redirector_log /usr/local/squidGuard/var/logs/urls.log # TAG: redirector_filter_out_date on|off # This option replaces squidguard_ignore_date and redirector_ignore_date whose names were not # appropriate with respect to their action. # Note the change of parameter value compared with the old options. # 'off' use the record even if its date is outside of the range found in the input log file. # 'on' use the record only if its date is in the range found in the input log file. # #redirector_filter_out_date on # TAG: redirector_log_format # Format string for web proxy redirector logs. # This option was named squidguard_log_format before sarg 2.3. # REJIK #year#-#mon#-#day# #hour# #list#:#tmp# #ip# #user# #tmp#/#tmp#/#url#/#end# # SQUIDGUARD #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp# #url# #ip#/#tmp# #user# #end# #redirector_log_format #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp# #url# #ip#/#tmp# #user# #end# # TAG: show_sarg_info yes|no # shows sarg information and site path on each report bottom # #show_sarg_info yes # TAG: show_sarg_logo yes|no # shows sarg logo # #show_sarg_logo yes # TAG: parsed_output_log directory # Saves the processed log in a sarg format after parsing the squid log file. # This is a way to dump all of the data structures out, after parsing from # the logs (presumably this data will be much smaller than the log files themselves), # and pull them back in for later processing and merging with data from previous logs. # #parsed_output_log none # TAG: parsed_output_log_compress /bin/gzip|/usr/bin/bzip2|nocompress # Command to run to compress sarg parsed output log. It may contain # options (such as -f to overwrite existing target file). The name of # the file to compresse is provided at the end of this # command line. Don't forget to quote things appropriately. # #parsed_output_log_compress /bin/gzip # TAG: displayed_values bytes|abbreviation # how the values will be displayed in reports. # eg. bytes - 209.526 # abbreviation - 210K # #displayed_values bytes # Report limits # TAG: authfail_report_limit n # TAG: denied_report_limit n # TAG: siteusers_report_limit n # TAG: squidguard_report_limit n # TAG: user_report_limit n # TAG: dansguardian_report_limit n # TAG: download_report_limit n # report limits (lines). # '0' no limit # #authfail_report_limit 10 #denied_report_limit 10 #siteusers_report_limit 0 #squidguard_report_limit 10 #dansguardian_report_limit 10 #user_report_limit 10 #user_report_limit 50 # TAG: www_document_root dir # Where is your Web DocumentRoot # Sarg will create sarg-php directory with some PHP modules: # - sarg-squidguard-block.php - add urls from user reports to squidGuard DB # #www_document_root /var/www/html # TAG: block_it module_url # This tag allow you to pass urls from user reports to a cgi or php module, # to be blocked by some Squid acl # # Eg.: block_it /sarg-php/sarg-block-it.php # sarg-block-it is a php that will append a url to a flat file. # You must change /var/www/html/sarg-php/sarg-block-it to point to your file # in $filename variable, and chown to a httpd owner. # # sarg will pass http://module_url?url=url # #block_it none # TAG: external_css_file path # Provide the path to an external css file to link into the HTML reports instead of # the inline css written by sarg when this option is not set. # # In versions prior to 2.3, this used to be an absolute file name to # a file to include verbatim in each HTML page but, as it takes a lot of # space, version 2.3 switched to a link to an external css file. # Therefore, this option must contain the HTTP server path on which a client # browser may find the css file. # # Sarg use theses style classes: # .logo logo class # .info sarg information class, align=center # .title_c title class, align=center # .header_c header class, align:center # .header_l header class, align:left # .header_r header class, align:right # .text text class, align:right # .data table text class, align:right # .data2 table text class, align:left # .data3 table text class, align:center # .link link class # # Sarg can be instructed to output the internal css it inline # into the reports with this command: # # sarg --css # # You can redirect the output to a file of your choice and edit # it to your liking. # #external_css_file none # TAG: user_authentication yes|no # Allow user authentication in User Reports using .htaccess # Parameters: # AuthUserTemplateFile - The template to use to create the # .htaccess file. In the template, %u is replaced by the # user's ID for which the report is generated. The path of the # template is relative to the directory containing sarg # configuration file. # # user_authentication no # AuthUserTemplateFile sarg_htaccess # TAG: download_suffix "suffix,suffix,...,suffix" # file suffix to be considered as "download" in Download report. # Use 'none' to disable. # #download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg" # TAG: ulimit n # The maximum number of open file descriptors to avoid "Too many open files" error message. # You need to run sarg as root to use ulimit tag. # If you run sarg with a low privilege user, set to 'none' to disable ulimit # #ulimit 20000 # TAG: ntlm_user_format user|domainname+username # NTLM users format. # #ntlm_user_format domainname+username # TAG: realtime_refresh_time num sec # How many time to auto refresh the realtime report # 0 = disable # # realtime_refresh_time 3 # TAG: realtime_access_log_lines num # How many last lines to get from access.log file # # realtime_access_log_lines 1000 # TAG: realtime_types: GET,PUT,CONNECT,ICP_QUERY,POST # Which records must be in realtime report. # # realtime_types GET,PUT,CONNECT # TAG: realtime_unauthenticated_records: ignore|show # What to do with unauthenticated records in realtime report. # # realtime_unauthenticated_records: show # TAG: byte_cost value no_cost_limit # Cost per byte. # Eg. byte_cost 0.01 100000000 # per byte cost = 0.01 # bytes with no cost = 100 Mb # 0 = disable # # byte_cost 0.01 50000000 # TAG: squid24 on|off # Compatilibity with squid version <= 2.4 when using emulate_http_log on # # squid24 off # TAG: sorttable path # The path to a javascript script to dynamically sort the tables. # The path is the link a browser must follow to find the script. For instance, # it may be http://www.myproxy.org/sorttable.js or just /sorttable.js if the script # is at the root of your web site. # # If the path starts with "../" then it is assumed to be a relative # path and sarg adds as many "../" as necessary to locate the js script from # the output directory. Therefore, ../../sorttable.js links to the javascript # one level above output_dir. # # If this entry is set, each sortable table will have the "sortable" class set. # You may have a look at http://www.kryogenix.org/code/browser/sorttable/ # for the implementation on which sarg is based. # # sorttable /sorttable.js # TAG: hostalias # The name of a text file containing the host names one per line and the # optional alias to use in the report instead of that host name. # Host names may contain up to one wildcard denoted by a *. The wildcard # must not end the host name. # The host name may be followed by an optional alias but if no alias is # provided, the host name, including the wildcard, replaces any matching # host name found in the log. # Host names replaced by identical aliases are grouped together in the # reports. # IP addresses are supported and accept the CIDR notation both for IPv4 and # IPv6 addresses. # Regular expressions can also be used if sarg was compiled with libpcre. # A regular expression is formated as re:/regexp/ alias # The regexp is a perl regular expression (see man perlre). # Subpatterns are allowed in the alias. Sarg recognizes sed (\1) or perl ($1) # subpatterns. Only 9 subpatterns are allowed in the replacement string. # # Example: # *.gstatic.com # mt*.google.com # *.myphone.microsoft.com # *.myphone.microsoft.com:443 *.myphone.microsoft.com:secure # *.freeav.net antivirus:freeav # *.mail.live.com # 65.52.00.00/14 *.mail.live.com # re:/\.dropbox\.com(:443)?/ dropbox # re:/([\w-]+)\.(\w*[a-zA-Z]\w*)(?::\d+)?$/\1.\2 #hostalias /usr/local/sarg/hostalias # TAG: keep_temp_log yes|no # Keep temporary files created by sarg to produce its reports. The normal # operation mode is to delete those files when they are not necessary any more. # # Never leave that option to "yes" for normal operation as temporary files # left over by previous run can be included in subsequent reports. # # Use this option only to diagnose a problem with your reports. A better # alternative is to run sarg from the command line with optino -k. #keep_temp_log no sarg-2.3.11/sarg_htaccess000066400000000000000000000002071324060677300152750ustar00rootroot00000000000000AuthUserFile /usr/local/sarg/passwd AuthName "SARG, Restricted Access" AuthType Basic Require user admin %u sarg-2.3.11/sarg_manpage.xml000066400000000000000000000330211324060677300157070ustar00rootroot00000000000000
SARG sarg 27 May 2012 Frédéric Marchal Docbook version of the manual page fmarchal@users.sourceforge.net Billy Newsom Revision of the manual page Luigi Gangitano Author of the first manual page gangitano@lugroma3.org 2012 Frédéric Marchal sarg 1 sarg Squid Analysis Report Generator sarg options logfile Description sarg is a log file parser and analyzer for the Squid Web Proxy Cache. It allows you to view "where" your users are going to on the Internet. sarg generates reports in HTML with fields such as: users, IP Addresses, bytes, sites, and times. These HTML files can appear in your web server's directory for browsing by users or administrators. You may also have sarg email the reports to the Squid Cache administrator. sarg can read squid or Microsoft ISA access logs. Optionally, it can complement the reports with the log of a Squid filter/redirector such as squidGuard. Options A summary of options is included below. Show summary of options. Limits report to records containing the specified hostname/ip address Enables UserAgent log and writes it to filename. This option is currently unused. Read filename for a list of the web hosts to exclude from the report. See . Convert a squid log file date/time field to a human-readable format. All the log files are read and output as one text on the standard output. If the input log file name is -, the input log file is read from standard input. Output, on the standard output, the internal css sarg inlines in the reports. You can redirect the output to a file of your choice and edit it. Then you can override the internal css with external_css_file in sarg.conf. Using an external css can reduce the size of the report file. If you are short on disk space, you may consider exporting the css as explained above. Use date to restrict the report to some date range during log file processing. Format for date is dd/mm/yyyy-dd/mm/yyyy or a single date dd/mm/yyyy. Date ranges can also be specified as day-n, week-n, or month-n where n is the number of days, weeks or months to jump backward. Note that there is no spaces around the hyphen. Sends report to email (stdout for console). Reads configuration from filename. Sets date format in generated reports. e = Europe -> dd/mm/yy u = USA -> mm/dd/yy Generates reports by user and ip address. This requires the report_type option in config file to contain "users_sites". Don't delete any old report. It is equivalent to setting but is provided for convenience. Uses filename as the input log. This option can be repeated up to 255 times to read multiple files. If the files end with the extension .gz, .bz2 or .Z they are decompressed. If the file name is just -, the log file is read from standard input. In that case, it cannot be compressed. This option is kept for compatibility with older versions of sarg but, starting with sarg 2.3, the log files may be named on the command line without the option. It allows the use of wildcards on the command line. Make sure you don't exceed the limit of 255 files. Limit the number of logs kept in the output directory to n. Any supernumerary report is deleted starting with the oldest report. The value of n must be positive or zero. A value of zero means no report should be deleted. Reads a proxy redirector log file such as one created by squidGuard or Rejik. If you use this option, you may want to configure redirector_log_format in sarg.conf to match the output format of your web content filtering program. This option can be repeated up to 64 times to read multiple files. Enable advanced processing debug messages. This option produces an enourmous amount of output. Enables ip address resolution. Writes report in dir. Generates reports using ip address instead of userid. This option must be used with . If it is provided, the input log is split among several files each containing one day. The name of the output files is made of the prefix and the date formated as -YYYY-MM-DD. The output files are written in the output directory specified with or in the current directory. Output the realtime report on the standard output and exit. Limits report to the site specified by string [eg. www.debian.org] Split the squid log file and output it as text on the standard output omitting the dates outside of the range specified by the parameter. If it is combined with the dates are also converted to a human-readable format. If the input log file name is -, the input log file is read from standard input. Combined with , the log is written in several files each containing one day worth of the original log. Writes some statistics about the execution time. The statistics include the total execution time; the number of records read in the input log files and the time it took to read them; the number of records and users processed and the time it took to process them. Limits the records included in the report based on time-of-day. Format for string is HH:MM or HH:MM-HH:MM. The former reports only the requested time. The latter reports any entry falling within the requested range. This limit complement the limit imposed by option . Limits reports to user activities. Write sarg version and exit. Store temporary files in dir. In fact, sarg stores its temporary files in the sarg subdirectory of dir. Be sure to set the HTML output directory to a place outside of the temporary directory or sarg may fail or delete the report when it completes its task. Writes debug messages to stdout Writes process messages to stdout. Host exclusion file Sarg can be told to exclude visited hosts from the report by providing it with a file containing one host to exclude per line. The "host" may be one of the following: a full host name, a host name starting with a wildcard (*) to match any prefix, a single ip address, a subnet noted a.b.c.d/e. Example of a hosts exclusion file *.google.com 10.0.0.0/8 Sarg cannot exclude IPv6 addresses at the moment. See also squid(8) Authors This manual page was written by Luigi Gangitano gangitano@lugroma3.org, for the Debian GNU/Linux system (but may be used by others). Revised by Billy Newsom. Currently maintained by Frédéric Marchal fmarchal@users.sourceforge.net.
sarg-2.3.11/siteuser.c000066400000000000000000000142101324060677300145470ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void siteuser(void) { FILE *fp_in, *fp_ou; char *buf; char *ourl; char csort[4096]; char general[MAXLEN]; char general2[MAXLEN]; char sites[MAXLEN]; char report[MAXLEN]; int regs=0; int ourl_size; int url_len; int topuser_link; int nsitesusers; int cstatus; longline line; struct generalitemstruct item; struct userinfostruct *uinfo; if(Privacy) { if (debugz) debugaz(_("Sites and users report not generated because privacy option is on\n")); return; } nsitesusers = 0; sprintf(general,"%s/sarg-general",outdirname); sprintf(sites,"%s/sarg-sites",outdirname); sprintf(general2,"%s/sarg-general2",outdirname); sprintf(report,"%s/siteuser.html",outdirname); if (snprintf(csort,sizeof(csort),"sort -t \"\t\" -k 4,4 -k 1,1 -o \"%s\" \"%s\"",general2,general)>=sizeof(csort)) { debuga(_("Command too long: ")); debuga_more("sort -t \"\t\" -k 4,4 -k 1,1 -o \"%s\" \"%s\"",general2,general); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if((fp_in=fopen(general2,"r"))==NULL) { debugapos("siteuser",_("Cannot open file \"%s\": %s\n"),general2,strerror(errno)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if((fp_ou=fopen(report,"w"))==NULL) { debugapos("siteuser",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } write_html_header(fp_ou,(IndexTree == INDEX_TREE_DATE) ? 3 : 1,_("Sites & Users"),HTML_JS_SORTTABLE); fputs("",fp_ou); fprintf(fp_ou,_("Period: %s"),period.html); fputs("\n",fp_ou); fprintf(fp_ou,"%s\n",_("Sites & Users")); close_html_header(fp_ou); fputs("
\n",_("ACCESSED SITE")); if(BytesInSitesUsersReport) fprintf(fp_ou,"",_("BYTES")); fputs("\n",_("USERS")); ourl=NULL; ourl_size=0; userinfo_clearflag(); topuser_link=((ReportType & REPORT_TYPE_USERS_SITES) != 0 && !indexonly); if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read file \"%s\"\n"),general2); exit(EXIT_FAILURE); } while((buf=longline_read(fp_in,line))!=NULL) { ger_read(buf,&item,general2); if(item.total) continue; uinfo=userinfo_find_from_id(item.user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),item.user,general2); exit(EXIT_FAILURE); } if (item.nacc > 0) nsitesusers = 1; if (!nsitesusers) continue; if (ourl==NULL || strcmp(item.url,ourl) != 0) { if (regs>0) fputs("\n",fp_ou); regs++; if (SiteUsersReportLimit && regs >= SiteUsersReportLimit) break; fprintf(fp_ou,"",fp_ou); if (BytesInSitesUsersReport) { fputs("",fixnum(item.nbytes,1)); } fputs("\n",fp_ou); } if (ourl) free(ourl); if (!KeepTempLog && unlink(general2)) { debuga(_("Cannot delete \"%s\": %s\n"),general2,strerror(errno)); exit(EXIT_FAILURE); } fputs("
%s%s%s%s
%d",regs); url_len=strlen(item.url); if (url_len>=ourl_size) { ourl_size=url_len+1; ourl=realloc(ourl,ourl_size); if (!ourl) { debuga(_("Not enough memory to store the url\n")); exit(EXIT_FAILURE); } } strcpy(ourl,item.url); if(BlockIt[0]!='\0' && ourl[0]!=ALIAS_PREFIX) { fprintf(fp_ou," ",fp_ou); } output_html_link(fp_ou,ourl,100); fputs("%s",fp_ou); userinfo_clearflag(); if (topuser_link && uinfo->topuser) fprintf(fp_ou,"%s",uinfo->filename,uinfo->filename,uinfo->label); else fprintf(fp_ou,"%s",uinfo->label); uinfo->flag=1; } else if (uinfo->flag==0) { if (topuser_link && uinfo->topuser) fprintf(fp_ou," %s",uinfo->filename,uinfo->filename,uinfo->label); else fprintf(fp_ou," %s",uinfo->label); uinfo->flag=1; } } fclose(fp_in); longline_destroy(&line); if(regs>0) { fputs("
\n",fp_ou); if (write_html_trailer(fp_ou)<0) debuga(_("Write error in file \"%s\"\n"),report); if (fclose(fp_ou)==EOF) debuga(_("Failed to close file \"%s\": %s\n"),report,strerror(errno)); return; } sarg-2.3.11/smartfilter.c000066400000000000000000000247231324060677300152520ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" void smartfilter_report(void) { FILE *fp_in = NULL, *fp_ou = NULL, *fp_user = NULL; char buf[MAXLEN]; char url[MAXLEN]; char pgmurl[250]; char csort[255]; char smart_in[MAXLEN]; char smart_ou[MAXLEN]; char sites[MAXLEN]; char report[MAXLEN]; char ip[MAXLEN]; char user[MAXLEN]; char ouser[MAXLEN]; char data[15]; char hora[15]; char smartcat[256]; char ftime[128]; char smartuser[MAXLEN]; int fuser=0; int cstatus; struct getwordstruct gwarea; const struct userinfostruct *uinfo; ouser[0]='\0'; if (snprintf(smart_in,sizeof(smart_in),"%s/smartfilter.int_unsort",tmp)>=sizeof(smart_in)) { debuga(_("Path too long: ")); debuga_more("%s/smartfilter.int_unsort\n",tmp); exit(EXIT_FAILURE); } if (snprintf(sites,sizeof(sites),"%s/sarg-sites",outdirname)>=sizeof(sites)) { debuga(_("Path too long: ")); debuga_more("%s/sarg-sites\n",outdirname); exit(EXIT_FAILURE); } if (snprintf(smart_ou,sizeof(smart_ou),"%s/smartfilter.int_log",tmp)>=sizeof(smart_ou)) { debuga(_("Path too long: ")); debuga_more("%s/smartfilter.int_log\n",tmp); exit(EXIT_FAILURE); } if (snprintf(report,sizeof(report),"%s/smartfilter.html",outdirname)>=sizeof(report)) { debuga(_("Path too long: ")); debuga_more("%s/smartfilter.html\n",outdirname); exit(EXIT_FAILURE); } if (snprintf(csort,sizeof(csort),"sort -n -t \"\t\" -k 1,1 -k 2,2 -k 3,3 -o \"%s\" \"%s\"",smart_ou,smart_in)>=sizeof(csort)) { debuga(_("cannot build the sort command to sort file %s\n"),smart_in); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if((fp_in=fopen(smart_ou,"r"))==NULL) { debugapos("smartfilter",_("Cannot open file \"%s\": %s\n"),smart_ou,strerror(errno)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(smart_in)) { debuga(_("Cannot delete \"%s\": %s\n"),smart_in,strerror(errno)); exit(EXIT_FAILURE); } if((fp_ou=fopen(report,"w"))==NULL) { debugapos("smartfilter",_("Cannot open file \"%s\": %s\n"),report,strerror(errno)); exit(EXIT_FAILURE); } fprintf(fp_ou, "\n\n\n \n",CharSet); fputs("\n",fp_ou); if(strlen(FontFace) > 0) fprintf(fp_ou,"\n",FontFace); fprintf(fp_ou,"\n",BgColor,TxColor,BgImage); fputs("
\n",fp_ou); write_logo_image(fp_ou); fprintf(fp_ou,"\n",TiColor,Title); fprintf(fp_ou,"\n",fp_ou); fprintf(fp_ou,"\n",HeaderBgColor,FontSize,_("SmartFilter")); fputs("
%s
",HeaderBgColor,FontSize); fprintf(fp_ou,_("Period: %s"),period.html); fputs("
%s
\n",fp_ou); fputs("
\n",fp_ou); fputs("\n",fp_ou); fputs("\n",fp_ou); fputs("\n",fp_ou); fprintf(fp_ou,"\n",HeaderBgColor,FontSize,_("USERID"),HeaderBgColor,FontSize,_("IP/NAME"),HeaderBgColor,FontSize,_("DATE/TIME"),HeaderBgColor,FontSize,_("ACCESSED SITE"),HeaderBgColor,FontSize,_("SMARTFILTER")); snprintf(pgmurl,sizeof(pgmurl),"%s-%s",URL,PGM,VERSION); while(fgets(buf,sizeof(buf),fp_in)!=NULL) { getword_start(&gwarea,buf); if (getword(user,sizeof(user),&gwarea,'\t')<0 || getword(data,sizeof(data),&gwarea,'\t')<0 || getword(hora,sizeof(hora),&gwarea,'\t')<0 || getword(ip,sizeof(ip),&gwarea,'\t')<0 || getword(url,sizeof(url),&gwarea,'\t')<0 || getword(smartcat,sizeof(smartcat),&gwarea,'\n')<0) { debuga(_("Invalid record in file \"%s\"\n"),smart_ou); exit(EXIT_FAILURE); } uinfo=userinfo_find_from_id(user); if (!uinfo) { debuga(_("Unknown user ID %s in file \"%s\"\n"),user,smart_ou); exit(EXIT_FAILURE); } if(strcmp(ouser,user) != 0) { strcpy(ouser,user); sprintf(smartuser,"%s/denied_%s.html",outdirname,uinfo->filename); if(fuser) { fuser=0; fputs("
%s%s%s%s%s
\n",fp_user); if(ShowSargInfo) { zdate(ftime, sizeof(ftime), DateFormat); fputs("

\n",fp_user); } fputs("\n\n",fp_user); fclose(fp_user); } if ((fp_user = fopen(smartuser, "a")) == 0) { debugapos("smartfilter",_("Cannot open file \"%s\": %s\n"),smartuser,strerror(errno)); exit(EXIT_FAILURE); } fuser=1; fputs("\n",fp_ou); fputs("\n",fp_user); fputs("\n",fp_user); fprintf(fp_user," \n",CharSet); fputs("\n",fp_user); if(FontFace[0] != 0) { /* Before merging the sprintf and the fputs, the code looked like this: sprintf(html2,"\n",FontFace); fputs(url,fp_user); The two lines don't use the same buffer so the string formated by sprintf is not the string written to fp_user. I (fmarchal) assumed it was a typo and replaced it by a fprintf but that font tag is not valid outside of the body. So, the generated html was likely containing garbage not rendered by the browser. */ fprintf(fp_user,"\n",FontFace); } fprintf(fp_user,"\n",BgColor,TxColor,BgImage); fputs("
\n",fp_user); if(LogoImage[0]!='\0') fprintf(fp_user,"\n",TiColor,Title); fputs("\n",fp_user); fprintf(fp_user,"\n",HeaderBgColor,FontSize,_("User"),FontSize,uinfo->label); fputs("
%s\n",LogoImage,Width,Height,LogoTextColor,LogoText); fprintf(fp_user,"
%s
",fp_user); fprintf(fp_user,_("Period: %s"),period.html); fputs("
%s: %s
\n",fp_user); fputs("
\n",fp_user); fputs("\n",fp_user); fputs("\n",fp_user); fputs("\n",fp_user); fprintf(fp_user,"\n",HeaderBgColor,FontSize,_("USERID"),HeaderBgColor,FontSize,_("IP/NAME"),HeaderBgColor,FontSize,_("DATE/TIME"),HeaderBgColor,FontSize,_("ACCESSED SITE"),HeaderBgColor,FontSize,_("SMARTFILTER")); } fprintf(fp_user,"\n",TxBgColor,FontSize,uinfo->label,TxBgColor,FontSize,ip,TxBgColor,FontSize,data,hora,TxBgColor,FontSize,url,TxBgColor,FontSize,smartcat); fprintf(fp_ou,"\n",TxBgColor,FontSize,uinfo->label,TxBgColor,FontSize,ip,TxBgColor,FontSize,data,hora,TxBgColor,FontSize,url,TxBgColor,FontSize,smartcat); } fputs("
%s%s%s%s%s
%s%s%s-%s%s%s
%s%s%s-%s%s%s
\n",fp_ou); if(ShowSargInfo) { zdate(ftime, sizeof(ftime), DateFormat); fputs("

",fp_ou); fprintf(fp_ou,_("Generated by %s on %s"),pgmurl,ftime); fputs("
\n",fp_ou); } fputs("\n\n",fp_user); fclose(fp_ou); if(fp_user) { fputs("\n",fp_user); if(ShowSargInfo) { zdate(ftime, sizeof(ftime), DateFormat); fputs("

",fp_user); fprintf(fp_user,_("Generated by %s on %s"),pgmurl,ftime); fputs("
\n",fp_user); } fputs("\n\n",fp_user); fclose(fp_user); } if (!KeepTempLog && unlink(smart_ou)) { debuga(_("Cannot delete \"%s\": %s\n"),smart_ou,strerror(errno)); exit(EXIT_FAILURE); } return; } sarg-2.3.11/sort.c000066400000000000000000000132231324060677300136760ustar00rootroot00000000000000/* * SARG Squid Analysis Report Generator http://sarg.sourceforge.net * 1998, 2013 * * SARG donations: * please look at http://sarg.sourceforge.net/donations.php * Support: * http://sourceforge.net/projects/sarg/forums/forum/363374 * --------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * */ #include "include/conf.h" #include "include/defs.h" /*! Sort all the \c utmp files form the temporary directory. The sort can be made according to the number of connections, the accessed sites or the time of the access depending on the value of ::UserSortField. The sorting is either made in increasing or decreasing order as specified by the value of ::UserSortOrder. */ void tmpsort(const struct userinfostruct *uinfo) { int cstatus; char csort[MAXLEN]; char arqou[MAXLEN], arqin[MAXLEN]; const char *field1="2,2"; const char *field2="1,1"; const char *field3="3,3"; const char *order; if((UserSort & USER_SORT_CONNECT) != 0) { field1="1,1"; field2="2,2"; field3="3,3"; } else if((UserSort & USER_SORT_SITE) != 0) { field1="3,3"; field2="2,2"; field3="1,1"; } else if((UserSort & USER_SORT_TIME) != 0) { field1="5,5"; field2="2,2"; field3="1,1"; } if((UserSort & USER_SORT_REVERSE) == 0) order=""; else order="-r"; if (snprintf(arqin,sizeof(arqin),"%s/%s.utmp",tmp,uinfo->filename)>=sizeof(arqin)) { debuga(_("Path too long: ")); debuga_more("%s/%s.utmp\n",tmp,uinfo->filename); exit(EXIT_FAILURE); } if (snprintf(arqou,sizeof(arqou),"%s/htmlrel.txt",tmp)>=sizeof(arqou)) { debuga(_("Path too long: ")); debuga_more("%s/htmlrel.txt\n",tmp); exit(EXIT_FAILURE); } if(debug) { debuga(_("Sorting file \"%s\"\n"),arqin); } if (snprintf(csort,sizeof(csort),"sort -n -T \"%s\" -t \"\t\" %s -k %s -k %s -k %s -o \"%s\" \"%s\"",tmp,order,field1,field2,field3,arqou,arqin)>=sizeof(csort)) { debuga(_("Command too long: ")); debuga_more("sort -n -T \"%s\" -t \"\t\" %s -k %s -k %s -k %s -o \"%s\" \"%s\"",tmp,order,field1,field2,field3,arqou,arqin); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(arqin)) { debuga(_("Cannot delete \"%s\": %s\n"),arqin,strerror(errno)); exit(EXIT_FAILURE); } return; } /*! The function sorts the \c unsort file in the temporary directory. These files correspond to the format described in \ref UserUnsortLog. \param tmp The temorary directory of the sarg files. \param debug \c True to output debug information. \param uinfo The user whose log must be sorted. The user's files are sorted by columns 5, 1 and 2 that are the columns of the number of bytes transfered, the date of the access and the time of the access. The sorted files are written in files with the extension \c log and the name of the unsorted file without the \c unsort extension. The unsorted file is deleted just after the sorting. */ void sort_users_log(const char *tmp, int debug,struct userinfostruct *uinfo) { char csort[MAXLEN]; const char *user; int cstatus; int clen; if(debug) { debuga(_("Sorting log %s/%s.user_unsort\n"),tmp,uinfo->filename); } user=uinfo->filename; clen=snprintf(csort,sizeof(csort),"sort -T \"%s\" -t \"\t\" -k 4,4 -k 1,1 -k 2,2 -o \"%s/%s.user_log\" \"%s/%s.user_unsort\"", tmp, tmp, user, tmp, user); if (clen>=sizeof(csort)) { /* TRANSLATORS: The message is followed by the command that is too long. */ debuga(_("User name too long to sort with command ")); debuga_more("sort -T \"%s\" -t \"\t\" -k 4,4 -k 1,1 -k 2,2 -o \"%s/%s.user_log\" \"%s/%s.user_unsort\"", tmp, tmp, user, tmp, user); exit(EXIT_FAILURE); } cstatus=system(csort); if (!WIFEXITED(cstatus) || WEXITSTATUS(cstatus)) { debuga(_("sort command return status %d\n"),WEXITSTATUS(cstatus)); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if (snprintf(csort,sizeof(csort),"%s/%s.user_unsort",tmp,user)>=sizeof(csort)) { debuga(_("User name too long to manufacture file name ")); debuga_more("%s/%s.user_unsort\n",tmp,user); exit(EXIT_FAILURE); } if (!KeepTempLog && unlink(csort)) { debuga(_("Cannot delete \"%s\": %s\n"),csort,strerror(errno)); exit(EXIT_FAILURE); } return; } /*! Get the internationalized text to display when reporting the sort criterion and order of a user list. \param label A pointer to set to the string of the sort criterion name. \param order A pointer to set to the string of the sort order name */ void sort_labels(const char **label,const char **order) { if((UserSort & USER_SORT_CONNECT) != 0) { *label=_("connect"); } else if((UserSort & USER_SORT_SITE) != 0) { *label=_("site"); } else if((UserSort & USER_SORT_TIME) != 0) { *label=_("time"); } else { *label=_("bytes"); } if((UserSort & USER_SORT_REVERSE) == 0) *order=_("normal"); else *order=_("reverse"); } sarg-2.3.11/sorttable/000077500000000000000000000000001324060677300145415ustar00rootroot00000000000000sarg-2.3.11/sorttable/sorttable.js000066400000000000000000000413761324060677300171110ustar00rootroot00000000000000/* SortTable version 2 7th April 2007 Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/ Instructions: Download this file Add to your HTML Add class="sortable" to any table you'd like to make sortable Click on the headers to sort Thanks to many, many people for contributions and suggestions. Licenced as X11: http://www.kryogenix.org/code/browser/licence.html This basically means: do what you want with it. */ var stIsIE = /*@cc_on!@*/false; sorttable = { init: function() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); if (!document.createElement || !document.getElementsByTagName) return; sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); }, makeSortable: function(table) { if (table.getElementsByTagName('thead').length == 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; if (table.tHead.rows.length != 1) return; // can't cope with two header rows // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i5
' : ' ▴'; this.appendChild(sortrevind); return; } if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) { // if we're already sorted by this column in reverse, just // re-reverse the table, which is quicker sorttable.reverse(this.sorttable_tbody); this.className = this.className.replace('sorttable_sorted_reverse', 'sorttable_sorted'); this.removeChild(document.getElementById('sorttable_sortrevind')); sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; this.appendChild(sortfwdind); return; } // remove sorttable_sorted classes theadrow = this.parentNode; forEach(theadrow.childNodes, function(cell) { if (cell.nodeType == 1) { // an element cell.className = cell.className.replace('sorttable_sorted_reverse',''); cell.className = cell.className.replace('sorttable_sorted',''); } }); sortfwdind = document.getElementById('sorttable_sortfwdind'); if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } sortrevind = document.getElementById('sorttable_sortrevind'); if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } this.className += ' sorttable_sorted'; sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? ' 6' : ' ▾'; this.appendChild(sortfwdind); // build an array to sort. This is a Schwartzian transform thing, // i.e., we "decorate" each row with the actual sort key, // sort based on the sort keys, and then put the rows back in order // which is a lot faster because you only do getInnerText once per row row_array = []; col = this.sorttable_columnindex; rows = this.sorttable_tbody.rows; for (var j=0; j 12) { // definitely dd/mm return sorttable.sort_ddmm; } else if (second > 12) { return sorttable.sort_mmdd; } else { // looks like a date, but we can't tell which, so assume // that it's dd/mm (English imperialism!) and keep looking sortfn = sorttable.sort_ddmm; } } } } return sortfn; }, getInnerText: function(node) { // gets the text we want to use for sorting for a cell. // strips leading and trailing whitespace. // this is *not* a generic getInnerText function; it's special to sorttable. // for example, you can override the cell text with a customkey attribute. // it also gets .value for fields. hasInputs = (typeof node.getElementsByTagName == 'function') && node.getElementsByTagName('input').length; if (node.getAttribute("sorttable_customkey") != null) { return node.getAttribute("sorttable_customkey"); } else if (typeof node.textContent != 'undefined' && !hasInputs) { return node.textContent.replace(/^\s+|\s+$/g, ''); } else if (typeof node.innerText != 'undefined' && !hasInputs) { return node.innerText.replace(/^\s+|\s+$/g, ''); } else if (typeof node.text != 'undefined' && !hasInputs) { return node.text.replace(/^\s+|\s+$/g, ''); } else { switch (node.nodeType) { case 3: if (node.nodeName.toLowerCase() == 'input') { return node.value.replace(/^\s+|\s+$/g, ''); } case 4: return node.nodeValue.replace(/^\s+|\s+$/g, ''); break; case 1: case 11: var innerText = ''; for (var i = 0; i < node.childNodes.length; i++) { innerText += sorttable.getInnerText(node.childNodes[i]); } return innerText.replace(/^\s+|\s+$/g, ''); break; default: return ''; } } }, reverse: function(tbody) { // reverse the rows in a tbody newrows = []; for (var i=0; i=0; i--) { tbody.appendChild(newrows[i]); } delete newrows; }, /* sort functions each sort function takes two parameters, a and b you are comparing a[0] and b[0] */ sort_numeric: function(a,b) { aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); if (isNaN(aa)) aa = 0; bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); if (isNaN(bb)) bb = 0; return aa-bb; }, sort_alpha: function(a,b) { return a[0].localeCompare(b[0]); }, sort_ddmm: function(a,b) { mtch = a[0].match(sorttable.DATE_RE); if (mtch) { y = mtch[3]; m = mtch[2]; d = mtch[1]; if (m.length == 1) m = '0'+m; if (d.length == 1) d = '0'+d; dt1 = y+m+d; } else { dt1 = "00000000"; } mtch = b[0].match(sorttable.DATE_RE); if (mtch) { y = mtch[3]; m = mtch[2]; d = mtch[1]; if (m.length == 1) m = '0'+m; if (d.length == 1) d = '0'+d; dt2 = y+m+d; } else { dt2 = "00000000"; } if (dt1==dt2) return 0; if (dt1 0 ) { var q = list[i]; list[i] = list[i+1]; list[i+1] = q; swap = true; } } // for t--; if (!swap) break; for(var i = t; i > b; --i) { if ( comp_func(list[i], list[i-1]) < 0 ) { var q = list[i]; list[i] = list[i-1]; list[i-1] = q; swap = true; } } // for b++; } // while(swap) } } /* ****************************************************************** Supporting functions: bundled here to avoid depending on a library ****************************************************************** */ // Dean Edwards/Matthias Miller/John Resig /* for Mozilla/Opera9 */ if (document.addEventListener) { document.addEventListener("DOMContentLoaded", sorttable.init, false); } /* for Internet Explorer */ /*@cc_on @*/ /*@if (@_win32) document.write("\n",fp_ou); } fputs("\n\n",fp_ou); } void write_html_header(FILE *fp_ou, int depth, const char *page_title,int javascript) { write_html_head(fp_ou,depth,page_title,javascript); write_logo_image(fp_ou); show_sarg(fp_ou, depth); fprintf(fp_ou,"
\n\n",Title); } void close_html_header(FILE *fp_ou) { fputs("
%s
\n",fp_ou); } int write_html_trailer(FILE *fp_ou) { show_info(fp_ou); if (fputs("\n\n",fp_ou)==EOF) return(-1); return(0); } void output_html_string(FILE *fp_ou,const char *str,int maxlen) { int i=0; while (*str && (maxlen<=0 || i': fputs(">",fp_ou); break; case '"': fputs(""",fp_ou); break; case '\'': fputs("'",fp_ou); break; default: fputc(*str,fp_ou); } str++; i++; } if (maxlen>0 && i>=maxlen) fputs("…",fp_ou); } void output_html_url(FILE *fp_ou,const char *url) { while (*url) { if (*url=='&') fputs("&",fp_ou); else fputc(*url,fp_ou); url++; } } /*! Write a host name inside an A tag of a HTML file. If the host name starts with a star, it is assumed to be an alias that cannot be put inside a link so the A tag is not written around the host name. \param fp_ou The handle of the HTML file. \param url The host to display in the HTML file. \param maxlen The maximum number of characters to print into the host name. */ void output_html_link(FILE *fp_ou,const char *url,int maxlen) { if (url[0]==ALIAS_PREFIX) { // this is an alias, no need for a A tag output_html_string(fp_ou,url+1,100); } else { if (skip_scheme(url)==url) fputs("
",fp_ou); output_html_string(fp_ou,url,100); fputs("",fp_ou); } } void url_module(const char *url, char *w2) { int x, y; char w[255]; y=0; for(x=strlen(url)-1; x>=0; x--) { if(url[x] == '/' || y>=sizeof(w)-1) break; w[y++]=url[x]; } if (x<0) { w2[0]='\0'; return; } x=0; for(y=y-1; y>=0; y--) { w2[x++]=w[y]; } w2[x]='\0'; } void url_to_file(const char *url,char *file,int filesize) { int i,skip; filesize--; skip=0; for(i=0; i/LC_MESSAGES/%s.mo\" where is derived from the effective locale.\n"),LOCALEDIR,PACKAGE_NAME); if (CurrentLocale) { printf(_("Currently effective locale is \"%s\".\n"),CurrentLocale); } else { printf(_("Locale is not set in the environment variable.\n")); } // TRANSLATORS: You may change this message to tell the reader that the language is correctly supported. printf(_("If this message is in English, then your language is not supported or not correctly installed.\n")); } #endif exit(EXIT_SUCCESS); } char *get_param_value(const char *param,char *line) { int plen; while (*line==' ' || *line=='\t') line++; plen=strlen(param); if (strncasecmp(line,param,plen)) return(NULL); if (line[plen]!=' ' && line[plen]!='\t') return(NULL); line+=plen; while (*line==' ' || *line=='\t') line++; return(line); } void unlinkdir(const char *dir,bool contentonly) { struct stat st; DIR *dirp; struct dirent *direntp; char dname[MAXLEN]; int err; dirp=opendir(dir); if (!dirp) return; while ((direntp = readdir(dirp)) != NULL) { if (direntp->d_name[0] == '.' && (direntp->d_name[1] == '\0' || (direntp->d_name[1] == '.' && direntp->d_name[2] == '\0'))) continue; if (snprintf(dname,sizeof(dname),"%s/%s",dir,direntp->d_name)>=sizeof(dname)) { debuga(_("Path too long: ")); debuga_more("%s/%s\n",dir,direntp->d_name); exit(EXIT_FAILURE); } #ifdef HAVE_LSTAT err=lstat(dname,&st); #else err=stat(dname,&st); #endif if (err) { debuga(_("Cannot stat \"%s\": %s\n"),dname,strerror(errno)); exit(EXIT_FAILURE); } if (S_ISREG(st.st_mode)) { if (unlink(dname)) { debuga(_("Cannot delete \"%s\": %s\n"),dname,strerror(errno)); exit(EXIT_FAILURE); } } else if (S_ISDIR(st.st_mode)) { unlinkdir(dname,0); } else { debuga(_("Unknown path type \"%s\"\n"),dname); } } closedir(dirp); if (!contentonly) { if (rmdir(dir)) { debuga(_("Cannot delete \"%s\": %s\n"),dir,strerror(errno)); exit(EXIT_FAILURE); } } } /*! Delete every file from the temporary directory where sarg is told to store its temporary files. As any stray file left over by a previous run would be included in the report, we must delete every file from the temporary directory before we start processing the logs. But the temporary directory is given by the user either in the configuration file or on the command line. We check that the user didn't give a wrong directory by looking at the files stored in the directory. If a single file is not one of ours, we abort. \param dir The temporary directory to purge. */ void emptytmpdir(const char *dir) { struct stat st; DIR *dirp; struct dirent *direntp; int dlen; int elen; char dname[MAXLEN]; int err; int i; static const char *TmpExt[]= { ".int_unsort", ".int_log", ".day", "htmlrel.txt", ".user_unsort", ".user_log", ".utmp", ".ip" }; dirp=opendir(dir); if (!dirp) return; // make sure the temporary directory contains only our files while ((direntp = readdir(dirp)) != NULL) { if (direntp->d_name[0] == '.' && (direntp->d_name[1] == '\0' || (direntp->d_name[1] == '.' && direntp->d_name[2] == '\0'))) continue; // is it one of our files dlen=strlen(direntp->d_name); for (i=sizeof(TmpExt)/sizeof(TmpExt[0])-1 ; i>=0 ; i--) { elen=strlen(TmpExt[i]); if (dlen>=elen && strcasecmp(direntp->d_name+dlen-elen,TmpExt[i])==0) break; } if (i<0) { debuga(_("Unknown file \"%s\" found in temporary directory \"%s\". It is not one of our files. " "Please check the temporary directory you gave to sarg. Adjust the path to a safe " "directory or manually delete the content of \"%s\"\n"),direntp->d_name,dir,dir); exit(EXIT_FAILURE); } if (snprintf(dname,sizeof(dname),"%s/%s",dir,direntp->d_name)>=sizeof(dname)) { debuga(_("Path too long: ")); debuga_more("%s/%s\n",dir,direntp->d_name); exit(EXIT_FAILURE); } #ifdef HAVE_LSTAT err=lstat(dname,&st); #else err=stat(dname,&st); #endif if (err) { debuga(_("Cannot stat \"%s\": %s\n"),dname,strerror(errno)); exit(EXIT_FAILURE); } if (S_ISDIR(st.st_mode)) { unlinkdir(dname,0); } else if (!S_ISREG(st.st_mode)) { debuga(_("Unknown path type \"%s\". Check your temporary directory\n"),dname); exit(EXIT_FAILURE); } } rewinddir(dirp); // now delete our files while ((direntp = readdir(dirp)) != NULL) { if (direntp->d_name[0] == '.' && (direntp->d_name[1] == '\0' || (direntp->d_name[1] == '.' && direntp->d_name[2] == '\0'))) continue; // is it one of our files dlen=strlen(direntp->d_name); for (i=sizeof(TmpExt)/sizeof(TmpExt[0])-1 ; i>=0 ; i--) { elen=strlen(TmpExt[i]); if (dlen>=elen && strcasecmp(direntp->d_name+dlen-elen,TmpExt[i])==0) break; } if (i<0) { debuga(_("Unknown file \"%s\" found in temporary directory \"%s\". It is not one of our files. " "Please check the temporary directory you gave to sarg. Adjust the path to a safe " "directory or manually delete the content of \"%s\"\n"),direntp->d_name,dir,dir); exit(EXIT_FAILURE); } if (snprintf(dname,sizeof(dname),"%s/%s",dir,direntp->d_name)>=sizeof(dname)) { debuga(_("Path too long: ")); debuga_more("%s/%s\n",dir,direntp->d_name); exit(EXIT_FAILURE); } #ifdef HAVE_LSTAT err=lstat(dname,&st); #else err=stat(dname,&st); #endif if (err) { debuga(_("Cannot stat \"%s\": %s\n"),dname,strerror(errno)); exit(EXIT_FAILURE); } if (S_ISREG(st.st_mode)) { if (unlink(dname)) { debuga(_("Cannot delete \"%s\": %s\n"),dname,strerror(errno)); exit(EXIT_FAILURE); } } else { debuga(_("Unknown path type \"%s\"\n"),dname); } } closedir(dirp); } /*! Extract an url, IPv4 or IPv6 from a buffer. The IP addresses may end with a prefix size. \param buf The buffer to parse. \param text A pointer to set to the beginning of the string pattern. No terminating zero is inserted. The pointer may be NULL. \param ipv4 A 4 bytes buffer to store the bytes of the IPv4 address. \param ipv6 A 8 short integers buffer to store the values of the IPv6 address. \param nbits The number of prefix bits for an IP address. \param next The content of the line after the extracted address. \retval 3 The pattern is a IPv6 address. \retval 2 The pattern is a IPv4 address. \retval 1 The patter is a string. \retval 0 Empty pattern. */ int extract_address_mask(const char *buf,const char **text,unsigned char *ipv4,unsigned short int *ipv6,int *nbits,const char **next) { int i; int j; int ip_size; unsigned int value4, value6; unsigned short int addr[8]; int addr_len; int nibble6_len; int mask, max_mask; int pad_pos; int pad_len; bool bracket=false; bool port=false; int port_num=0; // skip leading spaces and tabs while (*buf && (*buf==' ' || *buf=='\t')) buf++; // find out the nature of the pattern ip_size=0x60 | 0x04; if (*buf=='[') { bracket=true; ip_size=0x60; buf++; } value4=0U; value6=0U; addr_len=0; nibble6_len=0; pad_pos=-1; for (i=0 ; (unsigned char)buf[i]>' ' && buf[i]!='/' && buf[i]!='?' && (!bracket || buf[i]!=']') && ip_size ; i++) { if (ip_size & 0x04) { if (isdigit(buf[i])) { if (port) { port_num=port_num*10+(buf[i]-'0'); if (port_num>65535) ip_size&=~0x04; } else { value4=value4*10+(buf[i]-'0'); if (value4>0xFFU) ip_size&=~0x04; } } else if (buf[i]=='.' && addr_len<4) { addr[addr_len++]=(unsigned short)(value4 & 0xFFU); value4=0U; } else if (!port && buf[i]==':') { port=true; } else { ip_size&=~0x04; } } if (ip_size & 0x60) { if (isdigit(buf[i])) { value6=(value6<<4)+(buf[i]-'0'); nibble6_len++; if (value6>0xFFFFU) ip_size&=~0x60; } else if (toupper(buf[i])>='A' && toupper(buf[i])<='F') { value6=(value6<<4)+(toupper(buf[i])-'A'+10); nibble6_len++; if (value6>0xFFFFU) ip_size&=~0x60; } else if (buf[i]==':' && addr_len<8) { if (nibble6_len>0) { addr[addr_len++]=(unsigned short)(value6 & 0xFFFFU); nibble6_len=0; } value6=0U; if (buf[i+1]==':') { pad_pos=addr_len; i++; } } else { ip_size&=~0x60; } } } if (i==0) return(0); if (ip_size & 0x04) { if (addr_len!=3) ip_size&=~0x04; else addr[addr_len++]=(unsigned short)(value4 & 0xFFU); } if (ip_size & 0x60) { if (pad_pos<0 && addr_len!=7) { ip_size&=~0x60; } else if (pad_pos>=0 && addr_len>=7) ip_size&=~0x60; else if (nibble6_len>0) addr[addr_len++]=(unsigned short)(value6 & 0xFFFFU); } if (!ip_size) { if (text) { *text=buf; if (bracket) (*text)--; } while ((unsigned char)buf[i]>' ') i++; if (next) *next=buf+i; return(1); } max_mask=(ip_size & 0x04) ? 4*8 : 8*16; if (buf[i]=='/') { i++; mask=atoi(buf+i); while (isdigit(buf[i])) i++; if (mask<0 || mask>max_mask) mask=max_mask; } else mask=max_mask; if (ip_size & 0x60 && bracket && buf[i]==']') i++; if (next) *next=buf+i; if (ip_size & 0x04) { if (nbits) *nbits=mask; for (i=0 ; i=0) { while (i