sarg-2.3.6/ABOUT-NLS0000644000000000000000000027215512105453133012414 0ustar rootroot1 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. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 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. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _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.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. 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.3 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.4 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.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of May 2010. 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 ar as ast az be be@latin bg bn_IN bs ca crh +---------------------------------------------------+ a2ps | [] [] | aegis | | ant-phone | | anubis | | aspell | [] [] | bash | | bfd | | bibshelf | [] | binutils | | bison | | bison-runtime | [] | bluez-pin | [] [] | bombono-dvd | | buzztard | | cflow | | clisp | | coreutils | [] [] | cpio | | cppi | | cpplib | [] | cryptsetup | | dfarc | | dialog | [] [] | dico | | diffutils | [] | dink | | doodle | | e2fsprogs | [] | enscript | [] | exif | | fetchmail | [] | findutils | [] | flex | [] | freedink | | gas | | gawk | [] [] | gcal | [] | gcc | | gettext-examples | [] [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gip | [] | gjay | | gliv | [] | glunarclock | [] [] | gnubiff | | gnucash | [] | gnuedu | | gnulib | | gnunet | | gnunet-gtk | | gnutls | | gold | | gpe-aerial | | gpe-beam | | gpe-bluetooth | | gpe-calendar | | gpe-clock | [] | gpe-conf | | gpe-contacts | | gpe-edit | | gpe-filemanager | | gpe-go | | gpe-login | | gpe-ownerinfo | [] | gpe-package | | gpe-sketchbook | | gpe-su | [] | gpe-taskmanager | [] | gpe-timesheet | [] | gpe-today | [] | gpe-todo | | gphoto2 | | gprof | [] | gpsdrive | | gramadoir | | grep | | grub | [] [] | gsasl | | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] [] [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] [] | gutenprint | | hello | [] | help2man | | hylafax | | idutils | | indent | [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | | iso_639 | [] [] [] [] [] | iso_639_3 | [] | jwhois | | kbd | | keytouch | [] | keytouch-editor | | keytouch-keyboa... | [] | klavaro | [] | latrine | | ld | [] | leafpad | [] [] | libc | [] [] | libexif | () | libextractor | | libgnutls | | libgpewidget | | libgpg-error | | libgphoto2 | | libgphoto2_port | | libgsasl | | libiconv | [] | libidn | | lifelines | | liferea | [] [] | lilypond | | linkdr | [] | lordsawar | | lprng | | lynx | [] | m4 | | mailfromd | | mailutils | | make | | man-db | | man-db-manpages | | minicom | | mkisofs | | myserver | | nano | [] [] | opcodes | | parted | | pies | | popt | | psmisc | | pspp | [] | pwdutils | | radius | [] | recode | [] [] | rosegarden | | rpm | | rush | | sarg | | screem | | scrollkeeper | [] [] [] | sed | [] [] | sharutils | [] [] | shishi | | skencil | | solfege | | solfege-manual | | soundtracker | | sp | | sysstat | | tar | [] | texinfo | | tin | | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] | vice | | vmm | | vorbis-tools | | wastesedge | | wdiff | | wget | [] [] | wyslij-po | | xchat | [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +---------------------------------------------------+ af am ar as ast az be be@latin bg bn_IN bs ca crh 6 0 2 3 19 1 11 3 28 3 1 38 5 cs da de el en en_GB en_ZA eo es et eu fa fi +-------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] | aegis | [] [] [] | ant-phone | [] () | anubis | [] [] [] | aspell | [] [] [] [] [] | bash | [] [] [] [] | bfd | [] [] | bibshelf | [] [] [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] | bombono-dvd | [] [] | buzztard | [] [] [] | cflow | [] [] [] | clisp | [] [] [] [] | coreutils | [] [] [] [] | cpio | [] | cppi | [] | cpplib | [] [] [] | cryptsetup | [] | dfarc | [] [] [] [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] [] | dink | [] [] [] | doodle | [] | e2fsprogs | [] [] [] | enscript | [] [] [] | exif | () [] [] [] | fetchmail | [] [] () [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | freedink | [] [] [] [] | gas | [] | gawk | [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] | gip | [] [] [] [] [] | gjay | [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] | gnubiff | () | gnucash | [] () () () () () | gnuedu | [] [] | gnulib | [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gold | [] [] | gpe-aerial | [] [] [] [] [] | gpe-beam | [] [] [] [] [] | gpe-bluetooth | [] [] [] | gpe-calendar | [] [] | gpe-clock | [] [] [] [] [] | gpe-conf | [] [] [] [] | gpe-contacts | [] [] [] [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] [] [] | gpe-go | [] [] [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] [] [] [] | gpe-sketchbook | [] [] [] [] [] | gpe-su | [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] | gpe-today | [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] () [] [] [] [] | gprof | [] [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] [] | grep | [] [] | grub | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins-bad | [] [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] | gtick | [] () [] [] | gtkam | [] [] () [] [] | gtkorphan | [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] [] [] [] | hello | [] [] [] [] [] | help2man | [] [] | hylafax | [] [] | idutils | [] [] [] | indent | [] [] [] [] [] [] [] [] | iso_15924 | [] () [] [] [] | iso_3166 | [] [] [] () [] [] [] () [] | iso_3166_2 | () | iso_4217 | [] [] [] () [] [] [] | iso_639 | [] [] [] () [] [] [] | iso_639_3 | | jwhois | [] [] | kbd | [] [] [] [] [] | keytouch | [] [] [] | keytouch-editor | [] [] [] | keytouch-keyboa... | [] [] | klavaro | [] [] [] [] | latrine | [] () [] | ld | [] [] [] | leafpad | [] [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] [] () | libextractor | | libgnutls | [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] () | libgphoto2_port | [] () [] | libgsasl | [] | libiconv | [] [] [] [] [] [] | libidn | [] [] [] [] | lifelines | [] () | liferea | [] [] [] [] [] | lilypond | [] [] [] [] | linkdr | [] [] [] [] | lordsawar | [] | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] [] [] | man-db | | man-db-manpages | | minicom | [] [] [] [] [] | mkisofs | [] | myserver | | nano | [] [] [] [] | opcodes | [] [] [] | parted | [] [] | pies | | popt | [] [] [] [] [] [] | psmisc | [] [] [] [] | pspp | [] | pwdutils | [] | radius | [] | recode | [] [] [] [] [] [] [] | rosegarden | () () () () | rpm | [] [] [] | rush | | sarg | | screem | | scrollkeeper | [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] | sharutils | [] [] [] [] [] | shishi | | skencil | [] () [] | solfege | [] [] [] [] | solfege-manual | [] [] | soundtracker | [] [] [] | sp | [] | sysstat | [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | tin | [] [] | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] [] [] [] [] | vice | () () | vmm | [] | vorbis-tools | [] [] | wastesedge | [] | wdiff | [] [] [] | wget | [] [] [] [] | wyslij-po | [] | xchat | [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] | +-------------------------------------------------+ cs da de el en en_GB en_ZA eo es et eu fa fi 64 105 117 18 1 8 0 28 89 18 19 0 104 fr ga gl gu he hi hr hu hy id is it ja ka kn +------------------------------------------------+ a2ps | [] [] [] | aegis | [] [] | ant-phone | [] [] | anubis | [] [] [] | aspell | [] [] [] [] | bash | [] [] [] | bfd | [] [] | bibshelf | [] [] [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] | bombono-dvd | | buzztard | [] | cflow | [] [] | clisp | [] | coreutils | [] [] [] [] [] | cpio | [] [] [] | cppi | [] | cpplib | [] [] | cryptsetup | [] [] [] | dfarc | [] [] | dialog | [] [] [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] [] [] | dink | [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] | exif | [] [] [] [] [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] | freedink | [] [] | gas | [] [] | gawk | [] [] [] [] () [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] [] | gjay | | gliv | () | glunarclock | [] [] [] | gnubiff | () [] () | gnucash | () () () () [] | gnuedu | [] [] | gnulib | [] [] [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gold | [] | gpe-aerial | [] [] | gpe-beam | [] [] [] | gpe-bluetooth | [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] [] [] | gpe-edit | [] [] | gpe-filemanager | [] [] [] | gpe-go | [] [] [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] | gpe-su | [] [] [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] [] [] | gpe-todo | [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] [] | grep | [] | grub | [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] [] | gtick | [] [] [] [] | gtkam | [] [] [] [] [] | gtkorphan | [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] [] [] | hello | [] [] | help2man | [] | hylafax | [] | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | () [] [] | iso_3166 | () [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | () [] [] [] | iso_4217 | () [] [] [] [] | iso_639 | () [] [] [] [] [] [] [] | iso_639_3 | () [] [] | jwhois | [] [] [] [] | kbd | [] [] | keytouch | [] [] [] [] [] | keytouch-editor | [] [] [] [] | keytouch-keyboa... | [] [] [] [] | klavaro | [] [] | latrine | [] [] | ld | [] [] [] | leafpad | [] [] [] [] [] [] () | libc | [] [] [] [] | libexif | | libextractor | | libgnutls | [] [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] [] | lifelines | () | liferea | [] [] [] [] | lilypond | [] | linkdr | [] [] [] [] | lordsawar | | lprng | [] | lynx | [] [] [] [] [] | m4 | [] [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | [] [] | man-db-manpages | [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | | nano | [] [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] | pies | | popt | [] [] [] [] [] [] [] [] | psmisc | [] [] | pspp | | pwdutils | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rosegarden | () () () () | rpm | [] [] | rush | | sarg | [] | screem | [] [] | scrollkeeper | [] [] [] | sed | [] [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | [] | skencil | [] | solfege | [] [] [] | solfege-manual | [] [] | soundtracker | [] [] | sp | [] () | sysstat | [] [] [] [] | tar | [] [] [] [] [] [] | texinfo | [] [] [] [] | tin | [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux-ng | [] [] [] [] [] | vice | () () () | vmm | [] | vorbis-tools | [] | wastesedge | () () | wdiff | | wget | [] [] [] [] [] [] [] | wyslij-po | [] [] | xchat | [] [] [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | +------------------------------------------------+ fr ga gl gu he hi hr hu hy id is it ja ka kn 121 53 20 4 8 2 5 53 2 120 5 83 66 0 4 ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne +-----------------------------------------------+ a2ps | [] | aegis | | ant-phone | | anubis | [] [] | aspell | [] | bash | | bfd | | bibshelf | [] [] | binutils | | bison | [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | bombono-dvd | | buzztard | | cflow | | clisp | | coreutils | [] | cpio | | cppi | | cpplib | | cryptsetup | | dfarc | [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] | dink | | doodle | | e2fsprogs | | enscript | | exif | [] | fetchmail | | findutils | | flex | | freedink | [] | gas | | gawk | | gcal | | gcc | | gettext-examples | [] [] [] [] | gettext-runtime | [] | gettext-tools | [] | gip | [] [] | gjay | | gliv | | glunarclock | [] | gnubiff | | gnucash | () () () () | gnuedu | | gnulib | | gnunet | | gnunet-gtk | | gnutls | [] | gold | | gpe-aerial | [] | gpe-beam | [] | gpe-bluetooth | [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] | gpe-conf | [] [] | gpe-contacts | [] [] | gpe-edit | [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] | gpe-timesheet | [] [] | gpe-today | [] [] [] [] | gpe-todo | [] [] | gphoto2 | | gprof | [] | gpsdrive | | gramadoir | | grep | | grub | | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | | gtick | | gtkam | [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | | hello | [] [] [] | help2man | | hylafax | | idutils | | indent | | iso_15924 | [] [] | iso_3166 | [] [] () [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] | iso_639 | [] [] | iso_639_3 | [] | jwhois | [] | kbd | | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | klavaro | [] | latrine | [] | ld | | leafpad | [] [] [] | libc | [] | libexif | | libextractor | | libgnutls | [] | libgpewidget | [] [] | libgpg-error | | libgphoto2 | | libgphoto2_port | | libgsasl | | libiconv | | libidn | | lifelines | | liferea | | lilypond | | linkdr | | lordsawar | | lprng | | lynx | | m4 | | mailfromd | | mailutils | | make | [] | man-db | | man-db-manpages | | minicom | [] | mkisofs | | myserver | | nano | [] [] | opcodes | | parted | | pies | | popt | [] [] [] | psmisc | | pspp | | pwdutils | | radius | | recode | | rosegarden | | rpm | | rush | | sarg | | screem | | scrollkeeper | [] [] | sed | | sharutils | | shishi | | skencil | | solfege | [] | solfege-manual | | soundtracker | | sp | | sysstat | [] | tar | [] | texinfo | [] | tin | | unicode-han-tra... | | unicode-transla... | | util-linux-ng | | vice | | vmm | | vorbis-tools | | wastesedge | | wdiff | | wget | [] | wyslij-po | | xchat | [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +-----------------------------------------------+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne 20 5 10 1 12 48 4 2 2 4 24 10 19 3 1 nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr +---------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] | aegis | [] [] [] | ant-phone | [] [] | anubis | [] [] [] | aspell | [] [] [] [] [] | bash | [] [] | bfd | [] | bibshelf | [] [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] | bombono-dvd | [] () | buzztard | [] [] | cflow | [] | clisp | [] [] | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cppi | [] | cpplib | [] | cryptsetup | [] | dfarc | [] | dialog | [] [] [] [] | dico | [] | diffutils | [] [] [] [] [] [] | dink | () | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | exif | [] [] [] () [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] [] | freedink | [] [] | gas | | gawk | [] [] [] [] | gcal | | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] | gip | [] [] [] [] [] | gjay | | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] | gnubiff | [] () | gnucash | [] () () () | gnuedu | [] | gnulib | [] [] [] [] | gnunet | | gnunet-gtk | | gnutls | [] [] | gold | | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-bluetooth | [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] [] | gphoto2 | [] [] [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | grub | [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] [] [] | gutenprint | [] [] | hello | [] [] [] [] | help2man | [] [] | hylafax | [] | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | [] [] [] [] | iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | iso_3166_2 | [] [] [] | iso_4217 | [] [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] [] [] | keytouch-editor | [] [] [] | keytouch-keyboa... | [] [] [] | klavaro | [] [] | latrine | [] [] | ld | | leafpad | [] [] [] [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] () [] | libextractor | | libgnutls | [] [] | libgpewidget | [] [] [] | libgpg-error | [] [] | libgphoto2 | [] [] | libgphoto2_port | [] [] [] [] | libgsasl | [] [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] | lifelines | [] [] | liferea | [] [] [] [] [] () () [] | lilypond | [] | linkdr | [] [] [] | lordsawar | | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] | make | [] [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | | nano | [] [] [] [] | opcodes | [] [] | parted | [] [] [] [] | pies | [] | popt | [] [] [] [] | psmisc | [] [] [] | pspp | [] [] | pwdutils | [] | radius | [] [] [] | recode | [] [] [] [] [] [] [] [] | rosegarden | () () | rpm | [] [] [] | rush | [] [] | sarg | | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] [] [] [] | solfege-manual | [] [] [] | soundtracker | [] | sp | | sysstat | [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | [] | unicode-han-tra... | | unicode-transla... | | util-linux-ng | [] [] [] [] [] | vice | [] | vmm | [] | vorbis-tools | [] [] | wastesedge | [] | wdiff | [] [] | wget | [] [] [] [] [] [] [] | wyslij-po | [] [] [] | xchat | [] [] [] [] [] [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] | +---------------------------------------------------+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr 135 10 4 7 105 1 29 61 47 91 3 55 47 8 37 sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW +---------------------------------------------------+ a2ps | [] [] [] [] [] | 27 aegis | [] | 9 ant-phone | [] [] [] [] | 9 anubis | [] [] [] [] | 15 aspell | [] [] [] | 20 bash | [] [] | 11 bfd | [] | 6 bibshelf | [] [] [] | 16 binutils | [] [] | 8 bison | [] [] | 12 bison-runtime | [] [] [] [] [] [] | 29 bluez-pin | [] [] [] [] [] [] [] [] | 37 bombono-dvd | [] | 4 buzztard | [] | 7 cflow | [] [] [] | 9 clisp | | 10 coreutils | [] [] [] [] | 22 cpio | [] [] [] [] [] [] | 13 cppi | [] [] | 5 cpplib | [] [] [] [] [] [] | 13 cryptsetup | [] [] | 7 dfarc | [] | 9 dialog | [] [] [] [] [] [] [] | 30 dico | [] | 2 diffutils | [] [] [] [] [] [] | 30 dink | | 4 doodle | [] [] | 7 e2fsprogs | [] [] [] | 11 enscript | [] [] [] [] | 17 exif | [] [] [] | 16 fetchmail | [] [] [] | 17 findutils | [] [] [] [] [] | 20 flex | [] [] [] [] | 15 freedink | [] | 10 gas | [] | 4 gawk | [] [] [] [] | 18 gcal | [] [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] [] | 34 gettext-runtime | [] [] [] [] [] [] [] | 30 gettext-tools | [] [] [] [] [] [] | 22 gip | [] [] [] [] | 22 gjay | [] | 3 gliv | [] [] [] | 14 glunarclock | [] [] [] [] [] | 19 gnubiff | [] [] | 4 gnucash | () [] () () | 9 gnuedu | [] [] | 7 gnulib | [] [] [] [] | 16 gnunet | [] | 1 gnunet-gtk | [] [] [] | 5 gnutls | [] [] [] | 10 gold | [] | 4 gpe-aerial | [] [] [] | 18 gpe-beam | [] [] [] | 19 gpe-bluetooth | [] [] [] | 13 gpe-calendar | [] [] [] [] | 12 gpe-clock | [] [] [] [] [] | 28 gpe-conf | [] [] [] [] | 20 gpe-contacts | [] [] [] | 17 gpe-edit | [] [] [] | 12 gpe-filemanager | [] [] [] [] | 16 gpe-go | [] [] [] [] [] | 25 gpe-login | [] [] [] | 11 gpe-ownerinfo | [] [] [] [] [] | 25 gpe-package | [] [] [] | 13 gpe-sketchbook | [] [] [] | 20 gpe-su | [] [] [] [] [] | 30 gpe-taskmanager | [] [] [] [] [] | 29 gpe-timesheet | [] [] [] [] [] | 25 gpe-today | [] [] [] [] [] [] | 30 gpe-todo | [] [] [] [] | 17 gphoto2 | [] [] [] [] [] | 24 gprof | [] [] [] | 15 gpsdrive | [] [] [] | 11 gramadoir | [] [] [] | 11 grep | [] [] [] | 10 grub | [] [] [] | 14 gsasl | [] [] [] [] | 14 gss | [] [] [] | 11 gst-plugins-bad | [] [] [] [] | 22 gst-plugins-base | [] [] [] [] [] | 24 gst-plugins-good | [] [] [] [] [] | 25 gst-plugins-ugly | [] [] [] [] [] | 29 gstreamer | [] [] [] [] | 22 gtick | [] [] [] | 13 gtkam | [] [] [] | 20 gtkorphan | [] [] [] | 14 gtkspell | [] [] [] [] [] [] [] [] [] | 45 gutenprint | [] | 10 hello | [] [] [] [] [] [] | 21 help2man | [] [] | 7 hylafax | [] | 5 idutils | [] [] [] [] | 17 indent | [] [] [] [] [] [] | 30 iso_15924 | () [] () [] [] | 16 iso_3166 | [] [] () [] [] () [] [] [] () | 53 iso_3166_2 | () [] () [] | 9 iso_4217 | [] () [] [] () [] [] | 26 iso_639 | [] [] [] () [] () [] [] [] [] | 38 iso_639_3 | [] () | 8 jwhois | [] [] [] [] [] | 16 kbd | [] [] [] [] [] | 15 keytouch | [] [] [] | 16 keytouch-editor | [] [] [] | 14 keytouch-keyboa... | [] [] [] | 14 klavaro | [] | 11 latrine | [] [] [] | 10 ld | [] [] [] [] | 11 leafpad | [] [] [] [] [] [] | 33 libc | [] [] [] [] [] | 21 libexif | [] () | 6 libextractor | [] | 1 libgnutls | [] [] [] | 9 libgpewidget | [] [] [] | 14 libgpg-error | [] [] [] | 9 libgphoto2 | [] [] | 8 libgphoto2_port | [] [] [] [] | 13 libgsasl | [] [] [] | 13 libiconv | [] [] [] [] | 21 libidn | () [] [] | 11 lifelines | [] | 4 liferea | [] [] [] | 21 lilypond | [] | 7 linkdr | [] [] [] [] [] | 17 lordsawar | | 1 lprng | [] | 3 lynx | [] [] [] [] | 17 m4 | [] [] [] [] | 19 mailfromd | [] [] | 3 mailutils | [] | 5 make | [] [] [] [] | 21 man-db | [] [] [] | 8 man-db-manpages | | 4 minicom | [] [] | 16 mkisofs | [] [] | 9 myserver | | 0 nano | [] [] [] [] | 21 opcodes | [] [] [] | 11 parted | [] [] [] [] [] | 15 pies | [] [] | 3 popt | [] [] [] [] [] [] | 27 psmisc | [] [] | 11 pspp | | 4 pwdutils | [] [] | 6 radius | [] [] | 9 recode | [] [] [] [] | 28 rosegarden | () | 0 rpm | [] [] [] | 11 rush | [] [] | 4 sarg | | 1 screem | [] | 3 scrollkeeper | [] [] [] [] [] | 27 sed | [] [] [] [] [] | 30 sharutils | [] [] [] [] [] | 22 shishi | [] | 3 skencil | [] [] | 7 solfege | [] [] [] [] | 16 solfege-manual | [] | 8 soundtracker | [] [] [] | 9 sp | [] | 3 sysstat | [] [] | 15 tar | [] [] [] [] [] [] | 23 texinfo | [] [] [] [] | 16 tin | | 4 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux-ng | [] [] [] [] | 20 vice | () () | 1 vmm | [] | 4 vorbis-tools | [] | 6 wastesedge | | 2 wdiff | [] [] | 7 wget | [] [] [] [] [] | 26 wyslij-po | [] [] | 8 xchat | [] [] [] [] [] [] | 36 xdg-user-dirs | [] [] [] [] [] [] [] [] [] | 60 xkeyboard-config | [] [] [] [] | 25 +---------------------------------------------------+ 84 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW 178 domains 119 1 3 2 0 10 66 50 155 17 97 7 41 2610 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 May 2010 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.6 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 Library 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.6/aclocal.m40000644000000000000000000027011712135002121013007 0ustar rootroot# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 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. # gettext.m4 serial 63 (gettext-0.18) dnl Copyright (C) 1995-2010 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 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 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 MacOS 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_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [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_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [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_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [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], []) # iconv.m4 serial 11 (gettext-0.18.1) dnl Copyright (C) 2000-2002, 2007-2010 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_TRY_LINK will then fail, the second AC_TRY_LINK 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_TRY_LINK([#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_TRY_LINK([#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, HP-UX 11.11, Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* 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 const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* 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 const char input[] = "\263"; char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #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 const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #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)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) 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])]], [[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_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || 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.]) fi ]) # intlmacosx.m4 serial 3 (gettext-0.18) dnl Copyright (C) 2004-2010 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 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 package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#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 MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#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 MacOS 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 4 (gettext-0.18) dnl Copyright (C) 1996-2003, 2009-2010 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/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.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 ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 GCC]) 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. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path 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 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do 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 GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) # lib-link.m4 serial 21 (gettext-0.18) dnl Copyright (C) 2001-2010 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_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. The missing-message dnl defaults to 'no' and may contain additional hints for the user. dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, dnl because these -l options might require -L options that are present in dnl LIBS. -l options benefit only from the -L options listed before it. dnl Otherwise, add it to the front of LIBS, because it may be a static dnl library that depends on another static library that is present in LIBS. dnl Static libraries benefit only from the static libraries listed after dnl it. case " $LIB[]NAME" in *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 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],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [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],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[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],[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-2010 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-2010 Free Software Foundation, dnl 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 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 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 17 (gettext-0.18) dnl Copyright (C) 1995-2010 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 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 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]) 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([AM_PROG_MKDIR_P])dnl defined by automake 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.18]) 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" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/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 assigment 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 assigment 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" 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 echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 ]) # Copyright (C) 2003, 2004, 2005, 2006 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. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) sarg-2.3.6/auth.c0000644000000000000000000000416312105453430012262 0ustar rootroot/* * 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(_("File name too long: %s/%s/.htaccess\n"),outdirname,uinfo->filename); exit(EXIT_FAILURE); } if((fp_auth=fopen(htname,"w"))==NULL) { debuga(_("(auth) Cannot open file: %s - %s\n"),htname,strerror(errno)); exit(EXIT_FAILURE); } if ((fp_in=fopen(AuthUserTemplateFile,"r"))==NULL) { debuga(_("(auth) Cannot open template 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.6/authfail.c0000644000000000000000000001531112105453430013113 0ustar rootroot/* * 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) { debuga(_("(authfail) Cannot open file %s\n"),authfail_in); 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) { debuga(_("(authfail) Cannot open file %s\n"),report); exit(EXIT_FAILURE); } 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(_("There is a broken date in file %s\n"),authfail_in); exit(EXIT_FAILURE); } if (getword(hora,sizeof(hora),&gwarea,'\t')<0) { debuga(_("There is a broken time in file %s\n"),authfail_in); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("There is a broken user ID in file %s\n"),authfail_in); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("There is a broken IP address in file %s\n"),authfail_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("There is a broken 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.6/BETA-TESTERS0000644000000000000000000000043212105453133012735 0ustar rootrootSpecial 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.6/btree_cache.c0000644000000000000000000001501312105453133013541 0ustar rootroot/* * 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; else 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.6/cfgaux/compile0000644000000000000000000000532612105453133014007 0ustar rootroot#! /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.6/cfgaux/config.guess0000644000000000000000000012753412105453133014757 0ustar rootroot#! /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.6/cfgaux/config.rpath0000644000000000000000000004401212105453133014734 0ustar rootroot#! /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-2010 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,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; 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*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; 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 ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-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*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; 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 test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) 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=: ;; 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*) library_names_spec='$libname.a' ;; 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' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) 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) 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' ;; 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.6/cfgaux/depcomp0000644000000000000000000002752512105453133014013 0ustar rootroot#! /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.6/cfgaux/install-sh0000644000000000000000000001273612105453133014440 0ustar rootroot#!/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.6/cfgaux/missing0000644000000000000000000002123112105453133014021 0ustar rootroot#! /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.6/cfgaux/mkinstalldirs0000644000000000000000000000132612105453133015233 0ustar rootroot#! /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.6/ChangeLog0000644000000000000000000020175012135003722012726 0ustar rootrootSARG ChangeLog 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.6/charset.c0000644000000000000000000000407612105453133012755 0ustar rootroot/* * 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.6/CMakeLists.txt0000644000000000000000000003555312135002060013714 0ustar rootrootCMAKE_MINIMUM_REQUIRED (VERSION 2.6) PROJECT(sarg C) SET(sarg_VERSION 2) SET(sarg_REVISION "3.6") SET(sarg_BUILD "") SET(sarg_BUILDDATE "Apr-21-2013") 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) # 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) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -fstack-protector -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.6/config.h0000644000000000000000000000032012105453133012562 0ustar rootroot/* 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.6/configure.in0000644000000000000000000002744012135002073013465 0ustar rootrootdnl Process this file with autoconf or autoreconf to produce a configure script. AC_INIT([sarg],[2.3.6]) 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 LDFLAGS="$LDFLAGS $(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.18]) 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 CFLAGS="${CFLAGS} -fstack-protector -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.6/CONTRIBUTORS0000644000000000000000000000361312105453133013034 0ustar rootrootFrancesco 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.6/convlog.c0000644000000000000000000000472312105453430012772 0ustar rootroot/* * 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) { debuga(_("(convlog) Cannot open log file %s - %s\n"),arq,strerror(errno)); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read the log 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(_("Maybe you have a broken record or garbage 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.6/COPYING0000644000000000000000000004307612105453133012216 0ustar rootroot 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.6/css.c0000644000000000000000000001304212105453430012105 0ustar rootroot/* * 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.6/css.tpl0000644000000000000000000000567612105453133012500 0ustar rootroot.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.6/dansguardian_log.c0000644000000000000000000001262712105453430014626 0ustar rootroot/* * 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(access(DansGuardianConf, R_OK) != 0) { debuga(_("Cannot open DansGuardian config file: %s\n"),DansGuardianConf); exit(EXIT_FAILURE); } if((fp_guard=fopen(DansGuardianConf,"r"))==NULL) { debuga(_("(dansguardian) Cannot open log file: %s\n"),DansGuardianConf); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(guard_in,"a"))==NULL) { debuga(_("(dansguardian) Cannot open log file: %s\n"),guard_in); 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(_("Maybe you have a broken record or garbage in your %s file\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) { debuga(_("(dansguardian) Cannot open log file: %s\n"),loglocation); 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 found in your dansguardian log file %s\n"),loglocation); exit(EXIT_FAILURE); } if (getword_atoi(&hour,&gwarea,':')<0 || getword(minsec,sizeof(minsec),&gwarea,' ')<0) { debuga(_("Invalid time found in your dansguardian log file %s\n"),loglocation); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("Invalid user found in your dansguardian log file %s\n"),loglocation); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,' ')<0) { debuga(_("Invalid IP address found in your dansguardian log file %s\n"),loglocation); exit(EXIT_FAILURE); } if (getword_skip(MAXLEN,&gwarea,'/')<0 || getword_skip(MAXLEN,&gwarea,'/')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),loglocation); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,' ')<0) { debuga(_("Maybe you have a broken url in your %s file\n"),loglocation); exit(EXIT_FAILURE); } if (getword_skip(255,&gwarea,' ')<0 || getword(code1,sizeof(code1),&gwarea,' ')<0 || getword(code2,sizeof(code2),&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\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.6/dansguardian_report.c0000644000000000000000000001324612105453430015356 0ustar rootroot/* * 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) { debuga(_("(dansguardian_report) Cannot open log file %s\n"),dansguardian_in); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debuga(_("(dansguardian_report) Cannot open log file %s\n"),report); 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(_("Maybe you have a broken record or garbage in your %s file\n"),dansguardian_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("Maybe you have a broken url in your %s file\n"),dansguardian_in); exit(EXIT_FAILURE); } if (getword(rule,sizeof(rule),&gwarea,'\n')<0) { debuga(_("Maybe you have a broken rule in your %s file\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.6/datafile.c0000644000000000000000000001620412105453430013071 0ustar rootroot/* * 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)) { debuga(_("(datafile) directory path too long: %s/%s.user_log\n"),tmp,uinfo->filename); exit(EXIT_FAILURE); } if((fp_in=MY_FOPEN(tmp3,"r"))==NULL){ debuga(_("(datafile) Cannot open file %s\n"),tmp3); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read the downloaded files.\n")); 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(_("There is a broken record or garbage in file %s\n"),tmp3); exit(EXIT_FAILURE); } if (getword_skip(20000,&gwarea,'"')<0 || getword(accsmart,sizeof(accsmart),&gwarea,'"')<0) { debuga(_("There is an 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){ debuga(_("(datafile) Cannot open file %s\n"),DataFile); 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.6/decomp.c0000644000000000000000000000447712105453133012600 0ustar rootroot/* * 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 not found: %s\n"),arq); exit(EXIT_FAILURE); } arqlen=strlen(arq); if(arqlen>3 && strcmp(arq+arqlen-3,".gz") == 0) { debuga(_("Decompressing log file \"%s\" with zcat\n"),arq); 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 bzcat\n"),arq); 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 zcat\n"),arq); 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.6/denied.c0000644000000000000000000001347212105453430012554 0ustar rootroot/* * 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) { debuga(_("(denied) Cannot open log file %s\n"),denied_in); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debuga(_("(denied) Cannot open log file %s\n"),report); 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 the denied accesses\n")); 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(_("There is a broken record or garbage in file %s\n"),denied_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("There is a broken 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)<0) 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.6/dichotomic.c0000644000000000000000000001112112105453430013433 0ustar rootroot/* * 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.6/documentation/conf.txt0000644000000000000000000000140712105453133015512 0ustar rootroot/*! \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.6/documentation/css.txt0000644000000000000000000000063212105453133015354 0ustar rootroot/*!\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.6/documentation/decomp.txt0000644000000000000000000000172212105453133016034 0ustar rootroot/*!\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.6/documentation/denied.txt0000644000000000000000000000066212105453133016017 0ustar rootroot/*!\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.6/documentation/exclude.txt0000644000000000000000000000433712105453133016223 0ustar rootroot/*! \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.6/documentation/getconf.txt0000644000000000000000000000425512105453133016216 0ustar rootroot/*! \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.6/documentation/grepday.txt0000644000000000000000000000442212105453133016220 0ustar rootroot/*!\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.6/documentation/index.txt0000644000000000000000000000260312105453133015673 0ustar rootroot/*!\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.6/documentation/log.txt0000644000000000000000000000547512105453133015357 0ustar rootroot/*! \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.6/documentation/longline.txt0000644000000000000000000000260012105453133016370 0ustar rootroot/*! \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.6/documentation/repday.txt0000644000000000000000000000037512105453133016054 0ustar rootroot/*!\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.6/documentation/report.txt0000644000000000000000000001542112105453133016101 0ustar rootroot/*! \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.6/documentation/totger.txt0000644000000000000000000000062312105453133016070 0ustar rootroot/*! \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.6/documentation/usertab.txt0000644000000000000000000000551312105453133016234 0ustar rootroot/*!\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.6/documentation/util.txt0000644000000000000000000005376312105453430015556 0ustar rootroot/*! \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.6/DONATIONS0000644000000000000000000000012112105453133012424 0ustar rootrootIf you like SARG please contribute, go to http://sarg.sourceforge.net Thank you sarg-2.3.6/download.c0000644000000000000000000002513212105453430013127 0ustar rootroot/* * 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(_("Path too long to sort the file: %s/download.int_unsort\n"),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 for %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) { debuga(_("(download) Cannot open log file %s\n"),report_in); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(report,"w"))==NULL) { debuga(_("(download) Cannot open log file %s\n"),report); 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 the downloaded files\n")); 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(_("There is a broken record or garbage in file %s\n"),report_in); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("There is a broken 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.6/Doxyfile0000644000000000000000000016403612105453430012671 0ustar rootroot# 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.6/email.c0000644000000000000000000002224412105453430012410 0ustar rootroot/* * 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) { debuga(_("(email) Cannot open file %s\n"),wger); exit(EXIT_FAILURE); } snprintf(top1,sizeof(top1),"%s/top",dirname); if((fp_top1=fopen(top1,"w"))==NULL) { debuga(_("(email) Cannot open file %s\n"),top1); exit(EXIT_FAILURE); } snprintf(top2,sizeof(top2),"%s/top.tmp",dirname); if((fp_top2=fopen(top2,"w"))==NULL) { debuga(_("(email) Cannot open file %s\n"),top2); 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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),top2,top1); 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) { debuga(_("(email) Cannot open file %s\n"),top1); exit(EXIT_FAILURE); } snprintf(top3,sizeof(top3),"%s/report",dirname); if((fp_top3=fopen(top3,"w"))==NULL) { debuga(_("(email) Cannot open file %s\n"),top3); 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(_("There is an invalid user ID in file %s\n"),top1); exit(EXIT_FAILURE); } if (getword_atoll(&nbytes,&gwarea,'\t')<0) { debuga(_("There is an invalid number of bytes in file %s\n"),top1); exit(EXIT_FAILURE); } if (getword_atoll(&nacc,&gwarea,'\t')<0) { debuga(_("There is an invalid number of access in file %s\n"),top1); exit(EXIT_FAILURE); } if (getword_atoll(&elap,&gwarea,'\0')<0) { debuga(_("There is an 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) { debuga(_("(email) Cannot open file %s\n"),top3); 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. */ 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.6/exclude.c0000644000000000000000000002327212105453430012754 0ustar rootroot/* * 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 exclude_hosts 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) { debuga(_("(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) { debuga(_("(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 the excluded users 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\n"),uexfile); exit(EXIT_FAILURE); } nreg += 11; if (fseek(fp_ex, 0, SEEK_SET)==-1) { debuga(_("Failed to rewind the excluded users file %s: %s\n"),uexfile,strerror(errno)); exit(EXIT_FAILURE); } if((excludeuser=(char *) malloc(nreg))==NULL){ debuga(_("malloc error (%ld bytes required)\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.6/fonts/FreeSans.ttf0000644000000000000000000100360712105453133014536 0ustar rootroot€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.6/fonts/license0000644000000000000000000004313412105453133013654 0ustar rootroot 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.6/fonts/README0000644000000000000000000000024612105453133013164 0ustar rootroot# 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.6/getconf.c0000644000000000000000000006061112105453430012746 0ustar rootroot/* * 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(_("Maybe you have a broken record or garbage in \"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) { debuga(_("(getconf) Cannot open file %s\n"),ConfigFile); 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.6/grepday.c0000644000000000000000000005553412105453430012764 0ustar rootroot/* * 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) { debuga(_("(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; double ymag; 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; ymag=1000.; break; case PTG_LogBin: if (pdata->ymin>0.) symin=log(pdata->ymin); else symin=0.; symax=log(pdata->ymax); ymag=1000.; break; case PTG_Time: symin=(double)pdata->ymin; symax=(double)pdata->ymax; ymag=1.; 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)) { debuga(_("user name too long for %s/%s/%s\n"),outdirname,uinfo->filename,pdata->pngfile); exit(EXIT_FAILURE); } if((pngout=fopen(graph,"wb"))==NULL) { debuga(_("(grepday) Cannot open log file %s\n"),graph); 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) debugaz(_("Graphs disabled as requested in %s\n"),ConfigFile); return; } if (GraphFont[0]=='\0') { if (debugz) debugaz(_("Graphs disabled as no font names were provided in %s\n"),ConfigFile); return; } if(access(GraphFont, R_OK) != 0) { debuga(_("(grepday) Fontname %s not found\n"),GraphFont); exit(EXIT_FAILURE); } #ifdef USE_ICONV localtoutf = iconv_open ("UTF-8", CharSet); if (localtoutf==(iconv_t)-1) { debuga(_("(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]; char colsep; 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 for %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) { debuga(_("(grepday) Cannot open log file %s\n"),wdirname); 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) { colsep=((datetimeby & DATETIME_ELAP)!=0) ? '\t' : '\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 for %s/%s/%s\n"),outdirname,uinfo->filename,"graph.html"); exit(EXIT_FAILURE); } if ((fp_ou=fopen(wdirname,"wt"))==NULL) { debuga(_("(grepday) Cannot open output file %s\n"),wdirname); 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.6/htaccess0000644000000000000000000000022412105453133012667 0ustar rootrootAuthUserFile /usr/local/sarg/passwd AuthName "SARG, Squid Analysis Report Generator" AuthType Basic require user admin %u sarg-2.3.6/html.c0000644000000000000000000005243012135001505012260 0ustar rootroot/* * 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(_("File name too long: %s/sargtmp.int_unsort\n"),tmp); exit(EXIT_FAILURE); } if (snprintf(tmp3,sizeof(tmp3),"%s/sargtmp.int_log",tmp)>=sizeof(tmp3)) { debuga(_("File name too long: %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: %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(_("Input file name too long: %s/htmlrel.txt\n"),tmp); exit(EXIT_FAILURE); } if ((fp_in = fopen(arqin, "r")) == 0){ if (uinfo->no_report) continue; debuga(_("(html3) Cannot open file %s\n"),arqin); exit(EXIT_FAILURE); } if (snprintf(arqou,sizeof(arqou),"%s/%s/%s.html",outdirname,uinfo->filename,uinfo->filename)>=sizeof(arqou)) { debuga(_("Output file name too long: %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(_("File name too long: %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(_("There is a broken number of access in file %s\n"),arqin); exit(EXIT_FAILURE); } tnacc+=ltemp; if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("There is a broken downloaded size in file %s\n"),arqin); exit(EXIT_FAILURE); } tnbytes+=ltemp; if (getword_ptr(NULL,NULL,&gwarea,'\t')<0) { debuga(_("There is a broken url in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_skip(MAXLEN,&gwarea,'\t')<0) { debuga(_("There is a broken access code in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("There is a broken elapsed time in file %s\n"),arqin); exit(EXIT_FAILURE); } tnelap+=ltemp; if (getword_atoll(<emp,&gwarea,'\t')<0) { debuga(_("There is a broken in-cache volume in file %s\n"),arqin); exit(EXIT_FAILURE); } tnincache+=ltemp; if (getword_atoll(<emp,&gwarea,'\n')<0) { debuga(_("There is a broken out-cache volume in file %s\n"),arqin); exit(EXIT_FAILURE); } tnoucache+=ltemp; } rewind(fp_in); if ((fp_ou = fopen(arqou, "w")) == 0){ debuga(_("(html5) Cannot open file %s\n"),arqou); 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(_("There is a broken number of access in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&nnbytes,&gwarea,'\t')<0) { debuga(_("There is a broken number of bytes in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_ptr(buf,&url,&gwarea,'\t')<0) { debuga(_("There is a broken url in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword(tmsg,sizeof(tmsg),&gwarea,'\t')<0) { debuga(_("There is a broken access code in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&nnelap,&gwarea,'\t')<0) { debuga(_("There is a broken elapsed time in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&incache,&gwarea,'\t')<0) { debuga(_("There is a broken in cache column in file %s\n"),arqin); exit(EXIT_FAILURE); } if (getword_atoll(&oucache,&gwarea,'\n')<0) { debuga(_("There is a broken out of cache column in file %s (%d)\n"),arqin,__LINE__); 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(_("File name too long: %s/%s.ip\n"),tmp,uinfo->filename); exit(EXIT_FAILURE); } if ((fp_ip = fopen(arqip, "r")) == 0){ debuga(_("(html6) Cannot open file %s\n"),arqip); exit(EXIT_FAILURE); } if ((fp_ip2 = MY_FOPEN(tmp2, "a")) == 0){ debuga(_("(html7) Cannot open file %s\n"),tmp2); 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(_("Maybe you have a broken user IP in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (getword_ptr(buf,&user_url,&gwarea,'\t')<0) { debuga(_("Maybe you have a broken url in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (strncmp(user_url,url,strlen(url))!=0) continue; if (getword_skip(15,&gwarea,'\t')<0) { debuga(_("Maybe you have a broken day in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (getword_skip(15,&gwarea,'\t')<0) { debuga(_("Maybe you have a broken time in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userbytes,&gwarea,'\t')<0) { debuga(_("Maybe you have a broken size in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userelap,&gwarea,'\0')<0) { debuga(_("Maybe you have a broken elapsed time in your %s file\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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),tmp2,tmp3); 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) { debuga(_("(html8) Cannot open file %s\n"),tmp3); 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(_("Maybe you have a broken user IP in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userbytes,&gwarea,'\t')<0) { debuga(_("Maybe you have a broken size in your %s file\n"),tmp3); exit(EXIT_FAILURE); } if (getword_atoll(&userelap,&gwarea,'\0')<0) { debuga(_("Maybe you have a broken elapsed time in your %s file\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(tnbytes > (PerUserLimit*1000000)) { limit_flag=0; if(access(PerUserLimitFile, R_OK) == 0) { if((fp_usr = fopen(PerUserLimitFile, "r")) == 0) { debuga(_("(html9) Cannot open file %s\n"),PerUserLimitFile); 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) { debuga(_("(html10) Cannot open file %s\n"),PerUserLimitFile); 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.6/images/datetime.png0000644000000000000000000000030712105453133014720 0ustar rootroot‰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.6/images/graph.png0000644000000000000000000000013712105453133014226 0ustar rootroot‰PNG  IHDR ©¬w&&IDAT(‘c` ü‡Â ¦H1Pä?70@%鍸?TIÃÿa¯óûƒ‰Õ‰kíIEND®B`‚sarg-2.3.6/images/sarg.png0000644000000000000000000001576112105453133014072 0ustar rootroot‰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.6/images/sarg-squidguard-block.png0000644000000000000000000000044312105453133017317 0ustar rootroot‰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.6/include/btree_cache.h0000644000000000000000000000032712105453133015173 0ustar rootroot#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.6/include/conf.h0000644000000000000000000002650712105453430013704 0ustar rootroot#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.6/include/config.h.in0000644000000000000000000000354312105453430014624 0ustar rootroot#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.6/include/defs.h0000644000000000000000000002453712135000627013700 0ustar rootroot/*!\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); void date_from(char *date, 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 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.6/include/dichotomic.h0000644000000000000000000000106512105453133015071 0ustar rootroot#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.6/include/extern.h0000644000000000000000000000425512105453133014260 0ustar rootrootextern 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.6/include/info.h0000644000000000000000000000016112135002111013663 0ustar rootroot#define VERSION PACKAGE_VERSION" Arp-21-2013" #define PGM PACKAGE_NAME #define URL "http://sarg.sourceforge.net" sarg-2.3.6/include/ip2name.h0000644000000000000000000000130112105453133014273 0ustar rootroot#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.6/index.c0000644000000000000000000005230512105453430012431 0ustar rootroot/* * 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(_("Failed to 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 the index 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 the index 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 the index 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(_("Failed to 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(_("Maybe you have a broken week day in your %s%s/sarg-date file\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } if (getword_multisep(mon,sizeof(mon),&gwarea,' ')<0) { debuga(_("Maybe you have a broken month in your %s%s/sarg-date file\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } if (getword_multisep(day,sizeof(day),&gwarea,' ')<0) { debuga(_("Maybe you have a broken day in your %s%s/sarg-date file\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } if (getword_multisep(hour,sizeof(hour),&gwarea,' ')<0) { debuga(_("Maybe you have a broken time in your %s%s/sarg-date file\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } do { if (getword_multisep(year,sizeof(year),&gwarea,' ')<0) { debuga(_("Maybe you have a broken year in your %s%s/sarg-date file\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(_("Maybe you have a broken time in your %s%s/sarg-date file\n"),outdir,direntp->d_name); exit(EXIT_FAILURE); } buildymd(day,mon,year,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) { debuga(_("(index) Cannot open file %s\n"),wdir); 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 the index 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)) { debuga(_("(index) rename error from \"%s\" to \"%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.6/indexonly.c0000644000000000000000000000362512105453133013334 0ustar rootroot/* * 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(_("Failed to 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.6/ip2name.c0000644000000000000000000002160112105453430012650 0ustar rootroot/* * 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) { printf("SARG: Maybe you have a broken record or garbage in your %s ip address.\n",gwarea.beginning); exit(EXIT_FAILURE); } snprintf(name,name_size,"%s.%s.%s.%s",n1,n2,n3,n4); #endif return; } sarg-2.3.6/ip2name_dns.c0000644000000000000000000000771312105453133013524 0ustar rootroot/* * 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.6/ip2name_exec.c0000644000000000000000000000664712105453430013671 0ustar rootroot/* * 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.6/lastlog.c0000644000000000000000000000740412105453430012767 0ustar rootroot/* * 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; snprintf(temp,sizeof(temp),"%slastlog1",outdir); if((fp_ou=fopen(temp,"w"))==NULL) { debuga(_("(lastlog) Cannot open temporary file %s\n"),temp); exit(EXIT_FAILURE); } 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(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\n"),warea); 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); snprintf(buf,sizeof(buf),"sort -n -t \"\t\" -k 1,1 -o \"%slastlog\" \"%s\"",outdir,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 (unlink(temp)) { debuga(_("Cannot delete \"%s\": %s\n"),temp,strerror(errno)); exit(EXIT_FAILURE); } if(ftot<=LastLog) { snprintf(temp,sizeof(temp),"%slastlog",outdir); if(access(temp, R_OK) == 0) { if (unlink(temp)) { debuga(_("Cannot delete \"%s\": %s\n"),temp,strerror(errno)); exit(EXIT_FAILURE); } } return; } ftot-=LastLog; snprintf(temp,sizeof(temp),"%slastlog",outdir); if((fp_in=fopen(temp,"r"))==NULL) { debuga(_("(lastlog) Cannot open temporary file %s\n"),temp); 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(_("Maybe you have a broken record or garbage in your %s file\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(_("Directory name too long: %s%s\n"),outdir,gwarea.current); exit(EXIT_FAILURE); } unlinkdir(temp,0); ftot--; } fclose(fp_in); snprintf(temp,sizeof(temp),"%slastlog",outdir); if (unlink(temp) == -1) { debuga(_("Cannot delete \"%s\": %s\n"),temp,strerror(errno)); } return; } sarg-2.3.6/LICENSE0000644000000000000000000004307612105453133012170 0ustar rootroot 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.6/log.c0000644000000000000000000015141312135000611012073 0ustar rootroot/* * 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 }; 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 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) if (!setlocale (LC_ALL, "")) { 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 -l.\n")); exit(EXIT_FAILURE); } if (strlen(optarg)>=MAX_LOG_FILELEN) { debuga(_("Log file name too long passed on command line with option -l: %s\n"),optarg); exit(EXIT_FAILURE); } strcpy(AccessLog[NAccessLog],optarg); NAccessLog++; AccessLogFromCmdLine++; break; case 'L': if (NRedirectorLogs>MAX_REDIRECTOR_LOGS) { debuga(_("Too many redirector logs passed on command line with option -L.\n")); exit(EXIT_FAILURE); } if (strlen(optarg)>=MAX_REDIRECTOR_FILELEN) { debuga(_("Redirector log file name too long passed on command line with opton -L: %s\n"),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 config 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(_("File name too long: %s/sarg_temp.log\n"),ParsedOutputLog); exit(EXIT_FAILURE); } if((fp_log=MY_FOPEN(arq_log,"w"))==NULL) { debuga(_("(log) Cannot open log 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(_("Maybe you have a broken record or garbage in your 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(_("Maybe you have a broken time in your access.log file\n")); 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(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } } else { if (getword_skip(255,&gwarea,' ')<0 || getword(user,sizeof(user),&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } } if (getword(data,sizeof(data),&gwarea,']')<0 || getword_skip(MAXLEN,&gwarea,'"')<0 || getword(fun,sizeof(fun),&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_ptr(linebuf,&full_url,&gwarea,' ')<0) { debuga(_("Maybe you have a broken url in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_skip(MAXLEN,&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(code2,sizeof(code2),&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(tam,sizeof(tam),&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if((str=(char *) strchr(gwarea.current, ' ')) != (char *) NULL ) { if (getword(code,sizeof(code),&gwarea,' ')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } } else { if (getword(code,sizeof(code),&gwarea,'\0')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\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(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_multisep(hora,sizeof(hora),&gwarea,' ')<0){ debuga(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } getword_start(&gwarea,data); if (getword_atoll(&iday,&gwarea,'/')<0){ debuga(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(mes,sizeof(mes),&gwarea,'/')<0){ debuga(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&iyear,&gwarea,'/')<0){ debuga(_("Maybe you have a broken date in your %s file\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 found in %s\n"),arq); exit(EXIT_FAILURE); } t=&tt; } if(ilf==ILF_Unknown || ilf==ILF_Squid) { if (getword(elap,sizeof(elap),&gwarea,' ')<0) { debuga(_("Maybe you have a broken elapsed time in your %s file\n"),arq); exit(EXIT_FAILURE); } while(strcmp(elap,"") == 0 && gwarea.current[0] != '\0') if (getword(elap,sizeof(elap),&gwarea,' ')<0) { debuga(_("Maybe you have a broken elapsed time in your %s file\n"),arq); exit(EXIT_FAILURE); } if(strlen(elap) < 1) continue; if (getword(ip,sizeof(ip),&gwarea,' ')<0){ debuga(_("Maybe you have a broken client IP address in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(code,sizeof(code),&gwarea,' ')<0){ debuga(_("Maybe you have a broken result code in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(tam,sizeof(tam),&gwarea,' ')<0){ debuga(_("Maybe you have a broken amount of data in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(fun,sizeof(fun),&gwarea,' ')<0){ debuga(_("Maybe you have a broken request method in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_ptr(linebuf,&full_url,&gwarea,' ')<0){ debuga(_("Maybe you have a broken url in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,' ')<0){ debuga(_("Maybe you have a broken user ID in your %s file\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(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(hora,sizeof(hora),&gwarea,'\t')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(user,sizeof(user),&gwarea,'\t')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(ip,sizeof(ip),&gwarea,'\t')<0) { debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_ptr(linebuf,&full_url,&gwarea,'\t')<0){ debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(tam,sizeof(tam),&gwarea,'\t')<0){ debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(code,sizeof(code),&gwarea,'\t')<0){ debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(elap,sizeof(elap),&gwarea,'\t')<0){ debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword(smartfilter,sizeof(smartfilter),&gwarea,'\0')<0){ debuga(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } getword_start(&gwarea,data); if (getword_atoll(&iday,&gwarea,'/')<0 || iday<1 || iday>31){ debuga(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&imonth,&gwarea,'/')<0 || imonth<1 || imonth>12){ debuga(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&iyear,&gwarea,'\0')<0){ debuga(_("Maybe you have a broken date in your %s file\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 found in %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(_("Maybe you have a broken record or garbage in your %s file\n"),arq); exit(EXIT_FAILURE); } for (ncols=0 ; ncols=0) { isa_ncols=ncols; for (ncols=0 ; ncols=sizeof(ip)) { debuga(_("Maybe you have a broken IP in your %s file\n"),arq); exit(EXIT_FAILURE); } strcpy(ip,str); } else if (x==isa_cols[ISACOL_UserName]) { if (strlen(str)>=sizeof(user)) { debuga(_("Maybe you have a broken user ID in your %s file\n"),arq); exit(EXIT_FAILURE); } strcpy(user,str); } else if (x==isa_cols[ISACOL_Date]) { if (strlen(str)>=sizeof(data)) { debuga(_("Maybe you have a broken date in your %s file\n"),arq); exit(EXIT_FAILURE); } strcpy(data,str); } else if (x==isa_cols[ISACOL_Time]) { if (strlen(str)>=sizeof(hora)) { debuga(_("Maybe you have a broken time in your %s file\n"),arq); exit(EXIT_FAILURE); } strcpy(hora,str); } else if (x==isa_cols[ISACOL_TimeTaken]) { if (strlen(str)>=sizeof(elap)) { debuga(_("Maybe you have a broken download duration in your %s file\n"),arq); exit(EXIT_FAILURE); } strcpy(elap,str); } else if (x==isa_cols[ISACOL_Bytes]) { if (strlen(str)>=sizeof(tam)) { debuga(_("Maybe you have a broken download size in your %s file\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(_("Maybe you have a broken access code in your %s file\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(_("Maybe you have a broken year in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&imonth,&gwarea,'-')<0){ debuga(_("Maybe you have a broken month in your %s file\n"),arq); exit(EXIT_FAILURE); } if (getword_atoll(&iday,&gwarea,'\0')<0){ debuga(_("Maybe you have a broken day in your %s file\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 found in %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=atol(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 the 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 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 the log file of user %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(_("Temporary user file name too long: %s/%s.user_unsort\n"), tmp, ufile->user->filename); exit(EXIT_FAILURE); } if ((ufile->file = MY_FOPEN (tmp3, "a")) == NULL) { debuga(_("(log) Cannot open temporary file: %s - %s\n"), tmp3, strerror(errno)); exit (1); } } if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%ld\t%s\t%ld\t%s\n",dia,hora,ip,url,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%ld\t%s\t%ld\t%s\n",dia,hora,user,ip,url,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) { debuga(_("(log) Cannot open temporary 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%ld\n",nbytes); } } if (!from_stdin) { if (from_pipe) pclose(fp_in); else { fclose(fp_in); if( ShowReadStatistics ) printf(_("SARG: Records in file: %lu, reading: %3.2f%%\n"),recs1, (float) 100 ); } } } 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\n"),period.text); 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(_("File name too long: %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 to %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)) { debuga(_("Command too long: %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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),denied_unsort,denied_sort); 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) { debuga(_("(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 the users 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\n"),pwdfile); exit(EXIT_FAILURE); } nreg = nreg+5000; if (fseek(fp_usr, 0, SEEK_SET)==-1) { debuga(_("Failed to rewind the users file %s: %s\n"),pwdfile,strerror(errno)); exit(EXIT_FAILURE); } if((userfile=(char *) malloc(nreg))==NULL){ debuga(_("malloc error (%ld)\n"),nreg); exit(EXIT_FAILURE); } bzero(userfile,nreg); strcpy(userfile,":"); while(fgets(buf,sizeof(buf),fp_usr)!=NULL) { str=strchr(buf,':'); if (!str) { debuga(_("You have an invalid user in your %s file\n"),pwdfile); exit(EXIT_FAILURE); } str[1]='\0'; strcat(userfile,buf); } fclose(fp_usr); return; } sarg-2.3.6/longline.c0000644000000000000000000001206012105453133013123 0ustar rootroot/* * 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.6/Makefile.in0000644000000000000000000001036712105453430013225 0ustar rootroot# 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.6/po/bg.gmo0000644000000000000000000000063012135004006012654 0ustar rootrootÞ•$,8^9Project-Id-Version: sarg 2.3-pre1 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/bg.po0000644000000000000000000024524312135004005012522 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Период" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "Потребител" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/Име" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "Дата/Време" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "ÐдреÑ" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Сортировка на файловете" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Четене на log файла" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Файла не е намерен" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Файла не е намерен" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Ðрхивиране на log файла" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Разархивиране на log файла" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Разархивиране на log файла" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Отчет за доÑтъпа на потребителите на Squid" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "ÐизходÑщо (байтове)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Период" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "No" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "Включване" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "Байтове" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "Общо време" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "МилиÑек." #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "Време" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "Ð’Ñичко" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "Средно" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "отчети" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Файла не е намерен" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Зарежда файла Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñта от" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "грешка malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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 "Зарежда файла Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñта от" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "грешка malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Потребител" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "отчети" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Файла не е намерен" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Файла не е намерен" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Файла не е намерен" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Файла не е намерен" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Потребител" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Създаване на отчета" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "ЗÐБРÐÐЕÐО" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "Потребители" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 файла" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Разархивиране на log файла" #: 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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Изтриване на ÑÑ‚Ð°Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð°" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Параметри" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Име или IP-адреÑ" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-mail Ð°Ð´Ñ€ÐµÑ Ð·Ð° изпращане на отчета" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Да" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Ðе" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Име или IP-адреÑ" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Име или IP-адреÑ" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ИÑползвайте Ip-Ð°Ð´Ñ€ÐµÑ Ð²Ð¼ÐµÑто име на потребителÑ" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Четене на log файла" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Ðрхивиране на log файла" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Четене на log файла" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Файла не е намерен" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Файла не е намерен" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log-а Ñъдържа запиÑи Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ð¸ формати (squid и др.)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Log Ñ Ð´Ñ€ÑƒÐ³ формат" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Log в Squid-формат" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log Ñ Ð³Ñ€ÐµÑˆÐµÐ½ формат" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "ЗапиÑите не Ñа намерени" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Завършено" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Четене на log файла" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Период" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Период" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Файла не е намерен" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Файла не е намерен" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Зарежда файла Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð¸Ñ‚Ðµ от" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "грешка malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Файла не е намерен" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 файла" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Разархивиране на log файла" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Разархивиране на 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 "Разархивиране на log файла" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file %s\n" msgstr "Разархивиране на log файла" #: redirector.c:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Файла не е намерен" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "Дата/Време" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Отчета е генериран в:" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Отчета е генериран и изпратен" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Създаване на файла" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Файла не е намерен" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Седмици" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Файла не е намерен" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Файла не е намерен" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Файла не е намерен" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Файла не е намерен" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Генерирано от" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "на" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Файла не е намерен" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Файла не е намерен" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Сортировка на файловете" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Файла не е намерен" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Време" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "Ñайтове" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Файла не е намерен" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: totday.c:166 #, 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 #, 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 "Четене на log файла" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\" - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: url.c:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "ВходÑщ 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 #, 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Четене на log-а на браузерите" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "ЗапиÑите Ñа прочетени" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Създаване на отчета по браузери" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Отчет Squid по браузери" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "Браузер" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "вече ÑъщеÑтвува, премеÑтен в" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Изтриване на временните файлове" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\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 "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Failed to delete the 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 "(report-1) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(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 "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ log файла" #, fuzzy #~ msgid "Sort" #~ msgstr "Сортирано" #, fuzzy #~ msgid "USER" #~ msgstr "Потребители" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Разархивиране на log файла" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Разархивиране на log файла" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Четене на log файла" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "грешка malloc" #, 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 "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ 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 "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 "Ðе мога да Ð½Ð°Ð¼ÐµÑ€Ñ 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 "sarg version: %s" #~ msgstr "верÑиÑ" #, fuzzy #~ msgid "written" #~ msgstr "запиÑано" #, fuzzy #~ msgid "excluded" #~ msgstr "изключениÑ" #, fuzzy #~ msgid "IP report" #~ msgstr "IP отчет" sarg-2.3.6/po/boldquot.sed0000644000000000000000000000033112105453133014112 0ustar rootroots/"\([^"]*\)"/“\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.6/po/ca.gmo0000644000000000000000000000062312135004007012652 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/ca.po0000644000000000000000000023213112135004005012505 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "reports" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "reports" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Fallides d'autenticació" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Report d'Accesos d'Usuaris de l'Squid" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "Accés Decreixent (bytes)" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "DATA/HORA" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "el" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "Usuari" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Creant index.html" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "No es pot obrir l'arxiu de log" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "No es pot obrir l'arxiu de log" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Llegint arxiu del log d'accesos" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "reports" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "reports" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "reports" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "reports" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Compactant arxiu de log" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "reports" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Compactant arxiu de log" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Descompactant arxiu de log" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Creant report" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Descompactant arxiu de 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "reports" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "reports" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Creant report" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "No es pot carregar, fallida de la memòria" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "PROMITGE" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, 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:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "HORA" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "LLOC ACCEDIT" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "CONEXIÓ" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "BYTES" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "TEMPS UTILITZAT" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "USERID" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "AGENT" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "MILISEC" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Reports per usuario i direcció IP" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Compactant arxiu de log" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Llegint log de l'agent d'usuari" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "No es pot obrir l'arxiu de log" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "reports" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "Carregant configuració desde" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "reports" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "Carregant configuració desde" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "reports" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Període" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "reports" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "reports" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "reports" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "No es pot obrir l'arxiu de log" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "Reports per usuario i direcció IP" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Compactant arxiu de log" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Compactant arxiu de log" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Compactant arxiu de log" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "reports" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Compactant arxiu de log" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "reports" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Període" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "FiltreInteligent" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Carregant arxiu de paraules de pas desde" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "No es pot obrir arxiu" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "reports" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "reports" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "reports" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "reports" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "reports" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "reports" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "reports" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "DATA CREACIÓ" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Creant report" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Creant report" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Compactant arxiu de log" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Creant index.html" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "No es pot obrir l'arxiu de log" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "normal" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "No es pot obrir l'arxiu de log" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Paràmetres" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Nom de host o direcció IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "opcions" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Si" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "No" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Nom de host o direcció IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Nom de host o direcció IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Report IP" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Llegint arxiu del log d'accesos" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Descompactant arxiu de log" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Llegint arxiu del log d'accesos" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Compactant arxiu de log" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "reports" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "reports" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Compactant arxiu de log" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Format Common log" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Format Squid log" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log amb format invàlid" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "No s'han trobat registres" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Fi" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Llegint arxiu del log d'accesos" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Report d'Accesos d'Usuaris de l'Squid" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Report d'Accesos d'Usuaris de l'Squid" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Compactant arxiu de log" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Compactant arxiu de log" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "error malloc" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "reports" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "reports" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "Carregant configuració desde" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "No es pot obrir l'arxiu de log" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Compactant arxiu de log" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "reports" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "reports" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "reports" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "reports" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "reports" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Creant report" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Creant report" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Creant report" #: 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "reports" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "reports" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "reports" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "reports" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "reports" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "reports" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "REGLA" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "reports" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "reports" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "No es pot obrir l'arxiu de log" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Compactant arxiu de log" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "el" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "reports" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "DENEGAT" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Report generat satisfactoriament a" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Report generat satisfactoriament i enviat a" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "reports" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "reports" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Compactant arxiu de log" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Llocs" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Compactant arxiu de log" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Compactant arxiu de log" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Compactant arxiu de log" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Compactant arxiu de log" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "FiltreInteligent" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "TOTAL" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "Generat per" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "No es pot obrir l'arxiu de log" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Compactant arxiu de log" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Compactant arxiu de log" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Creant index.html" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Compactant arxiu de log" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Lloc accedit" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "Màxim" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "reports" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Període" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "reports" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Compactant arxiu de log" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "No es pot obrir l'arxiu de log" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "reports" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "reports" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Directori temporal" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "Versió de l'Squid" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "stdout per a consola" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "reports" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Resolguent direcció IP" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Registres llegits" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Log de l'agent d'usuari" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Clasificat per" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "Report d'Agent d'Usuari Squid" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "No es pot obrir l'arxiu de log" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "reports" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "reports" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Carregant taula d'usuaris" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Llocs i Usuaris" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "reports" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "Arxiu" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "reports" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "reports" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "reports" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Esborrant arxiu vell de report" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "reports" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "No es pot obrir l'arxiu de log" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Report" #~ msgstr "Ordenant arxiu" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Failed to delete the 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 "(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 "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(html11) Cannot open file %s - %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "No es pot obrir l'arxiu de log" #, fuzzy #~ msgid "Sort" #~ msgstr "USUARIS" #, fuzzy #~ msgid "USER" #~ msgstr "DATA CREACIÓ" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Creant report" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "reports" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Creant report" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Llegint arxiu del log d'accesos" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "Carregant configuració desde" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "reports" #, 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 "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 "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 "sarg version: %s" #~ msgstr "Creant report d'agent d'usuari" #, fuzzy #~ msgid "written" #~ msgstr "escrits" #, fuzzy #~ msgid "excluded" #~ msgstr "Carregant arxiu d'exclusions desde" #, fuzzy #~ msgid "IP report" #~ msgstr "USA" sarg-2.3.6/po/ChangeLog0000644000000000000000000000071612105453133013345 0ustar rootroot2010-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.6/po/cs.gmo0000644000000000000000000000062312135004007012674 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/cs.po0000644000000000000000000023407512135004005012540 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Nemohu otevřít soubor" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Období" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "ID UŽIVATELE" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/JMÉNO" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "datum/Äas" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "NAVÅ TÃVENà SERVER" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Třídím soubor" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nemohu otevřít žurnál" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Nemohu otevřít žurnál" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "ÄŒtu přístupový žurnál" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Nemohu otevřít soubor" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Nemohu otevřít soubor" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Nemohu otevřít soubor" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Nemohu otevřít soubor" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Soubor nenalezen" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Soubor nenalezen" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Balím žurnálový soubor" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Rozbaluji žurnálový soubor" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Balím ž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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Nemohu otevřít soubor" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Rozbaluji žurnálový soubor" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "PÅ™ehled o využití Squidu podle uživatelů" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Klesající přístup (bytů)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Období" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "POŘADÃ" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "SPOJENÃ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTÅ®" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "POUŽITà ČAS" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ÄŒAS" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "CELKEM" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "PRÅ®MÄšR" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "pÅ™ehledy" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Soubor nenalezen" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nemohu otevřít žurnál" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "NaÄítám soubor vyjímek z" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Nemohu otevřít žurnál" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Nemohu otevřít soubor" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "chyba malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "chyba malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nemohu otevřít soubor" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Uživatel" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Nemohu otevřít soubor" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Nemohu otevřít soubor" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Nemohu otevřít soubor" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Nemohu otevřít žurnál" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "pÅ™ehledy" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Soubor nenalezen" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Soubor nenalezen" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nemohu otevřít žurnál" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Soubor nenalezen" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Soubor nenalezen" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Uživatel" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Vytvářím zprávu" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "Zakázáno" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nemohu otevřít žurnál" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Nemohu otevřít soubor" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "UŽIVATELÉ" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Rozbaluji žurnálový soubor" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Rozbaluji žurnálový soubor" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Soubor nenalezen" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Třídím soubor" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Nemohu otevřít žurnál" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Odstraňuji starý soubor s pÅ™ehledem" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nemohu otevřít žurnál" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nemohu otevřít žurnál" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametry" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Jméno hostitele nebo IP adresa" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Emailová adresa, na kterou se mají poslat pÅ™ehledy" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Ano" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Ne" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Jméno hostitele nebo IP adresa" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Jméno hostitele nebo IP adresa" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, 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:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Nemohu otevřít žurnál" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "ÄŒtu přístupový žurnál" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Balím žurnálový soubor" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Nemohu otevřít žurnál" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "ÄŒtu přístupový žurnál" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Soubor nenalezen" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Nemohu otevřít soubor" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Nemohu otevřít soubor" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Soubor nenalezen" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Nemohu otevřít žurnál" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Obecný formát žurnálu" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid formát žurnálu" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Žurnál s neplatným formátem" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "NenaÅ¡el jsem žádné záznamy" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Konec" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "ÄŒtu přístupový žurnál" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Období" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Období" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Soubor nenalezen" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Soubor nenalezen" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "NaÄítám heslo ze souboru" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Nemohu otevřít soubor" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Nemohu otevřít soubor" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "chyba malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Nemohu otevřít žurnál" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Soubor nenalezen" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Nemohu otevřít soubor" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Nemohu otevřít soubor" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Nemohu otevřít soubor" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Nemohu otevřít soubor" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Nemohu otevřít soubor" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Rozbaluji žurnálový soubor" #: 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 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Rozbaluji žurnálový soubor" #: 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Nemohu otevřít soubor" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Nemohu otevřít soubor" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Nemohu otevřít žurnál" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Soubor nenalezen" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "datum/Äas" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Nemohu otevřít soubor" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "PÅ™ehled úspěšnÄ› generován" #: report.c:403 #, 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:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Vytvářím soubor" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Nemohu otevřít soubor" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Nemohu otevřít soubor" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Soubor nenalezen" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Týdny" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Soubor nenalezen" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Soubor nenalezen" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Soubor nenalezen" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Soubor nenalezen" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Generoval" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "dne" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Nemohu otevřít žurnál" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Soubor nenalezen" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Soubor nenalezen" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Třídím soubor" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Soubor nenalezen" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "ÄŒas" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "serverů" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Uživatel" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Nemohu otevřít soubor" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Soubor nenalezen" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Nemohu otevřít žurnál" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Nemohu otevřít soubor" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Nemohu otevřít soubor" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Ladicí zprávy" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "DoÄasnný adresář" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "PÅ™ehledy podle uživatele a IP adresy" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Nemohu otevřít soubor" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "ÄŒtu žurnál s pÅ™ehledem klientů" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Záznamů pÅ™eÄteno" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Vytvářím pÅ™ehled o klientech" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "PÅ™ehled o použitých klientech pro Squid" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "KLIENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Nemohu otevřít žurnál" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Nemohu otevřít soubor" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Nemohu otevřít soubor" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Nemohu otevřít žurnál" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Nemohu otevřít soubor" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "už existuje, pÅ™esouvám do" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Nemohu otevřít soubor" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Nemohu otevřít soubor" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nemohu otevřít soubor" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nemohu otevřít žurnál" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Odstraňuji pÅ™echodný soubor" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Nemohu otevřít žurnál" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Nemohu otevřít žurnál" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Nemohu otevřít žurnál" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Nemohu otevřít soubor" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Nemohu otevřít žurnál" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Report" #~ msgstr "PÅ™ehled" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Failed to delete the 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 "(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 "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(html11) Cannot open file %s - %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Nemohu otevřít žurnál" #, fuzzy #~ msgid "Sort" #~ msgstr "TřídÄ›ní" #, fuzzy #~ msgid "USER" #~ msgstr "UŽIVATELÉ" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Rozbaluji žurnálový soubor" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Nemohu otevřít soubor" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Rozbaluji žurnálový soubor" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "ÄŒtu přístupový žurnál" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Nemohu otevřít soubor" #, 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 "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 "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 "sarg version: %s" #~ msgstr "verze" #, fuzzy #~ msgid "written" #~ msgstr "zapsáno" #, fuzzy #~ msgid "excluded" #~ msgstr "vyjmuto" #, fuzzy #~ msgid "IP report" #~ msgstr "IP zpráva" sarg-2.3.6/po/da.gmo0000644000000000000000000021042312135004007012654 0ustar rootrootÞ•ƒ0Hm`(6,6@6<7+=7+i7+•7+Á7+í7+8<E8@‚89Ã8+ý8+)9+U9+9+­9+Ù9+:+1:+]:+‰:+µ:Aá:+#;O;:m;>¨;>ç;Y&<-€<?®<=î<;,=Yh=IÂ=B >MO>>2»>î>- ?3:?+n?>š?IÙ?E#@4i@'ž@"Æ@$é@+A:A2PAƒA ›A§A#¶A ÚA+çABzBl”BeC[gCaÃC!%D*GDrD'’D(ºD.ãDE32E!fE#ˆE¬EÉE'èE$F"5F%XF ~F5ŸFDÕFG8GUGrGG¬GÉGæG!H,%H(RH {H$œH*ÁHìH I *I8KI!„I¦I2ÄI#÷I"J&>J(eJ/ŽJ4¾J%óJ#K=K!\K ~K#ŸK#ÃK+çKAL ULcLiLqL@‰L<ÊL MM5M7PMˆMŽM –M¤MÄM5ãM0N>JN ‰NRªNýNO%5O8[O&”OQ»O P)-P!WP(yP¢P'³P/ÛP1 Q+=Q iQŠQ¡Q"¸QÛQQïQAR\R%oR'•R½R ÂRÌRÑR ØR6åRYS!vS˜S ¸S'ÃS&ëST",TOTVT4fT/›T&ËTòTU50U fU pU!}UŸU$¤U'ÉUñUVV *V<6V5sV©V0ÇV'øV- W*NW2yW¬W.ËW&úW!X>AX>€X5¿X7õX!-YOY)nY0˜Y0ÉY'úY)"ZLZjZ%ŠZ$°Z1ÕZ[$[B[$b[&‡[#®[,Ò["ÿ[%"\'H\*p\(›\+Ä\.ð\] 3] @]M]5U]#‹]¯]3µ]8é]/"^ R^2_^0’^.Ã^%ò^Q_j_8r_«_Å_)Ë_5õ_6+`Sb``¶`ca:{a¶a2Õab b?@bE€b%Æbìb c,)c9Vcc4¯cäc*ýc1(dZd vd—d*±d!Üdþd#e'Ae)ie(“e4¼e#ñe%f;fTfrf’f¬f4Ëfgg8g!Xg'zg¢g4¼gñg hU(h!~h h ¸h7Ãhûhi1iPi#oi“iA²i2ôi'jFj5_j•jžj¤j½jÑjäj4÷j+,k4Xk7k:Åk-l,.l8[l:”l6Ïl5m.}l}{},”}6Á}ø} ý}? ~I~Z~w~T–~Të~@ S2aB” ×ã5ö ,€9€;K€‡€™€¸€Ñ€ê€+ü€"(KPV[Cl)°5Ú?‚'P‚ x‚#™‚½‚0Ô‚!ƒS'ƒY{ƒnÕƒ<D„/„W±„3 …$=…*b…J…bØ…=;†!y†#›†/¿†'ï†4‡6L‡Oƒ‡Ó‡$ò‡!ˆ19ˆ(kˆ)”ˆ"¾ˆ-áˆ*‰*:‰-e‰+“‰-¿‰.í‰-Š6JŠ.Š/°Š/àŠ(‹"9‹!\‹%~‹"¤‹#Ç‹*ë‹,Œ0CŒ/tŒ*¤Œ'ÏŒ)÷ŒD!If°%ÐAö38ŽlŽŒŽ)¨Ž:ÒŽ+ C94}@² ó ; .F u$F¤CëC/‘s‘’‘™‘8Ÿ‘AؑӒî’2 “7@“/x“+¨“!Ô“ö“&” <”]”+u”¡”1¦”+Ø”•$• ?•4K•€• ‰•2“•KÆ•C–V–j–‚–'Ÿ– Ç–è–í–)ñ–—.!—P—l—~—Ž— ¨—µ—Õ½—“˜¤˜/­˜)ݘ™($™M™m™&™+¨™,Ô™ š+"š@Nš)š"¹š"Üšÿš›$›?›B› Q›Ï\›,œ4œFœ[œqœvœ•œÏ§œ{wóž ž ž!%ž)Gž qž’ž˜±ž0J 0{ 0¬ 0Ý 0¡0?¡Ep¡K¶¡>¢0A¢1r¢0¤¢0Õ¢1£08£0i£0š£1Ë£0ý£1.¤C`¤'¤¤&̤<ó¤J0¥>{¥]º¥1¦BJ¦A¦?ϦS§Qc§Qµ§T¨&\¨:ƒ¨¾¨-ݨ0 ©#<©E`©Q¦©Rø©9Kª%…ª)«ª"Õª0øª)«3?«s« ‹«—«#¦« Ê«0׫¬i¬dx¬fݬbD­o§­#®+;®!g®*‰®)´®/Þ®#¯02¯$c¯&ˆ¯ ¯¯"Я)ó¯&°#D°&h°'°:·°Lò°!?± a± ‚± £± ı å± ² '²%H²/n²,ž²"˲%î².³C³a³"³;¢³"Þ³´1!´$S´$x´'´)Å´/ï´6µ&Vµ&}µ"¤µ$ǵ$ìµ'¶#9¶-]¶G‹¶ Ó¶á¶ ç¶ò¶:·C>·‚·•·;š·:Ö·¸¸ ¸#0¸"T¸4w¸1¬¸CÞ¸"¹PB¹“¹ ¯¹1й7º,:ºXgº+Àº3ìº* »*K»v»1‰»2»»<î»1+¼#]¼¼$¼¼á¼X÷¼ P½q½)„½+®½Ú½ß½è½í½ õ½0¾Y3¾¾$¨¾ ;(Ù¾%¿(¿!?¿a¿i¿Bz¿)½¿&ç¿À4)À@^À ŸÀ ­À)»ÀåÀ+íÀ-ÁGÁ[ÁoÁ …ÁA‘Á9ÓÁ Â4-Â%bÂ-ˆÂ)¶Â5àÂ#Ã7:Ã2rÃ¥ÃNÅÃJÄ6_Ä9–ÄÐÄðÄ*ÅA9Å>{Å-ºÅ-èÅ Æ7Æ)VÆ'€Æ6¨Æ߯!þÆ# Ç&DÇ*kÇ'–Ç.¾Ç&íÇ)È+>È.jÈ,™È/ÆÈ2öÈ)É EÉ QÉ]É:dÉ'ŸÉÇÉ@ÍÉDÊ0SÊ „Ê=‘Ê;ÏÊ0 Ë*<ËVg˾Ë?ÆËÌ"Ì.(Ì5WÌ6Ì^ÄÌ`#Íd„Í9éÍ#Î,BÎo΋ÎB«Î\îÎ1KÏ}ÏšÏ)¸Ï4âÏÐ55ÐkÐ/‚Ð.²ÐáÐýÐÑ%6Ñ\ÑyÑ“Ñ%±Ñ)×Ñ%Ò5'Ò%]Ò%ƒÒ©ÒÃÒàÒÓÓ28ÓkÓ'Ó#©Ó#ÍÓ#ñÓÔ55ÔkÔ†ÔS¦Ô%úÔ Õ ?Õ>MÕ*ŒÕ·ÕÒÕ#òÕ-Ö DÖUeÖB»ÖþÖ×15×g×p×wהק׺×8Î×)Ø21Ø3dØ8˜Ø+ÑØ*ýØ6(Ù;_Ù=›Ù4ÙÙ-Ú9<ÚGvÚ2¾Ú6ñÚB(Û;kÛ3§Û,ÛÛ1Ü*:Ü6eÜ2œÜ.ÏÜ0þÜ0/Ý7`Ý9˜Ý*ÒÝ6ýÝ74Þ_lÞ'ÌÞôÞ6øÞ/ßZ3ß"Žß„±ßA6à*xà£àB¸àHûà+Dá*pá=›á5Ùá2â3Bâ*vâ>¡â*àâ- ãA9ã3{ã7¯ã?çã:'ä=bäG ä8èäX!åFzå*Áå*ìå-æ"Eæ,hæ+•æiÁæ +çU7çç(¤ç:Íçè#è 4è @èBMè%è¶è ¼èÝè ÷è$é=éZéséŽé –é £é]°éê7#ê[êyê‹ê§ê»êÌêÓê Úê(èê)ë);ëeëwë/ë9Àë úë ìIì[ìkì‹ìU«ìUíWíníC~íTÂí î#îB7îzî‰îJîèî ûîï;ïWï"hï‹ï¥ï©ï°ïµïCÉï. ð;<ð;xð$´ð!Ùð#ûðñ/6ñ!fñjˆñsóñbgò?Êò0 óa;ó,ó!Êó+ìóFôm_ô=Íô$ õ"0õ0Sõ(„õ9­õ/çõKöcö&ƒö!ªö,Ìö(ùö)"÷"L÷8o÷+¨÷+Ô÷2ø53ø,iø,–ø(Ãø8ìø-%ùASù-•ù#Ãù(çù%ú'6ú$^ú"ƒú&¦ú8Íú,û)3û%]û'ƒû)«ûHÕûNü mü*Žü8¹ü2òü"%ý#Hý)lý<–ý-Óý<þ:>þKyþ ÅþÒþ<Ûþ;ÿ Tÿ#_ÿRƒÿMÖÿP$$uš£<«TèØ= 379k7¥:Ý8*Xƒ 0·èJï-:h)€ ªC¸ ü :WNM¦ô%$? d…‰&Œ³5¸ î/K jxØ€Yk/t(¤Í5é" B 'V ,~ .« "Ú ,ý >* ,i +–  â õ ,ü ) -  = ÒI  # 4 J _ *d  Ò§ |z ÷  !#(+L"x'› êÃvŠõö«ß—[^¹1?^€ÚëCA¯1(~UF>Èߤ‘ô,Ô¶ <ØiP]Y »\a9FO} Ñz žpzmk¬ýÕ(‡tÍó®>Dæñí”_v-Éwýµ8p ‚ÃKry*Û?nt.Im¥›c%½@¥ú!hflÌOE8En~ìà"¾}²†•çBN/Åæ6¦b× &VeZK¼À¾ #GŸéIŸ4äm½ è+CüsU¨§†³Œu¸52É-+Çÿ•Ê®÷JÎ@ç7'³€eËKþøšQrƒâ-dLg38.ªE^G¡¹>_<©–ISNÛqfW~aF;l&‰Üèn£Ó’šˆÏë Lg{}…ìÞÂ6jü]t«%¢(0OµáÀZ¶©&1`$“B7ÙÜG[̧vx\ujÁ 0/ÿ;â ‡)XàÐ:eWVYwÆ‘TÐîyò±4bñ_|NïT¿‰ú˜5< )xœ`ðó£„Ä[… ;íËòHÕÝr÷Çh 5MØk„Þ:”3¯œÅk–°ùû ƒ°L¡|Ô´{$ð¼ùM3S"oscûÒh·’ÂWQ!·ažQ+XJ‹‚dÒºÏ)ÓR×H `lDi#Žjo¢á¨{f76“*sMVqZu€Uƒ=ª:ã.å$dÙéø¤¦9Žz9ã/yögS?*­Ö›¸Ö‚0™'Úä4 =T,w2H'J\ õº Èîb%¬ÝB"qåĈʲi˜]o,Í­´cCŠ—Px™P‹þÎYê=A±@!RÁXD¿RÆ2ôpA|#ÑÃÊÑT6h6|66¬6È6Ü6ð67 7Øÿÿÿÿú3ÿÿÿÿ/3ÿÿÿÿd "ÿÿÿÿ® "ÿÿÿÿôÿÿÿÿ3ÿÿÿÿH4ÿÿÿÿ~ ÿÿÿÿË ÿÿÿÿ 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…(auth) Cannot open file: %s - %s (auth) Cannot open template file: %s - %s (authfail) Cannot open file %s (convlog) Cannot open log file %s - %s (dansguardian) Cannot open log file: %s (dansguardian_report) Cannot open log file %s (datafile) Cannot open file %s (datafile) directory path too long: %s/%s.user_log (denied) Cannot open log file %s (download) Cannot open log file %s (email) Cannot open file %s (getconf) Cannot open file %s (gethexclude) Cannot open file %s - %s (getusers) Cannot open file %s - %s (grepday) Cannot open log file %s (grepday) Cannot open output file %s (grepday) Fontname %s not found (grepday) iconv cannot convert from %s to UTF-8 - %s (grepday) iconv failed to convert string "%s" from %s to UTF-8 - %s (html10) Cannot open file %s (html3) Cannot open file %s (html5) Cannot open file %s (html6) Cannot open file %s (html7) Cannot open file %s (html8) Cannot open file %s (html9) Cannot open file %s (index) Cannot open file %s (index) Cannot open file %s - %s (index) rename error from "%s" to "%s" - %s (lastlog) Cannot open temporary file %s (log) Cannot open file: %s - %s (log) Cannot open log file: %s - %s (log) Cannot open temporary file: %s - %s (realtime) mkstemp error - %s (realtime) open error %s - %s (removetmp) Cannot open file %s (removetmp) directory too long to remove %s/sarg-period (repday) Cannot open log file %s (report) Cannot open file %s (report) directory entry too long: %s/%s.user_log (siteuser) Cannot open log file %s (smartfilter) Cannot open file %s (smartfilter) Cannot open log file %s (splitlog) Cannot open log file %s - %s (splitlog) Cannot open output log file %s - %s (splitlog) Output path is too long: %s%s-YYYY-mm-dd (squidguard) Cannot open log file %s (topsites) Cannot open log file %s (topuser) Cannot open file %s (totday) Cannot open log file %s (useragent) Cannot open file %s (usertab) Cannot open file %s - %s (util) Can't open directory %s: %s (util) Cannot open file %s (exclude_codes) 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 copy images to target directory %simages 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 Cannot open DansGuardian config file: %s Cannot open config file: %s - %s Cannot open exclude_hosts file: %s - %s Cannot open fileCannot 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: %s "%s" Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d 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 bzcat Decompressing log file "%s" with zcat 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: %s/%s Directory name too long: %s%s Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEERROR: Cannot load. Memory fault End 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 close %s after writing the total line - %s Failed to close file %s - %s Failed to close temporary file for user %s - %s Failed to close the index file %s - %s Failed to close the log file of user %s - %s Failed to close the top user list %s - %s Failed to compile the regular expression "%s": %s Failed to copy image %s to %s Failed to get the %d trailing lines of %s: %s Failed to get the creation time of %s Failed to get the current time Failed to move till the end of the excluded codes file %s: %s Failed to move till the end of the excluded users file %s: %s Failed to move till the end of the users file %s: %s Failed to move till the end of the usertab 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 rewind the excluded codes file %s: %s Failed to rewind the excluded users file %s: %s Failed to rewind the users file %s: %s Failed to rewind the usertab 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 name too long for %s/smartfilter.int_unsort File name too long: %s/%s%s File name too long: %s/%s.ip File name too long: %s/%s.utmp File name too long: %s/%s/.htaccess File name too long: %s/denied_%s.html File name too long: %s/htmlrel.txt File name too long: %s/sarg-%s_%s-%s_%s.log File name too long: %s/sarg-sites File name too long: %s/sarg_temp.log File name too long: %s/sargtmp.int_log File name too long: %s/sargtmp.int_unsort File name too long: %s/smartfilter.html File name too long: %s/smartfilter.int_log File name too long: %s/smartfilter.int_unsort File not found: %s Generated byGraph 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/NAMEIgnoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Input file name too long: %s/htmlrel.txt Integer overflow detected in getword_atoi in line %s Integer overflow detected in getword_atoll 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 found in your dansguardian log file %s Invalid IP address in file %s Invalid NUL character found in regular expression Invalid URL in file %s Invalid access type in file %s Invalid address type %d returned when resolving host name "%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 date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date found in file %s Invalid date found in your dansguardian log file %s Invalid date in file %s Invalid date range passed on command line Invalid day index found in the hourly statistics Invalid elapsed time in %s Invalid elapsed time in file %s Invalid entry in file %s Invalid hour %d for the hourly statistics Invalid number of accesses in %s Invalid number of bytes in %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 weeks in -d parameter Invalid path (%s). Please, use absolute paths only. Invalid redirected list in file %s Invalid redirected source in file %s Invalid rule in file %s Invalid source IP in file %s Invalid time column in file %s Invalid time found in %s Invalid time found in file %s Invalid time found in your dansguardian log file %s Invalid time in file %s Invalid total cache hit in %s Invalid total cache miss in %s Invalid total elapsed time in %s Invalid total number of accesses in %s Invalid total size in %s Invalid user found in your dansguardian log file %s Invalid user in file %s Invalid user name in file %s 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 Log file name too long passed on command line with option -l: %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) MILLISECMONTHMaking Useragent report Making file: %s/%s Making index.html Making report: %s Maybe a broken record or garbage was returned by %s Maybe you have a broken IP in your %s file Maybe you have a broken access code in your %s file Maybe you have a broken amount of data in your %s file Maybe you have a broken client IP address in your %s file Maybe you have a broken date in your %s file Maybe you have a broken day in your %s file Maybe you have a broken day in your %s%s/sarg-date file Maybe you have a broken download duration in your %s file Maybe you have a broken download size in your %s file Maybe you have a broken elapsed time in your %s file Maybe you have a broken month in your %s file Maybe you have a broken month in your %s%s/sarg-date file Maybe you have a broken record or garbage in "date_format" parameter Maybe you have a broken record or garbage in file %s Maybe you have a broken record or garbage in your %s file Maybe you have a broken record or garbage in your exclusion string Maybe you have a broken request method in your %s file Maybe you have a broken result code in your %s file Maybe you have a broken rule in your %s file Maybe you have a broken size in your %s file Maybe you have a broken time in your %s file Maybe you have a broken time in your %s%s/sarg-date file Maybe you have a broken time in your access.log file Maybe you have a broken url in your %s file Maybe you have a broken user ID in your %s file Maybe you have a broken user IP in your %s file Maybe you have a broken useragent entry in your %s file Maybe you have a broken week day in your %s%s/sarg-date file Maybe you have a broken year in your %s file Maybe you have a broken year in your %s%s/sarg-date file 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 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 denied accesses Not enough memory to read the downloaded files Not enough memory to read the downloaded files. Not enough memory to read the file %s Not enough memory to read the host name aliases Not enough memory to read the log file Not enough memory to read the log file %s Not enough memory to read the processed redirector log Not enough memory to read the redirector log 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 the user %s Option -%c requires an argument Output file name too long: %s/%s/%s.html Output file name too long: %s/%s/d%s.html 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 %s/%s.ip Path too long for %s/download.int_unsort Path too long to sort the file: %s/download.int_unsort PeriodPeriod covered by log files: %s-%s Period: %sPeriod: %s Processed 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 log file name too long passed on command line with opton -L: %s Redirector reportRedirector report not generated because it is empty Removing old report file %s SARG Version: %s SARG reportSARG reportsSARG report for %sSARG report, %cSARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2f%%SARG: Records in file: %lu, reading: %3.2f%% 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 command too long when sorting file "%s" to "%s" Sort: %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" Temporary file name too long: %s/%s.utmp Temporary user file name too long: %s/%s.user_unsort 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 %s failed 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 your %s file. The name of the file is invalid: %s The number of users is invalid in file %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 url is invalid in file %s The user ID at column 8 is too long The user at column 9 is too long There a broken total number of access in file %s There is a broken IP address in file %s There is a broken access code in file %s There is a broken date in file %s There is a broken downloaded size in file %s There is a broken elapsed time in file %s There is a broken elpased time in file %s There is a broken in cache column in file %s There is a broken in-cache size in file %s There is a broken in-cache volume in file %s There is a broken number of access in file %s There is a broken number of bytes in file %s There is a broken out of cache column in file %s (%d) There is a broken out-cache volume in file %s There is a broken out-of-cache size in file %s There is a broken record or garbage in file %s There is a broken smart info in file %s There is a broken time in file %s There is a broken url in file %s There is a broken user ID in file %s There is a broken user in file %s There is a invalid user in file %s There is an invalid IP address in file %s There is an invalid elapsed time in file %s There is an invalid number of access in file %s There is an invalid number of bytes in file %s There is an invalid smart info in file %s There is an invalid user ID in file %s There is an invalid useragent in file %s 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 -l. 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 Too many redirector logs passed on command line with option -L. 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". 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 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 YEARYesYou have an invalid user in your %s file bytescannot build the sort command to sort file %s cannot open %s for writing cannot stat "%s" cannot stat %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 decompression command too long for log file %s directory name to delete too long: %s/%s directory name too long: %s failed to create link "%s" to "%s" - %s failed to rename %s to %s - %s getword backtrace: getword loop detected after %d bytes. getword_atoi loop detected after %d bytes. getword_atoll loop detected after %d bytes. getword_multisep loop detected. getword_skip loop detected after %d bytes. 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 error (%ld bytes required) malloc error (%ld) normalnot enough memory to sort the index onoutdirname=%s 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. reversesarg version: %s searching 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. tail command: %s timeunknown path type %s useruser name too long for %s/%s.day user name too long for %s/%s.user_unsort user name too long for %s/%s/%s user name too long to sort %s Project-Id-Version: sarg 2.3.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: 2012-11-21 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 Plural-Forms: nplurals=2; plural=(n != 1); 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…(auth) Kan ikke Ã¥bne fil: %s - %s (auth) Kan ikke Ã¥bne skabelonfil: %s - %s (authfail) Kan ikke Ã¥bne fil %s (convlog) Kan ikke Ã¥bne logfilen %s - %s (dansguardian) Kan ikke Ã¥bne logfil: %s (dansguardian_report) Kan ikke Ã¥bne logfil %s (datafile) Kan ikke Ã¥bne filen %s (datafile) mappesti er for lang: %s/%s.user_log (denied) Kan ikke Ã¥bne logfilen %s (download) Kan ikke Ã¥bne logfilen %s (email) Kan ikke Ã¥bne filen %s (getconf) Kan ikke Ã¥bne filen %s (gethexclude) Kan ikke Ã¥bne fil %s - %s (getusers) Kan ikke Ã¥bne fil %s - %s (grepday) Kan ikke Ã¥bne logfil %s (grepday) Kan ikke Ã¥bne uddatafil %s (grepday) Skriftnavn %s er ikke fundet (grepday) iconv kan ikke konvertere fra %s til UTF-8 - %s (grepday) iconv kunne ikke konvertere strengen »%s« fra %s til UTF-8 - %s (html10) Kan ikke Ã¥bne filen %s (html3) Kan ikke Ã¥bne filen %s (html5) Kan ikke Ã¥bne filen %s (html6) Kan ikke Ã¥bne filen %s (html7) Kan ikke Ã¥bne filen %s (html8) Kan ikke Ã¥bne filen %s (html9) Kan ikke Ã¥bne filen %s (index) Kan ikke Ã¥ben filen %s (index) Kan ikke Ã¥bne filen %s - %s (index) omdøb fejl fra »%s« til »%s« - %s (lastlog) Kan ikke Ã¥bne midlertidig fil %s (log) Kan ikke Ã¥bne fil: %s - %s (log) Kan ikke Ã¥bne logfil: %s - %s (log) Kan ikke Ã¥bne midlertidig fil: %s - %s (realtime) mkstemp-fejl - %s (realtime) Ã¥bn fejl %s - %s (removetmp) Kan ikke Ã¥bne fil %s (removetmp) mappe er for lang til at fjerne %s/sarg-period (repday) Kan ikke Ã¥bne logfil %s (report) Kan ikke Ã¥bne fil %s (report) mappepunkt er for langt: %s/%s.user_log (siteuser) Kan ikke Ã¥bne logfil %s (smartfilter) Kan ikke Ã¥bne fil %s (smartfilter) Kan ikke Ã¥bne logfil %s (splitlog) Kan ikke Ã¥bne logfil %s - %s (splitlog) Kan ikke Ã¥bne uddatalogfil %s - %s (splitlog) Uddatasti er for lang: %s%s-Ã…Ã…Ã…Ã…-mm-dd (squidguard) Kan ikke Ã¥bne logfil %s (topsites) Kan ikke Ã¥bne logfilen %s (topuser) Kan ikke Ã¥bne filen %s (totday) Kan ikke Ã¥bne logfilen %s (useragent) Kan ikke Ã¥bne filen %s (usertab) Kan ikke Ã¥bne filen %s - %s (util) Kan ikke Ã¥bne mappe %s: %s (util) Kan ikke Ã¥bne fil %s (exclude_codes) 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 kopiere billeder til mÃ¥lmappe %simages Kan ikke oprette et midlertidigt filnavn for at lave rapporten: %s Kan ikke oprette mappe %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Ã¥ inddatalogfil %s (%s). Behandler den alligevel Kan ikke indhente størrelsen pÃ¥ filen %s Kan ikke Ã¥bne DansGuardians konfigurationsfil: %s Kan ikke Ã¥bne konfigurationsfil: %s - %s Kan ikke Ã¥bne exclude_hosts-fil: %s - %s Kan ikke Ã¥bne filKan 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 filen for værtsalias »%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: %s »%s« Normalt logformat Kunne ikke deaktivere LDAP_OPT_REFERRALS Kunne ikke angive LDAP-protokol version %d DATODATO/TIDDAGENÆGTETDansGuardianDansguardianrapport ikke oprettet da den er tom Dansguardianrapport ikke lavet, da ingen konfigurationsfil for dansguardian blev leveret Datafilen %s blev skrevet Dato er for lang eller ugyldig i %s DagsrapportDekomprimerer logfilen »%s« med bzcat Dekomprimerer logfil »%s« med zcat 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: %s/%s Mappenavn for langt: %s%s Liste for filendelser, der skal hentes, er for lang Der er ikke anmodet om rapport over hentede filer i report_type Hentede filerFORLØBET TIDFEJL: Kan ikke indlæse. Hukommelsesfejl Afslut 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/PERIODEKunne ikke kompilere strengrepræsentationen pÃ¥ datointervallet Kunne ikke lukke %s efter skrivning af samlet linje - %s Kunne ikke lukke filen %s - %s Kunne ikke lukke midlertidig fil for bruger %s - %s Kunne ikke lukke indeksfilen %s - %s Kunne ikke lukke logfilen for bruger %s - %s Kunne ikke lukke topbrugerlisten %s - %s Kunne ikke kompilere det regulære udtryk »%s«: %s Kan ikke kopiere billede %s til %s Kunne ikke indhente %d efterfølgende linjer af %s: %s Kunne ikke indhente oprettelsestidspunktet for %s Kunne ikke indhente aktuel tid Kunne ikke flytte til slutningen pÃ¥ filen for ekskluderede kodelinjer %s: %s Kunne ikke flytte til slutningen af filen for ekskluderede brugere %s: %s Kunne ikke gÃ¥ til slutningen af brugerens fil %s: %s Kunne ikke flytte til slutningen af usertab-filen %s: %s Kunne ikke Ã¥bne mappe %s - %s Kunne ikke læse datoen i %s Kunne ikke læse antallet af brugere i %s Kunne ikke tilbagespole filen for ekskluderede kodelinjer %s: %s Kunne ikke tilbagespole filen for ekskluderede brugere %s: %s Kunne ikke tilbagespole brugerens fil %s: %s Kunne ikke tilbagespole usertab-filen %s: %s Kunne ikke skrive en linje i %s Kunne ikke skrive datoen i %s Kunne ikke skrive den samlede linje i %s Fil %s findes allerede, flyttet til %s Filnavnet er for langt for: %s/smartfilter.int_unsort Filnavn er for langt: %s/%s%s Filnavnet er for langt: %s/%s.ip Filnavnet er for langt: %s/%s.utmp Filnavn er for langt: %s/%s/.htaccess Filnavnet er for langt: %s/denied_%s.html Filnavnet er for langt: %s/htmlrel.txt Filnavn er for langt: %s/sarg-%s_%s-%s_%s.log Filnavnet er for langt: %s/sarg-sites Filnavnet er for langt: %s/sarg_temp.log Filnavnet er for langt: %s/sargtmp.int_log Filnavnet er for langt: %s/sargtmp.int_unsort Filnavnet er for langt: %s/smartfilter.html Filnavnet er for langt: %s/smartfilter.int_log Filnavnet er for langt: %s/smartfilter.int_unsort Filen blev ikke fundet: %s Oprettet afGrafrapportGrafikGrafer 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-adresse er for lang eller ugyldig i %s IP til navneopslag (getnameinfo) pÃ¥ IP-adresse »%s« mislykkedes med fejlen %d - %s IP/NAVNIgnorerer duplikeret modul »%s« til at slÃ¥ en IP-adresse op Ignorerer gammel logfil %s Init Inddatafilnavnet er for langt: %s/htmlrel.txt Heltalsoverløb detekteret i getword_atoi i linje %s Heltalsoverløb detekteret i getword_atoll 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 fundet i logfilen for dansguardian %s Ugyldig IP-adresse i filen %s Ugyldigt NUL-tegn fundet i regulært udtryk Ugyldig adresse i filen %s Ugyldig adgangstype i filen %s Ugyldig adressetype %d returneret nÃ¥r værtsnavn »%s« slÃ¥s op Ugyldig længde for mellemlager videresendt til funktionen for sikkert at kopiere en streng Ugyldigt mellemlager videresendt til getword_ptr Ugyldig cache hit size i %s Ugyldig cache miss size i %s Ugyldig dato »%s« for timestatistikken Ugyldig datokomponent i »%s« for timestatistikken Ugyldig dato fundet i fil %s Ugyldig dato fundet i din logfil for dansguardian %s Ugyldig dato i fil %s Ugyldigt datointerval givet pÃ¥ kommandolinjen Ugyldigt datoindeks fundet i timestatistikken Ugyldig forløbet tid i %s Ugyldig forløbet tid i fil %s Ugyldigt punkt i fil %s Ugyldig time %d for timestatistikken Ugyldigt antal adgange i %s Ugyldigt antal byte i %s Ugyldigt antal byte i fil %s Ugyldigt antal dage i parameteren -d Ugyldigt antal mÃ¥neder i parameteren -d Ugyldigt antal uger i parameteren -d Ugyldig sti (%s). Brug venligst kun absolutte stier. Ugyldig omdirigeret liste i filen %s Ugyldig omdirigeret kilde i filen %s Ugyldig regel i filen %s Ugyldig kilde-IP i filen %s Ugyldig tidskolonne i filen %s Ugyldig tid fundet i %s Ugyldig tid fundet i filen %s Ugyldig tid fundet i logfilen for dansguardian %s Ugyldig tid i fil %s Ugyldig samlet mellemlagergevinst i %s Ugyldig samlet mellemlagertab i %s Ugyldigt samlet forløbet tid i %s Ugyldigt samlet antal adgange i %s Ugyldig samlet størrelse i %s Ugyldig bruger fundet i logfilen for dansguardian %s Ugyldig bruger i filen %s Ugyldigt brugernavn i filen %s 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 Logfilnavnet er for langt til at blive givet pÃ¥ kommandolinjen med tilvalget -l: %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) MILLISEKMÃ…NEDDanner brugeragentrapporter Danner fil: %s/%s Danner index.html Danner rapport: %s MÃ¥ske en ugyldig post eller rest blev returneret af %s MÃ¥ske har du en ugyldig IP i din fil %s MÃ¥ske har du en ugyldig adgangskode i din fil %s MÃ¥ske har du en ugyldig mængde data i din fil %s MÃ¥ske har du en ugyldig klient-IP-adresse i din fil %s MÃ¥ske har du en ugyldig dato i din fil %s MÃ¥ske har du en ugyldig dag i din %s-fil MÃ¥ske har du en ugyldig dag i din fil %s%s/sarg-date MÃ¥ske har du en ugyldig overførselsvarighed i din fil %s MÃ¥ske har du en ugyldig overførselsstørrelse i din fil %s MÃ¥ske har du en ugyldig forløbet tid i din %s-fil MÃ¥ske har du en ugyldig mÃ¥ned i din fil %s MÃ¥ske har du en ugyldig mÃ¥ned i din fil %s%s/sarg-date MÃ¥ske har du en ugyldig post eller rest i parameteren »date_format« MÃ¥ske har du en ugyldig post eller rest i fil %s MÃ¥ske har du en ugyldig post eller rest i din %s-fil MÃ¥ske har du en ugyldig post eller rest i din udelukkelsesstreng MÃ¥ske har du en ugyldig forespørgselsmetode i din fil %s MÃ¥ske har du en ugyldig resultatkode i din fil %s MÃ¥ske har du en ugyldig regel i din %s-fil MÃ¥ske har du en ugyldig størrelse i din %s-fil MÃ¥ske har du en ugyldig tid i din %s-fil MÃ¥ske har du en ugyldig tid i din fil %s%s/sarg-date MÃ¥ske har du en ugyldig tid i din fil access.log MÃ¥ske har du en ugyldig adresse i din %s-fil MÃ¥ske har du en ugyldig bruger-id i din fil %s MÃ¥ske har du en ugyldig bruger-ip i din %s-fil MÃ¥ske har du et ugyldig brugeragentpunkt i din %s-fil MÃ¥ske har du en ugyldig ugedag i din fil %s%s/sarg-date MÃ¥ske har du et ugyldig Ã¥r i din fil %s MÃ¥ske har du et ugyldig Ã¥r i din fil %s%s/sarg-date 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 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 de nægtede adgange Ikke nok hukommelse til at læse de hentede filer Ikke nok hukommelse til at læse de hentede filer. Ikke nok hukommelse til at læse filen %s Ikke nok hukommelse til at læse aliasserne for værtsnavnene Ikke nok hukommelse til at læse logfilen Ikke nok hukommelse til at læse logfilen %s Ikke nok hukommelse til at læse den behandlede omdirigeringslog Ikke nok hukommelse til at læse redirector-loggen 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 Uddatafilnavnet er for langt: %s/%s/%s.html Uddatafilnavn er for langt: %s/%s/d%s.html 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 %s returnerede ikke noget resultat Sti for lang %s/%s.ip Sti for lang for %s/download.int_unsort Sti for lang til at sortere filen: %s/download.int_unsort PeriodePeriode dækket af logfiler: %s-%s Periode: %sPeriode: %s Behandlede 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-logfil %s Læser brugerfil: %s/%s Læser brugeragentlog: %s RealtidPost=»%s« OmdirigeringFilnavnet pÃ¥ omdirigeringsloggen givet pÃ¥ kommandolinjen med tilvalget -L er for langt: %s OmdirigeringsrapportVideresendelsesrapport er ikke oprettet, da den er tom Fjerner gammel rapportfil %s SARG-version: %s SARG-rapportSARG-rapporterSARG-rapport for %sSARG-rapport, %cSARG, SARG: SARG: (info) SARG: Poster i fil: %lu, læser: %3.2f%%SARG: Poster i fil: %lu, læser: %3.2f%% 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-rapportSorteringskommando for lang nÃ¥r filen »%s« sorteres til »%s« Sorter: %s, %sSorter: %s, %sSorteret fil findes ikke (til udarbejdelse af rapport over hentede filer) Sorteringsfil: %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« Midlertidigt filnavn er for langt: %s/%s.utmp Midlertidigt brugerfilnavn er for langt: %s/%s.user_unsort 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 %s fejlede 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 din %s-fil. Navnet pÃ¥ filen er ugyldigt: %s Antallet af brugere er ugyldigt i filen %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) Adressen er ugyldig i filen %s Bruger-id'et i kolonne 8 er for langt Brugeren i kolonne 9 er for lang Der er et ugyldigt antal adgange i filen %s Der er en ugyldig IP-adresse i filen %s Der er en ugyldig adgangskode i filen %s Der er en ugyldig dato i filen %s Der er en ugyldig størrelse for overførsel i filen %s Der er en ugyldig forløbet tid i filen %s Der er en ugyldig forløbet tid i filen %s Der er en ugyldig kolonne for in-cache i filen %s Der er en ugyldig størrelse for in-cache i filen %s Der er en ugyldig in-cache-enhed i filen %s Der er et ugyldigt antal adgange i filen %s Der er et ugyldig antal byte i filen %s Der er en ugyldig kolonne for out-cache i filen %s (%d) Der er en ugyldig out-cache-enhed i filen %s Der er en ugyldig størrelse for ikke-nok-mellemlager i filen %s Der er en ugyldig post eller rest i filen %s Der er ugyldig smart-info i fil %s Der er et ugyldigt tidspunkt i filen %s Der er en ugyldig adresse i filen %s Der er en ugyldig bruger-id i filen %s Der er en ugyldig bruger i filen %s Der er en ugyldig bruger i fil %s Der er en ugyldig IP-adresse i fil %s Der er en ugyldig angivelse af forløbet tid i filen %s Der er et ugyldigt antal adgange i filen %s Der er et ugyldigt antal byte i filen %s Der er ugyldig smart-info i filen %s Der er en ugyldig bruger-id i filen %s Der er en ugyldig brugeragent i filen %s 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 Tid for lang eller ugyldig i %s For mange kodelinjer at udelukke i fil %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 -l. For mange logfiler givet pÃ¥ kommandolinjen. For mange mÃ¥nedsmapper i %s Overskydende punkter ignoreres For mange logfiler for omdirigering i konfigurationsfilen For mange omdirigeringslogge er givet pÃ¥ kommandolinjen med tilvalget -L. 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 Adresse 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«. 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 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 Ã…RJaDu har en ugyldig bruger i din fil %s bytekan ikke bygge kommandoen sort til at sortere fil %s kan ikke Ã¥bne %s til skrivning kan ikke køre stat pÃ¥ »%s« kan ikke køre stat pÃ¥ %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 dekomprimeringskommando for lang for logfil %s mappenavn at slette er for langt: %s/%s mappenavn er for langt: %s kunne ikke oprette henvisning »%s« til »%s« - %s kunne ikke omdøbe %s til %s - %s getword backtrace: getword-loop detekteret efter %d byte. getword_atoi-loop detekteret efter %d byte. getword_atoll-loop deteketeret efter %d byte. getword_multisep-loop detekteret. getword_skip-loop detekteret efter %d byte. libgd kunne ikke beregne omkredsboksen for teksten »%s«: %s libgd kunne ikke optegne teksten »%s«: %s kigger efter »%s« ved eller under »%s« malloc-fejl (%ld byte krævet) malloc-fejl (%ld) normalikke nok hukommelse til at sortere indekset denudmappenavn=%s 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. omvendsargversion: %s sø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. tail-kommando: %s tidukendt stitype %s brugerbrugernavn for langt for %s/%s.day brugernavn for langt for %s/%s.user_unsort brugernavn for langt for %s/%s/%s brugernavn for langt til at sortere %s 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-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.6/po/da.po0000644000000000000000000027607712135004005012527 0ustar rootroot# Danish translation sarg. # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Joe Hansen , 2011, 2012. # # 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 # stat -> kan ikke køre stat pÃ¥ # msgid "" msgstr "" "Project-Id-Version: sarg 2.3.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: 2012-11-21 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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "Filnavn er for langt: %s/%s/.htaccess\n" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "(auth) Kan ikke Ã¥bne fil: %s - %s\n" #: auth.c:51 #, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "(auth) Kan ikke Ã¥bne skabelonfil: %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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, 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:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "sorteringskommando: %s\n" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "(authfail) Kan ikke Ã¥bne fil %s\n" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "Godkendelsesfejl" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "Periode: %s" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "BRUGERID" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "IP/NAVN" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "DATO/TID" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "TILGÃ…ET SIDE" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "Ikke nok hukommelse til at læse filen %s\n" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "Der er en ugyldig dato i filen %s\n" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "Der er et ugyldigt tidspunkt i filen %s\n" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "Der er en ugyldig bruger-id i filen %s\n" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "Der er en ugyldig IP-adresse i filen %s\n" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "Der er en ugyldig adresse i filen %s\n" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "Ukendt bruger-id %s i filen %s\n" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "Skrivefejl i filen %s\n" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "Kunne ikke lukke filen %s - %s\n" #: convlog.c:48 #, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "(convlog) Kan ikke Ã¥bne logfilen %s - %s\n" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Ikke nok hukommelse til at læse logfilen %s\n" #: convlog.c:60 #, c-format 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" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Kan ikke Ã¥bne DansGuardians konfigurationsfil: %s\n" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "(dansguardian) Kan ikke Ã¥bne logfil: %s\n" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format 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" #: dansguardian_log.c:80 #, 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:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Læser DansGuardians logfil: %s\n" #: dansguardian_log.c:100 #, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Ugyldig dato fundet i din logfil for dansguardian %s\n" #: dansguardian_log.c:104 #, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Ugyldig tid fundet i logfilen for dansguardian %s\n" #: dansguardian_log.c:108 #, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Ugyldig bruger fundet i logfilen for dansguardian %s\n" #: dansguardian_log.c:112 #, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Ugyldig IP-adresse fundet i logfilen for dansguardian %s\n" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format 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" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132 #, c-format msgid "Sorting file: %s\n" msgstr "Sorteringsfil: %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:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "(dansguardian_report) Kan ikke Ã¥bne logfil %s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "Ã…RSAG" #: dansguardian_report.c:103 #, c-format 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" # http://www.denstoredanske.dk/Samfund,_jura_og_politik/Sprog/Fremmedord/el-er/enumerere #: datafile.c:72 html.c:82 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 brugerfil: %s/%s\n" #: datafile.c:87 #, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "(datafile) mappesti er for lang: %s/%s.user_log\n" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "(datafile) Kan ikke Ã¥bne filen %s\n" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "Ikke nok hukommelse til at læse de hentede filer.\n" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "Der er en ugyldig post eller rest i filen %s\n" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "Der er ugyldig smart-info i filen %s\n" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "Ikke nok hukommelse til at gemme adressen\n" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "Datafilen %s blev skrevet\n" #: decomp.c:36 #, c-format msgid "File not found: %s\n" msgstr "Filen blev ikke fundet: %s\n" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Dekomprimerer logfil »%s« med zcat\n" #: decomp.c:44 decomp.c:54 decomp.c:64 #, c-format msgid "decompression command too long for log file %s\n" msgstr "dekomprimeringskommando for lang for logfil %s\n" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Dekomprimerer logfilen »%s« med bzcat\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:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "(denied) Kan ikke Ã¥bne logfilen %s\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Nægtet" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "Ikke nok hukommelse til at læse de nægtede adgange\n" #: 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" #: download.c:65 #, c-format 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" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "Sti for lang for %s/download.int_unsort\n" #: download.c:114 msgid "No downloaded files to report\n" msgstr "Ingen hentede filer at rapportere\n" #: download.c:125 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:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "(download) Kan ikke Ã¥bne logfilen %s\n" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "Hentede filer" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "Ikke nok hukommelse til at læse de hentede filer\n" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "Liste for filendelser, der skal hentes, er for lang\n" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "For mange filendelser til hentning\n" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "(email) Kan ikke Ã¥bne filen %s\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:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Sorteringskommando for lang nÃ¥r filen »%s« sorteres til »%s«\n" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "Adgangsrapport for Squidbruger" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "Faldende adgang (byte)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "Periode" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "FORBIND" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "BYTE" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "FORLØBET TID" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "MILLISEK" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "TID" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "Der er en ugyldig bruger-id i filen %s\n" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "Der er et ugyldigt antal byte i filen %s\n" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "Der er et ugyldigt antal adgange i filen %s\n" #: email.c:206 #, c-format 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" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "SAMLET" #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "GENNEMSNIT" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, c-format msgid "SARG report, %c" msgstr "SARG-rapport, %c" #: email.c:281 #, c-format msgid "Sending mail with command: %s\n" msgstr "Sender post med kommandoen: %s\n" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "kommando returnerer status %d\n" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Kan ikke Ã¥bne exclude_hosts-fil: %s - %s\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:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "(gethexclude) Kan ikke Ã¥bne fil %s - %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 #, c-format 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" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "Kan ikke indhente størrelsen pÃ¥ filen %s\n" #: exclude.c:332 #, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Kunne ikke tilbagespole filen for ekskluderede brugere %s: %s\n" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc-fejl (%ld byte krævet)\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 "" "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" #: 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" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "(getconf) Kan ikke Ã¥bne filen %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "realloc-fejl (% byte krævet)\n" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" "(grepday) iconv kunne ikke konvertere strengen »%s« fra %s til UTF-8 - %s\n" #: grepday.c:170 #, 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:237 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd kunne ikke optegne teksten »%s«: %s\n" #: grepday.c:296 #, 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:300 #, 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:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Ukendt type %d for Y-akseskala\n" #: grepday.c:489 #, 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:557 msgid "SARG, " msgstr "SARG, " #: grepday.c:561 #, c-format msgid "User: %s" msgstr "Bruger: %s" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "brugernavn for langt for %s/%s/%s\n" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "(grepday) Kan ikke Ã¥bne logfil %s\n" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "Grafer deaktiveret som anmodet om i %s\n" #: grepday.c:643 #, 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:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "(grepday) Skriftnavn %s er ikke fundet\n" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "(grepday) iconv kan ikke konvertere fra %s til UTF-8 - %s\n" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "brugernavn for langt for %s/%s.day\n" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "Ugyldig dato i fil %s\n" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "Ugyldigt punkt i fil %s\n" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "Ugyldigt antal byte i fil %s\n" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Ugyldig forløbet tid i fil %s\n" #: grepday.c:738 #, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "(grepday) Kan ikke Ã¥bne uddatafil %s\n" #: grepday.c:741 msgid "Graph report" msgstr "Grafrapport" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "DAGE" #: html.c:64 #, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Filnavnet er for langt: %s/sargtmp.int_unsort\n" #: html.c:69 #, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Filnavnet er for langt: %s/sargtmp.int_log\n" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "Destinationsmappen er for lang: %s/%s\n" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, c-format msgid "Cannot create directory %s - %s\n" msgstr "Kan ikke oprette mappe %s - %s\n" #: html.c:105 #, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Inddatafilnavnet er for langt: %s/htmlrel.txt\n" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "(html3) Kan ikke Ã¥bne filen %s\n" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "Uddatafilnavnet er for langt: %s/%s/%s.html\n" #: html.c:119 #, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Filnavnet er for langt: %s/denied_%s.html\n" # evt. beskadigt #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "Der er et ugyldigt antal adgange i filen %s\n" #: html.c:145 #, c-format 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" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "Der er en ugyldig adgangskode i filen %s\n" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "Der er en ugyldig forløbet tid i filen %s\n" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "Der er en ugyldig in-cache-enhed i filen %s\n" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "Der er en ugyldig out-cache-enhed i filen %s\n" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "(html5) Kan ikke Ã¥bne filen %s\n" #: html.c:181 html.c:187 msgid "User report" msgstr "Brugerrapport" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "Bruger" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "Sorter: %s, %s" #: html.c:192 msgid "SmartFilter report" msgstr "SmartFilter-rapport" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "IN-CACHE-OUT" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "Danner rapport: %s\n" #: html.c:234 topuser.c:304 util.c:771 #, c-format 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 #: html.c:250 #, c-format 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" #: html.c:254 #, c-format 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" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "dato-/tidsrapport" #: html.c:321 msgid "DENIED" msgstr "NÆGTET" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "Filnavnet er for langt: %s/%s.ip\n" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "(html6) Kan ikke Ã¥bne filen %s\n" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "(html7) Kan ikke Ã¥bne filen %s\n" #: html.c:356 html.c:417 #, c-format 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" #: html.c:365 log.c:1258 #, c-format 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" #: html.c:369 log.c:1217 #, c-format 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" #: html.c:373 html.c:421 #, c-format 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" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format 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" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "(html8) Kan ikke Ã¥bne filen %s\n" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "(html9) Kan ikke Ã¥bne filen %s\n" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "(html10) Kan ikke Ã¥bne filen %s\n" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "Kunne ikke Ã¥bne mappe %s - %s\n" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "(index) Kan ikke Ã¥bne filen %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: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:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Kunne ikke lukke indeksfilen %s - %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 "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" #: index.c:371 #, c-format 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" #: index.c:375 #, c-format 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" #: index.c:379 index.c:389 #, c-format 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" #: index.c:384 #, c-format 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" #: 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:424 #, c-format msgid "(index) Cannot open file %s\n" msgstr "(index) Kan ikke Ã¥ben filen %s\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:101 topsites.c:258 msgid "USERS" msgstr "BRUGERE" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" msgstr "(index) omdøb fejl fra »%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_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:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "(lastlog) Kan ikke Ã¥bne midlertidig fil %s\n" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "Kunne ikke indhente oprettelsestidspunktet for %s\n" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "Fjerner gammel rapportfil %s\n" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "Mappenavn for langt: %s%s\n" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "For mange logfiler givet pÃ¥ kommandolinjen med tilvalg -l.\n" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" "Logfilnavnet er for langt til at blive givet pÃ¥ kommandolinjen med tilvalget " "-l: %s\n" #: log.c:438 #, c-format 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. #: log.c:442 #, c-format 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" #: log.c:476 #, 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:484 #, 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:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "Tilvalget -%c kræver et argument\n" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "For mange logfiler givet pÃ¥ kommandolinjen.\n" #: log.c:534 #, 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:543 #, c-format msgid "Init\n" msgstr "Init\n" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Kan ikke Ã¥bne konfigurationsfil: %s - %s\n" #: log.c:655 #, 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:668 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Sletter midlertidig mappe »%s«\n" #: log.c:677 log.c:710 #, 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:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Værtsnavn eller IP-adresse (-a) = %s\n" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Log for brugeragent (-b) = %s\n" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Ekskluder fil (-c) = %s\n" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Dato fra-til (-d) = %s\n" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " E-post-adresse at sende rapporter (-e) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr " Konfigurationsfil (-f) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Datoformat (-g) = Europa (dd/mm/åååå)\n" #: log.c:687 log.c:720 #, 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:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Datoformat (-g) = Sider & brugere (åååå/ww)\n" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr " IP-rapport (-i) = %s\n" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "Ja" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "Nej" #: log.c:691 log.c:724 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Bevar midlertidige filer (-k) = %s\n" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr " Inddatalog (-l) = %s\n" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Omdirigeringslog (-L) = %s\n" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " SlÃ¥ IP-adresse op (-n) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Uddatamappe (-o) = %s\n" # bruger-id (men beholdt pÃ¥ grund af pladsproblem). #: log.c:698 log.c:731 #, 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:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " TilgÃ¥et side (-s) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr " Tid (-t) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr " Bruger (-u) = %s\n" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Midlertidig mappe (-w) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Fejlsøgningsbeskeder (-x) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Behandl beskeder (-z) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Tidligere rapporter at bevare (--lastlog) = %d\n" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "sargversion: %s\n" #: log.c:746 #, 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:776 #, c-format msgid "setrlimit error - %s\n" msgstr "setrlimit-fejl - %s\n" #: log.c:787 #, 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:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "(log) Kan ikke Ã¥bne fil: %s - %s\n" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Læser adgangslogfil: fra stdin\n" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" "Kan ikke indhente ændringstidspunkt pÃ¥ inddatalogfil %s (%s). Behandler den " "alligevel\n" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignorerer gammel logfil %s\n" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "(log) Kan ikke Ã¥bne logfil: %s - %s\n" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "Læser adgangslogfil: %s\n" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "SARG: Poster i fil: %lu, læser: %3.2f%%" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log er fra Microsoft ISA: %s\n" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "Navnet pÃ¥ filen er ugyldigt: %s\n" #: log.c:902 #, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Filnavnet er for langt: %s/sarg_temp.log\n" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Poster i fil: %lu, læser: %3.2lf%%" #: log.c:931 #, c-format 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" #: log.c:952 #, c-format 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" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format 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" #: log.c:1039 log.c:1150 log.c:1267 #, c-format msgid "Invalid time found in %s\n" msgstr "Ugyldig tid fundet i %s\n" #: log.c:1057 #, c-format 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" #: log.c:1061 #, c-format 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" #: log.c:1065 #, c-format 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" #: log.c:1069 #, c-format 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" #: log.c:1077 log.c:1205 #, c-format 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" # 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:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Kan ikke konvertere tidsstemplet fra squid-logfilen\n" #: log.c:1199 #, c-format 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" #: log.c:1223 #, c-format 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" #: log.c:1229 #, c-format 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" #: log.c:1237 #, c-format 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" #: log.c:1250 #, c-format 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" #: log.c:1254 #, c-format 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" #: log.c:1274 #, 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:1299 #, c-format msgid "User ID too long: %s\n" msgstr "Bruger-id for lang: %s\n" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "Udelukket kode: %s\n" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "Udelukket side: %s\n" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "Udelukket bruger: %s\n" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "Ikke nok hukommelse til at gemme brugeren %s\n" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Kunne ikke lukke logfilen for bruger %s - %s\n" #: log.c:1497 #, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Midlertidigt brugerfilnavn er for langt: %s/%s.user_unsort\n" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "(log) Kan ikke Ã¥bne midlertidig fil: %s - %s\n" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Skrivefejl i logfilen for bruger %s\n" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "SARG: Poster i fil: %lu, læser: %3.2f%%\n" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " Poster læst: %ld, skrevet: %ld, udelukket: %ld\n" #: log.c:1603 #, 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:1606 #, c-format msgid "Common log format\n" msgstr "Normalt logformat\n" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "Squid logformat\n" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "Sarg logformat\n" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "Log med ugyldigt format\n" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "Ingen poster fundet\n" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "Afslut\n" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Periode dækket af logfiler: %s-%s\n" #: log.c:1638 #, 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:1643 #, c-format msgid "date=%s\n" msgstr "dato=%s\n" #: log.c:1644 #, c-format msgid "period=%s\n" msgstr "periode=%s\n" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "Periode: %s\n" #: log.c:1665 #, c-format 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" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "kunne ikke omdøbe %s til %s - %s\n" #: log.c:1679 #, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Kommando er for lang: %s »%s«\n" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg-fortolket log gemt som %s\n" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Samlet kørsesltid: %.0lf sekunder\n" #: log.c:1741 #, 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:1744 #, 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:1745 #, 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:1764 #, c-format msgid "Loading password file from %s\n" msgstr "Indlæser adgangskodefil fra %s\n" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "(getusers) Kan ikke Ã¥bne fil %s - %s\n" #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Kunne ikke gÃ¥ til slutningen af brugerens fil %s: %s\n" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Kunne ikke tilbagespole brugerens fil %s: %s\n" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "malloc-fejl (%ld)\n" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\n" msgstr "Du har en ugyldig bruger i din fil %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 "(realtime) mkstemp error - %s\n" msgstr "(realtime) mkstemp-fejl - %s\n" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "tail-kommando: %s\n" #: realtime.c:89 #, c-format 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" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "Tidsstemplingen i kolonne 1 er for lang\n" #: realtime.c:130 #, 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:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "Forbindelsesvarigheden i kolonne 2 er for lang\n" #: realtime.c:142 #, 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:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "Statussen i kolonne 4 er for lang\n" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "Størrelsen i kolonne 5 er for lang\n" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "Handlingen i kolonne 6 er for lang\n" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "Adressen i kolonne 7 er for lang\n" #: realtime.c:163 #, 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:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "Dataene i kolonne 8 er for lange\n" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "Brugeren i kolonne 9 er for lang\n" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "(realtime) Ã¥bn fejl %s - %s\n" #: realtime.c:232 #, c-format msgid "Invalid time column in file %s\n" msgstr "Ugyldig tidskolonne i filen %s\n" #: realtime.c:236 redirector.c:494 #, c-format msgid "Invalid IP address in file %s\n" msgstr "Ugyldig IP-adresse i filen %s\n" #: realtime.c:240 #, c-format msgid "Invalid user name in file %s\n" msgstr "Ugyldigt brugernavn i filen %s\n" #: realtime.c:245 redirector.c:163 redirector.c:498 #, c-format msgid "Invalid URL in file %s\n" msgstr "Ugyldig adresse i filen %s\n" #: realtime.c:249 #, c-format msgid "Invalid access type in file %s\n" msgstr "Ugyldig adgangstype i filen %s\n" #: realtime.c:312 msgid "Realtime" msgstr "Realtid" #: realtime.c:313 msgid "Auto refresh" msgstr "Opdater automatisk" #: realtime.c:314 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 %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:140 splitlog.c:97 #, c-format msgid "Invalid date found in file %s\n" msgstr "Ugyldig dato fundet i fil %s\n" #: redirector.c:148 #, c-format msgid "Invalid time found in file %s\n" msgstr "Ugyldig tid fundet i filen %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:173 redirector.c:482 #, c-format msgid "Invalid user in file %s\n" msgstr "Ugyldig bruger i filen %s\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file %s\n" msgstr "Læser redirector-logfil %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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "(squidguard) Kan ikke Ã¥bne logfil %s\n" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Ikke nok hukommelse til at læse redirector-loggen\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "Videresendelsesrapport er ikke oprettet, da den er tom\n" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Ikke nok hukommelse til at læse den behandlede omdirigeringslog\n" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "Omdirigeringsrapport" #: redirector.c:477 msgid "RULE" msgstr "REGEL" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "Ugyldig tid i fil %s\n" #: redirector.c:502 #, c-format msgid "Invalid rule in file %s\n" msgstr "Ugyldig regel i filen %s\n" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "Uddatafilnavn er for langt: %s/%s/d%s.html\n" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "(repday) Kan ikke Ã¥bne logfil %s\n" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "For mange forskellige datoer i %s\n" #: repday.c:126 msgid "Day report" msgstr "Dagsrapport" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "%02dT" #: repday.c:185 #, 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:193 msgid "H:M:S" msgstr "T:M:S" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "udmappenavn=%s\n" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "(report) Kan ikke Ã¥bne fil %s\n" #: report.c:120 #, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "(report) mappepunkt er for langt: %s/%s.user_log\n" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "Der er ugyldig smart-info i fil %s\n" #: report.c:257 msgid "Site access report" msgstr "Rapport for sideadgang" #: report.c:267 msgid "DATE" msgstr "DATO" #: report.c:331 #, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Kunne ikke lukke midlertidig fil for bruger %s - %s\n" #: report.c:350 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:361 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:366 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:371 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:376 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:381 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:393 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:398 #, c-format msgid "Successful report generated on %s\n" msgstr "Rapport genereret pÃ¥ %s\n" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapport genereret og sendt til %s\n" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "Danner fil: %s/%s\n" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "Midlertidigt filnavn er for langt: %s/%s.utmp\n" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "Sti for lang %s/%s.ip\n" #: report.c:491 #, c-format msgid "Failed to write a line in %s\n" msgstr "Kunne ikke skrive en linje i %s\n" #: report.c:513 #, c-format msgid "Failed to write the total line in %s\n" msgstr "Kunne ikke skrive den samlede linje i %s\n" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "Ugyldigt samlet antal adgange i %s\n" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "Ugyldig samlet størrelse i %s\n" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "Ugyldigt samlet forløbet tid i %s\n" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "Ugyldig samlet mellemlagergevinst i %s\n" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "Ugyldig samlet mellemlagertab i %s\n" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "Brugernavn for langt eller ugyldigt i %s\n" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "Ugyldigt antal adgange i %s\n" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "Ugyldigt antal byte i %s\n" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "Adresse for lang eller ugyldig i %s\n" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "IP-adresse er for lang eller ugyldig i %s\n" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "Tid for lang eller ugyldig i %s\n" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "Dato er for lang eller ugyldig i %s\n" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "Ugyldig forløbet tid 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:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "Ugyldig cache hit size i %s\n" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "Ugyldig cache miss size i %s\n" #: report.c:747 #, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Filnavnet er for langt for: %s/smartfilter.int_unsort\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:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "(siteuser) Kan ikke Ã¥bne logfil %s\n" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "Sider & brugere" #: smartfilter.c:57 #, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Filnavnet er for langt: %s/smartfilter.int_unsort\n" #: smartfilter.c:61 #, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Filnavnet er for langt: %s/sarg-sites\n" #: smartfilter.c:65 #, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Filnavnet er for langt: %s/smartfilter.int_log\n" #: smartfilter.c:69 #, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Filnavnet er for langt: %s/smartfilter.html\n" # 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:74 #, 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:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "(smartfilter) Kan ikke Ã¥bne logfil %s\n" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "SMARTFILTER" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "Oprettet af" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr "den" #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "(smartfilter) Kan ikke Ã¥bne fil %s\n" #: sort.c:66 #, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Filnavnet er for langt: %s/%s.utmp\n" #: sort.c:70 #, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Filnavnet er for langt: %s/htmlrel.txt\n" # navneord eller udsagnsord? Sorterer log eller Sorteringslog #: sort.c:118 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sorteringslog %s/%s.user_unsort\n" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "brugernavn for langt til at sortere %s\n" #: sort.c:135 #, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "brugernavn for langt for %s/%s.user_unsort\n" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "forbind" #: sort.c:158 msgid "site" msgstr "side" #: sort.c:160 topuser.c:174 msgid "time" msgstr "tid" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "byte" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "omvend" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "(splitlog) Uddatasti er for lang: %s%s-Ã…Ã…Ã…Ã…-mm-dd\n" #: splitlog.c:84 #, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "(splitlog) Kan ikke Ã¥bne logfil %s - %s\n" #: splitlog.c:124 #, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "(splitlog) Kan ikke Ã¥bne uddatalogfil %s - %s\n" #: 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:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "(topsites) Kan ikke Ã¥bne logfilen %s\n" #: topsites.c:179 #, 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:232 topuser.c:235 msgid "Top sites" msgstr "Topsider" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "Top %d sider" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "Antallet af brugere er ugyldigt i filen %s\n" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "Adressen er ugyldig i filen %s\n" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "(topuser) Kan ikke Ã¥bne filen %s\n" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the file %s\n" msgstr "Ikke nok hukommelse til at læse 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:215 #, c-format msgid "SARG report for %s" msgstr "SARG-rapport for %s" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "Sorter: %s, %s" #: topuser.c:224 msgid "Top users" msgstr "Topbrugere" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:229 msgid "Table of content" msgstr "Indholdsfortegnelse" #: topuser.c:238 msgid "Redirector" msgstr "Omdirigering" #: topuser.c:240 msgid "Denied accesses" msgstr "Nægtede adgange" #: topuser.c:243 msgid "Useragent" msgstr "Brugeragent" #: topuser.c:250 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" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "Der er en ugyldig bruger i filen %s\n" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "Der er en ugyldig forløbet tid i filen %s\n" #: topuser.c:316 #, c-format 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" #: topuser.c:320 #, c-format 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" #: topuser.c:352 msgid "Graphic" msgstr "Grafik" #: topuser.c:390 #, 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:441 #, 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:481 #, c-format msgid "Write error in top user list %s\n" msgstr "Skrivefejl i topbrugerlisten %s\n" #: topuser.c:483 #, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Kunne ikke lukke topbrugerlisten %s - %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:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "Filnavn er for langt: %s/%s%s\n" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "(totday) Kan ikke Ã¥bne logfilen %s\n" #: totday.c:166 #, 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 filen for værtsalias »%s« - %s\n" #: url.c:588 #, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Ikke nok hukommelse til at læse aliasserne for værtsnavnene\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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "(useragent) Kan ikke Ã¥bne filen %s\n" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "Læser brugeragentlog: %s\n" #: useragent.c:100 #, c-format 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" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Poster læst: %ld\n" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "Danner brugeragentrapporter\n" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "Squids brugeragentrapporter" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "Der er en ugyldig IP-adresse i fil %s\n" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "Der er en ugyldig brugeragent i filen %s\n" #: 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:64 #, c-format 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? #: usertab.c:68 #, c-format 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" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Kunne ikke tilbagespole usertab-filen %s: %s\n" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "FEJL: Kan ikke indlæse. Hukommelsesfejl\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\n" msgstr "Listen af brugere er for lang i din %s-fil.\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 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Indlæser brugertabel: %s\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "LDAP-modul er ikke kompileret i sarg\n" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "getword backtrace:\n" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "Kan ikke fortolke linjen igen da den blev ændret\n" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "getword-loop detekteret efter %d byte.\n" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "Linje=»%s«\n" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "Post=»%s«\n" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "søger efter »x%x«\n" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "getword_multisep-loop detekteret.\n" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "getword_skip-loop detekteret efter %d byte.\n" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "Heltalsoverløb detekteret i getword_atoll i linje %s\n" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "getword_atoll-loop deteketeret efter %d byte.\n" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "Heltalsoverløb detekteret i getword_atoi i linje %s\n" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "getword_atoi-loop detekteret efter %d byte.\n" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Ugyldigt mellemlager videresendt til getword_ptr\n" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "Ugyldig sti (%s). Brug venligst kun absolutte stier.\n" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "mappenavn er for langt: %s\n" #: util.c:358 #, 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:433 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:438 util.c:442 #, 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" #: util.c:458 msgid "SARG: " msgstr "SARG: " #: util.c:475 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "Kunne ikke læse datoen i %s\n" #: util.c:716 #, 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:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "Der er en ugyldig bruger i fil %s\n" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "Der er et ugyldigt antal adgange i filen %s\n" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "Kan ikke kopiere billeder til mÃ¥lmappe %simages\n" # (util) angiver hvor fejlen fandt sted, sÃ¥ den skal ikke oversættes. #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "(util) Kan ikke Ã¥bne mappe %s: %s\n" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "Kan ikke køre stat pÃ¥ »%s« - %s\n" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "Kan ikke kopiere billede %s til %s\n" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "Kan ikke Ã¥bne fil" #: util.c:1054 util.c:1077 #, c-format msgid "File %s already exists, moved to %s\n" msgstr "Fil %s findes allerede, flyttet til %s\n" #: util.c:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "kan ikke Ã¥bne %s til skrivning\n" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "Kunne ikke skrive datoen i %s\n" #: util.c:1130 #, 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:1209 #, 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:1214 util.c:1218 #, 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:1231 #, c-format msgid "Failed to get the current time\n" msgstr "Kunne ikke indhente aktuel tid\n" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Ugyldigt antal dage i parameteren -d\n" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Kan ikke konvertere lokal tid: %s\n" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Ugyldigt antal uger i parameteren -d\n" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Ugyldigt antal mÃ¥neder i parameteren -d\n" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Ugyldigt datointerval givet pÃ¥ kommandolinjen\n" #: util.c:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Fjerner midlertidig fil sarg-general\n" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "(removetmp) mappe er for lang til at fjerne %s/sarg-period\n" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "(removetmp) Kan ikke Ã¥bne fil %s\n" #: util.c:1387 #, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Kunne ikke lukke %s efter skrivning af samlet linje - %s\n" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "(util) Kan ikke Ã¥bne fil %s (exclude_codes)\n" #: util.c:1409 #, c-format 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" #: util.c:1418 #, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Kunne ikke tilbagespole filen for ekskluderede kodelinjer %s: %s\n" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "For mange kodelinjer at udelukke i fil %s\n" #: util.c:1589 #, 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:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Kan ikke indhente diskplads med kommando %s\n" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Kan ikke indhente diskstørrelse med kommando %s\n" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "Kommandoen %s fejlede\n" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "SARG-version: %s\n" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "mappenavn at slette er for langt: %s/%s\n" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "kan ikke køre stat pÃ¥ %s\n" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "ukendt stitype %s\n" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, c-format msgid "cannot stat \"%s\"\n" msgstr "kan ikke køre stat pÃ¥ »%s«\n" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "Ukendt stitype »%s«. Kontroller din midlertidige mappe\n" sarg-2.3.6/po/de.gmo0000644000000000000000000000062312135004007012657 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.6/po/de.po0000644000000000000000000023530612135004005012521 0ustar rootroot# German translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Andreas Piek , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Kann Datei nicht oeffnen" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Zeitraum" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "BENUTZERKENNUNG" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NAME" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "DATUM/ZEIT" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "ZUGEGRIFFENE SITE" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Sortiere Datei" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Lese Zugriffsprotokoll" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Kann Datei nicht oeffnen" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Kann Datei nicht oeffnen" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Kann Datei nicht oeffnen" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Kann Datei nicht oeffnen" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132 #, fuzzy, c-format msgid "Sorting file: %s\n" msgstr "Sortiere Datei" #: 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 "Kann Zugriffsprotokoll nicht oeffnen" #: dansguardian_report.c:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file: %s/%s\n" msgstr "Erstelle Datei" #: datafile.c:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Datei nicht gefunden" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Datei nicht gefunden" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Komprimiere Protokolldatei" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Dekomprimiere Protokolldatei" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Komprimiere Protokolldatei" #: 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Kann Datei nicht oeffnen" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Dekomprimiere Protokolldatei" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Bericht ueber Benutzerzugriffe" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "verringerter Zugriff (Bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Zeitraum" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NR." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "VERBINDUNGEN" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "Bytes" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "ZEITDAUER" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILLISEKUNDEN" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ZEIT" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "INSGESAMT" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "DURCHSCHNITT" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Berichte" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Datei nicht gefunden" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Lade Ausschlussdatei aus" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: 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 "Lade Ausschlussdatei aus" #: exclude.c:322 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Kann Datei nicht oeffnen" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "Speicherallokationsfehler" #: 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 "" "Maybe you have a broken record or garbage in \"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 "Lade Ausschlussdatei aus" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "Speicherallokationsfehler" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Kann Datei nicht oeffnen" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Benutzer" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Kann Datei nicht oeffnen" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Kann Datei nicht oeffnen" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Kann Datei nicht oeffnen" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "Berichte" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Datei nicht gefunden" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Datei nicht gefunden" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Datei nicht gefunden" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Datei nicht gefunden" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Benutzer" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Erstelle Bericht" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "ABGELEHNT" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: html.c:555 #, 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 "Erstelle index.html" #: index.c:58 index.c:112 index.c:167 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Berichte" msgstr[1] "Berichte" #: 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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Kann Datei nicht oeffnen" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "DATEI/ZEITRAUM" #: index.c:432 #, fuzzy 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "BENUTZER" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, fuzzy, c-format msgid "Cannot resolve host name %s: %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: 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_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 "Dekomprimiere Protokolldatei" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Dekomprimiere Protokolldatei" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Datei nicht gefunden" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Sortiere Datei" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Removing old report file" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameter" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Rechnername oder IP-Adresse" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Sende Reports an folgende Email-Adresse" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Ja" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Nein" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Rechnername oder IP-Adresse" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Rechnername oder IP-Adresse" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Benutze IP-Adresse anstatt User-ID" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lese Zugriffsprotokoll" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Komprimiere Protokolldatei" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lese Zugriffsprotokoll" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Datei nicht gefunden" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Kann Datei nicht oeffnen" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Kann Datei nicht oeffnen" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Datei nicht gefunden" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" "Protokolle beinhaltet Datensaetze in verschiedenen Formaten (SQUID -und " "allgemeines Format)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "allgemeines Protokollformat" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid-Protokollformat" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Protokoll mit ungueltigem Format" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Keine Datensaetze gefunden" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Ende" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lese Zugriffsprotokoll" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Zeitraum" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Zeitraum" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Datei nicht gefunden" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Datei nicht gefunden" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Lade Passwortdatei aus" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Kann Datei nicht oeffnen" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Kann Datei nicht oeffnen" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "Speicherallokationsfehler" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "Kann Datei nicht oeffnen" #: realtime.c:84 #, fuzzy, c-format msgid "tail command: %s\n" msgstr "Datei nicht gefunden" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Kann Datei nicht oeffnen" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Kann Datei nicht oeffnen" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Kann Datei nicht oeffnen" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Kann Datei nicht oeffnen" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Kann Datei nicht oeffnen" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Dekomprimiere Protokolldatei" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Dekomprimiere Protokolldatei" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Dekomprimiere Protokolldatei" #: 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 "Dekomprimiere Protokolldatei" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file %s\n" msgstr "Dekomprimiere Protokolldatei" #: redirector.c:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file %s\n" msgstr "Lese Zugriffsprotokoll" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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 "Kann Zugriffsprotokoll nicht oeffnen" #: redirector.c:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Kann Datei nicht oeffnen" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Datei nicht gefunden" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATUM/ZEIT" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Kann Datei nicht oeffnen" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Bericht erfolgreich erstellt in" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Bericht erfolgreich erstellt und gesendet an" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Erstelle Datei" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Kann Datei nicht oeffnen" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Kann Datei nicht oeffnen" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Datei nicht gefunden" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Wochen" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Datei nicht gefunden" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Datei nicht gefunden" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Datei nicht gefunden" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Datei nicht gefunden" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Erstellt mit" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "am" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Datei nicht gefunden" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Datei nicht gefunden" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sortiere Datei" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Datei nicht gefunden" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Zeit" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Benutzer" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Kann Datei nicht oeffnen" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Datei nicht gefunden" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Kann Datei nicht oeffnen" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Kann Datei nicht oeffnen" #: 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 "Kann Datei nicht oeffnen" #: 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 "Lese Zugriffsprotokoll" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\" - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: url.c:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "Rechnername oder IP-Adresse" #: 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 "Sende Reports an folgende Email-Adresse" #: 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 Nachrichten" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Berichte geordnet nach Benutzer und IP-Adresse" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Eingabeprotokoll" #: usage.c:47 msgid " --lastlog Set the number of previous reports to keep" msgstr "" #: usage.c:48 #, fuzzy msgid " -m Advanced process messages" msgstr "Verarbeite Nachrichten" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Loese IP-Adressen auf" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "temporaeres Verzeichnis" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Benutze IP-Adresse anstatt User-ID" #: 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 "Berichte geordnet nach Benutzer und IP-Adresse" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "temporaeres Verzeichnis" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Debug Nachrichten" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Verarbeite Nachrichten" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Kann Datei nicht oeffnen" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Lese UserAgent-Protokoll" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Datensaetze gelesen" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Erstelle UserAgent-Bericht" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Bericht ueber die verwendeten Browser" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "BROWSER" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Kann Datei nicht oeffnen" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Kann Datei nicht oeffnen" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Kann Datei nicht oeffnen" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "bereits vorhanden, wechsle zu" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Kann Datei nicht oeffnen" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Kann Datei nicht oeffnen" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Kann Datei nicht oeffnen" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removing temporary files" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Kann Datei nicht oeffnen" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Kann Zugriffsprotokoll nicht oeffnen" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Report" #~ msgstr "Bericht" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "UserAgent-Protokoll" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Ausschlussdatei" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Ausgabeverzeichnis" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "Sort" #~ msgstr "Sortierung" #, fuzzy #~ msgid "USER" #~ msgstr "BENUTZER" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Dekomprimiere Protokolldatei" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Dekomprimiere Protokolldatei" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Lese Zugriffsprotokoll" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "Speicherallokationsfehler" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Erstelle Zeitraum-Datei" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "IN" #~ msgstr "EINGEHEND" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "AUSGEHEND" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "Speicherallokationsfehler" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "Usage" #~ msgstr "Benutzung" #, fuzzy #~ msgid "options" #~ msgstr "Optionen" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Datum von-bis" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Sende Reports an folgende Email-Adresse" #, fuzzy #~ msgid "stdout for console" #~ msgstr "Standardausgabe an Konsole" #, fuzzy #~ msgid "Config file" #~ msgstr "Konfigurationsdatei" #, fuzzy #~ msgid "Date format" #~ msgstr "Datumsformat" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "zugegriffene Site" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Kann Zugriffsprotokoll nicht oeffnen" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Kann temporaere Datei nicht oeffnen" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Lese Zugriffsprotokoll" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Kann Datei nicht oeffnen" #, fuzzy #~ msgid "End" #~ msgstr "Ende" #, fuzzy #~ msgid "File" #~ msgstr "Datei" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "Grenze erreicht" #, fuzzy #~ msgid "Added to file" #~ msgstr "Angehaengt an Datei" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Rechnername oder IP-Adresse" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Sende Reports an folgende Email-Adresse" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Benutze IP-Adresse anstatt User-ID" #, fuzzy #~ msgid "sarg version: %s" #~ msgstr "Version" #, fuzzy #~ msgid "written" #~ msgstr "geschrieben" #, fuzzy #~ msgid "excluded" #~ msgstr "ausgeschlossen" #, fuzzy #~ msgid "IP report" #~ msgstr "IP Bericht" sarg-2.3.6/po/el.gmo0000644000000000000000000000062312135004007012667 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/el.po0000644000000000000000000025217012135004005012527 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "ΠÏόβλημα πιστοποίησης" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "ΠεÏίοδος" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "Όνομα χÏήστη" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/Όνομα" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "Ημ/νία-ÎÏα " #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "Σελίδα που ζητήθηκε" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Ταξινόμηση αÏχείου" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Ανάγνωση αÏχείου " #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "ΗμέÏες" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Συμπίεση αÏχείου log" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Αποσυμπίεση αÏχείου log" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Μη επιτÏεπτή Ï€Ïόσβαση" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Ληφθέντα αÏχεία" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Αποσυμπίεση αÏχείου log" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Αναλυτική κατάσταση Ï€Ïόσβασης χÏηστών του Proxy Server" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Μειωμένη Ï€Ïόσβαση (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "ΠεÏίοδος" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "ΑÏιθμός" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "ΣÏνδεση" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "Bytes" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "ΧÏόνος" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "msec" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ΧÏόνος" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "ΣÏνολο" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "Μέσος ÏŒÏος" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "αναφοÏές" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "ΦόÏτωση αÏχείου εξαιÏέσεων από" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\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 "" "Maybe you have a broken record or garbage in \"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 "ΦόÏτωση αÏχείου εξαιÏέσεων από" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "σφάλμα μνήμης" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "ΧÏήστης" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "αναφοÏές" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "ΗμέÏες" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "ΧÏήστης" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "Έξυπνο φίλτÏο" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "ΔημιουÏγία αναφοÏών" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "ΧωÏίς Ï€Ïόσβαση" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "ΧÏήστες" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Αποσυμπίεση αÏχείου log" #: 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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "ΑφαίÏεση Ï€Î±Î»Î¹Î¿Ï Î±Ïχείου αναφοÏών" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "ΠαÏάμετÏοι" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname ή διεÏθυνση IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "ΔιεÏθυνση Email για αποστολή αναφοÏών" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Îαι" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Όχι" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname ή διεÏθυνση IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname ή διεÏθυνση IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ΧÏήση διεÏθυνσης Ip αντί ονόματος" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Ανάγνωση αÏχείου " #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Συμπίεση αÏχείου log" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Ανάγνωση αÏχείου " #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "ΑÏχείο Log με διάφοÏες εγγÏαφές (squid και γενικό log)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Κοινό αÏχείο log" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "φοÏμάτ του Squid log" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "ΦοÏμάτ του Sarg log" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "ΑÏχείο Log με άγνωστη μοÏφή" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Δεν βÏέθηκαν εγγÏαφές" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Τέλος" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Ανάγνωση αÏχείου " #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "ΠεÏίοδος" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "ΠεÏίοδος" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Το αÏχείο log του Sarg αποθηκεÏθηκε ως" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "ΦόÏτωμα αÏχείου κωδικών από" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "σφάλμα μνήμης" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Αποσυμπίεση αÏχείου log" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Αποσυμπίεση αÏχείου 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 "Αποσυμπίεση αÏχείου log" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file %s\n" msgstr "Αποσυμπίεση αÏχείου log" #: redirector.c:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "Κανόνες" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "Ημ/νία-ÎÏα " #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Οι αναφοÏές δημιουÏγήθηκαν επιτυχώς στις" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Οι αναφοÏές δημιουÏγήθηκαν επιτυχώς και στάλθηκαν σε" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "ΔημιουÏγία αÏχείου" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Σελίδες & ΧÏήστες" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "Έξυπνο φίλτÏο" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "ΔημιουÏγήθηκε από" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "στις" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ταξινόμηση αÏχείου" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Σελίδες που ζητήθηκαν πεÏισσότεÏο" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "ΧÏόνος" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Σελίδες που ζητήθηκαν πεÏισσότεÏο" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "ΓÏαφικό" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Το αÏχείο δεν βÏέθηκε" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: totday.c:166 #, 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 #, 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 "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: url.c:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "ΜηνÏματα Debug" #: 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 #, 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 "ΜηνÏματα Debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "ΜηνÏματα Process" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Ανάγνωση αÏχείου useragent log" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "ΕγγÏαφές αναγνώστηκαν" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "ΔημιουÏγία αναφοÏών Useragent" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Κατάσταση χÏηστών Proxy" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "ΠÏάκτοÏας" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Δεν μποÏÏŽ να διαβάσω. ΠÏόβλημα μνήμης" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "ΦόÏτωση πίνακα χÏηστών" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "υπάÏχει ήδη, μετακινήθηκε σε" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "ΑφαίÏεση Ï€ÏοσωÏινών αÏχείων" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\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 "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Failed to delete the 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 "(report-1) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(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 "Δεν μποÏÏŽ να διαβάσω το αÏχείο log" #, fuzzy #~ msgid "Sort" #~ msgstr "Ταξινόμηση" #, fuzzy #~ msgid "USER" #~ msgstr "ΧÏήστες" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Αποσυμπίεση αÏχείου log" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Δεν μποÏÏŽ να διαβάσω το αÏχείο" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Αποσυμπίεση αÏχείου log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Ανάγνωση αÏχείου " #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\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 "Δεν μποÏÏŽ να διαβάσω το αÏχείο 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 "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 "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 "sarg version: %s" #~ msgstr "έκδοση" #, fuzzy #~ msgid "written" #~ msgstr "ΑποθηκεÏθηκαν" #, fuzzy #~ msgid "excluded" #~ msgstr "εξαιÏέθηκαν" #, fuzzy #~ msgid "IP report" #~ msgstr "Κατάσταση IP" sarg-2.3.6/po/en@boldquot.header0000644000000000000000000000247112105453133015221 0ustar rootroot# 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.6/po/en@quot.header0000644000000000000000000000226312105453133014357 0ustar rootroot# 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.6/po/es.gmo0000644000000000000000000000062312135004007012676 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.6/po/es.po0000644000000000000000000023550212135004005012536 0ustar rootroot# Spanish 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 # Jose Luis Hernandez Lopez , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "No se puede abrir archivo" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "No se puede abrir archivo 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "No se puede abrir archivo de log" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Fallos de autenticaci&ocaute;n" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Período" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "USERID" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NOMBRE" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "FECHA/HORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "SITIO ACCEDIDO" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Ordenando archivo" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "No se puede abrir archivo de log" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "No se puede abrir archivo de log" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "No se puede abrir archivo de log" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "No se puede abrir archivo de log" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Leyendo archivo de log de accesos" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "No se puede abrir archivo" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "No se puede abrir archivo" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "No se puede abrir archivo" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "No se puede abrir archivo" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132 #, fuzzy, c-format msgid "Sorting file: %s\n" msgstr "Ordenando archivo" #: 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 se puede abrir archivo de log" #: dansguardian_report.c:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSA" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "No se puede abrir archivo de log" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file: %s/%s\n" msgstr "Creando archivo" #: datafile.c:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Archivo no encontrado" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Archivo no encontrado" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Compactando archivo de log" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Descompactando archivo de log" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Compactando archivo de 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denegado" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "No se puede abrir archivo" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Bajados" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Descompactando archivo de log" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Reporte de Accesos de Usuarios de Squid" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Acceso Decreciente (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Período" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "CONEXION" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "TIEMPO UTILIZADO" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "HORA" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "PROMEDIO" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "reportes" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Archivo no encontrado" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "No se puede abrir archivo de log" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Cargando archivo de exclusiones desde" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "No se puede abrir archivo de log" #: 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 "Cargando archivo de exclusiones desde" #: exclude.c:322 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "No se puede abrir archivo de log" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "No se puede abrir archivo" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "error malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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 "Cargando archivo de exclusiones desde" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "error malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "No se puede abrir archivo" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Usuario" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "No se puede abrir archivo" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "No se puede abrir archivo" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "No se puede abrir archivo" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "No se puede abrir archivo de log" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "reportes" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DIAS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Archivo no encontrado" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Archivo no encontrado" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "No se puede abrir archivo de log" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Archivo no encontrado" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Archivo no encontrado" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Usuario" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Creando reporte" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "DENEGADO" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: html.c:555 #, 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 "Creando index.html" #: index.c:58 index.c:112 index.c:167 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "No se puede abrir archivo de log" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "No se puede abrir archivo de log" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "reportes" msgstr[1] "reportes" #: 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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "No se puede abrir archivo" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "ARCHIVO/PERIODO" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "FECHA CREACION" #. 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "USUARIOS" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, fuzzy, c-format msgid "Cannot resolve host name %s: %s\n" msgstr "No se puede abrir archivo 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_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 "Descompactando archivo de log" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Descompactando archivo de log" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Archivo no encontrado" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Ordenando archivo" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "No se puede abrir archivo de log" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Borrando archivos viejos del reporte" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "No se puede abrir archivo de log" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "No se puede abrir archivo de log" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametros" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Nombre de host o direccion IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Direccion e-mail a donde enviar reportes" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Si" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "No" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Nombre de host o direccion IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Nombre de host o direccion IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Usa direccion IP en vez de userid" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "No se puede abrir archivo de log" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Leyendo archivo de log de accesos" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Compactando archivo de log" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "No se puede abrir archivo de log" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Leyendo archivo de log de accesos" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Archivo no encontrado" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "No se puede abrir archivo" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "No se puede abrir archivo" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Archivo no encontrado" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "No se puede abrir archivo de log" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "El log tiene formatos de registro mezclados (squid y common log)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Formato Common log" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Formato Squid log" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log con formato invalido" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "No se encontraron registros" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Fin" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Leyendo archivo de log de accesos" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Período" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Período" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Archivo no encontrado" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Archivo no encontrado" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Cargando archivo de passwords desde" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "No se puede abrir archivo de log" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "No se puede abrir archivo" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "No se puede abrir archivo" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "error malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "No se puede abrir archivo de log" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "No se puede abrir archivo" #: realtime.c:84 #, fuzzy, c-format msgid "tail command: %s\n" msgstr "Archivo no encontrado" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "No se puede abrir archivo" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "No se puede abrir archivo" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "No se puede abrir archivo" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "No se puede abrir archivo" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "No se puede abrir archivo" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Descompactando archivo de log" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Descompactando archivo de log" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Descompactando archivo de 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 "Descompactando archivo de log" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file %s\n" msgstr "Descompactando archivo de log" #: redirector.c:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file %s\n" msgstr "Leyendo archivo de log de 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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 se puede abrir archivo de log" #: redirector.c:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "No se puede abrir archivo" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "No se puede abrir archivo de log" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Archivo no encontrado" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "FECHA/HORA" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "No se puede abrir archivo" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Reporte generado satisfactoriamente en" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Reporte generado satisfactoriamente y enviado a" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Creando archivo" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "No se puede abrir archivo" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "No se puede abrir archivo" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Archivo no encontrado" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Sitios y Usuarios" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Archivo no encontrado" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Archivo no encontrado" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Archivo no encontrado" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Archivo no encontrado" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Generado por" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "el" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "No se puede abrir archivo de log" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Archivo no encontrado" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Archivo no encontrado" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ordenando archivo" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Archivo no encontrado" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Hora" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sitios" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "No se puede abrir archivo de log" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "No se puede abrir archivo de log" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Usuario" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Gráficos" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "No se puede abrir archivo" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Archivo no encontrado" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "No se puede abrir archivo de log" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "No se puede abrir archivo" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "No se puede abrir archivo" #: 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 "No se puede abrir archivo" #: 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 "Leyendo archivo de log de accesos" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\" - %s\n" msgstr "No se puede abrir archivo de log" #: url.c:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "Nombre de host o direccion 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 "Convierte el archivo access.log a una fecha legible" #: 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 "Direccion e-mail a donde enviar reportes" #: 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 "Mensajes de depuración" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Reportes por usuario y direccion 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 "Mensajes de procesos" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Resolviendo direccion IP" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "Directorio temporal" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Usa direccion IP en vez 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 "Cambia el archivo de log por fecha en el parametro -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 "Reportes por usuario y direccion IP" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Directorio temporal" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Mensajes de depuración" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Mensajes de procesos" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "No se puede abrir archivo" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Leyendo log del agente de usuario" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Registros leidos" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Creando reporte de agente de usuario" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Reporte de Agente de Usuario Squid" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENTE" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "No se puede abrir archivo de log" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "No se puede abrir archivo" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "No se puede abrir archivo" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "No se puede cargar. Fallo de memoria" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 "Cargando tabla de usuarios" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Cargando tabla de usuarios" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "No se puede abrir archivo de log" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "No se puede abrir archivo" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "ya existe, renombrando como" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "No se puede abrir archivo" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "No se puede abrir archivo" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "No se puede abrir archivo" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "No se puede abrir archivo de log" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Borrando archivos temporales" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "No se puede abrir archivo de log" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "No se puede abrir archivo de log" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "No se puede abrir archivo de log" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "No se puede abrir archivo" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "No se puede abrir archivo de log" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Report" #~ msgstr "Reporte" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Log del agente de usuario" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Archivo de exclusiones" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Directorio de salida" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "No se puede cargar. Fallo de memoria" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "Sort" #~ msgstr "Clasificado por" #, fuzzy #~ msgid "USER" #~ msgstr "USUARIOS" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Descompactando archivo de log" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Descompactando archivo de log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Leyendo archivo de log de accesos" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "error malloc" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Creando archivo de periodo" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "IN" #~ msgstr "ENTRADA" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "SALIDA" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "No se puede cargar. Fallo de memoria" #, fuzzy #~ msgid "malloc error" #~ msgstr "error malloc" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "Usage" #~ msgstr "Modo de uso" #, fuzzy #~ msgid "options" #~ msgstr "opciones" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Fecha desde-hasta" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Direccion e-mail a donde enviar reportes" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout para consola" #, fuzzy #~ msgid "Config file" #~ msgstr "Archivo de configuracion" #, fuzzy #~ msgid "Date format" #~ msgstr "Formato de fecha" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Sitio accedido" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "No se puede abrir archivo de log" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "No se puede abrir archivo temporal" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Leyendo archivo de log de accesos" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "No se puede abrir archivo" #, fuzzy #~ msgid "End" #~ msgstr "Fin" #, fuzzy #~ msgid "File" #~ msgstr "Archivo" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limite excedido" #, fuzzy #~ msgid "Added to file" #~ msgstr "Agregado al archivo" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Nombre de host o direccion IP" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Direccion e-mail a donde enviar reportes" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Usa direccion IP en vez de userid" #, fuzzy #~ msgid "sarg version: %s" #~ msgstr "version" #, fuzzy #~ msgid "written" #~ msgstr "escritos" #, fuzzy #~ msgid "excluded" #~ msgstr "excluido" #, fuzzy #~ msgid "IP report" #~ msgstr "Reporte IP" sarg-2.3.6/po/fr.gmo0000644000000000000000000022472112135004007012705 0ustar rootrootÞ•ƒ0Hm`(6,6@6<7+=7+i7+•7+Á7+í7+8<E8@‚89Ã8+ý8+)9+U9+9+­9+Ù9+:+1:+]:+‰:+µ:Aá:+#;O;:m;>¨;>ç;Y&<-€<?®<=î<;,=Yh=IÂ=B >MO>>2»>î>- ?3:?+n?>š?IÙ?E#@4i@'ž@"Æ@$é@+A:A2PAƒA ›A§A#¶A ÚA+çABzBl”BeC[gCaÃC!%D*GDrD'’D(ºD.ãDE32E!fE#ˆE¬EÉE'èE$F"5F%XF ~F5ŸFDÕFG8GUGrGG¬GÉGæG!H,%H(RH {H$œH*ÁHìH I *I8KI!„I¦I2ÄI#÷I"J&>J(eJ/ŽJ4¾J%óJ#K=K!\K ~K#ŸK#ÃK+çKAL ULcLiLqL@‰L<ÊL MM5M7PMˆMŽM –M¤MÄM5ãM0N>JN ‰NRªNýNO%5O8[O&”OQ»O P)-P!WP(yP¢P'³P/ÛP1 Q+=Q iQŠQ¡Q"¸QÛQQïQAR\R%oR'•R½R ÂRÌRÑR ØR6åRYS!vS˜S ¸S'ÃS&ëST",TOTVT4fT/›T&ËTòTU50U fU pU!}UŸU$¤U'ÉUñUVV *V<6V5sV©V0ÇV'øV- W*NW2yW¬W.ËW&úW!X>AX>€X5¿X7õX!-YOY)nY0˜Y0ÉY'úY)"ZLZjZ%ŠZ$°Z1ÕZ[$[B[$b[&‡[#®[,Ò["ÿ[%"\'H\*p\(›\+Ä\.ð\] 3] @]M]5U]#‹]¯]3µ]8é]/"^ R^2_^0’^.Ã^%ò^Q_j_8r_«_Å_)Ë_5õ_6+`Sb``¶`ca:{a¶a2Õab b?@bE€b%Æbìb c,)c9Vcc4¯cäc*ýc1(dZd vd—d*±d!Üdþd#e'Ae)ie(“e4¼e#ñe%f;fTfrf’f¬f4Ëfgg8g!Xg'zg¢g4¼gñg hU(h!~h h ¸h7Ãhûhi1iPi#oi“iA²i2ôi'jFj5_j•jžj¤j½jÑjäj4÷j+,k4Xk7k:Åk-l,.l8[l:”l6Ïl5m.}l}{},”}6Á}ø} ý}? ~I~Z~w~T–~Të~@ S2aB” ×ã5ö ,€9€;K€‡€™€¸€Ñ€ê€+ü€"(KPV[Cl)°5Ú?‚'P‚ x‚#™‚½‚0Ô‚!ƒS'ƒY{ƒnÕƒ<D„/„W±„3 …$=…*b…J…bØ…=;†!y†#›†/¿†'ï†4‡6L‡Oƒ‡Ó‡$ò‡!ˆ19ˆ(kˆ)”ˆ"¾ˆ-áˆ*‰*:‰-e‰+“‰-¿‰.í‰-Š6JŠ.Š/°Š/àŠ(‹"9‹!\‹%~‹"¤‹#Ç‹*ë‹,Œ0CŒ/tŒ*¤Œ'ÏŒ)÷ŒD!If°%ÐAö38ŽlŽŒŽ)¨Ž:ÒŽ+ C94}@² ó ; .F u$F¤CëC/‘s‘’‘™‘8Ÿ‘AؑӒî’2 “7@“/x“+¨“!Ô“ö“&” <”]”+u”¡”1¦”+Ø”•$• ?•4K•€• ‰•2“•KÆ•C–V–j–‚–'Ÿ– Ç–è–í–)ñ–—.!—P—l—~—Ž— ¨—µ—Õ½—“˜¤˜/­˜)ݘ™($™M™m™&™+¨™,Ô™ š+"š@Nš)š"¹š"Üšÿš›$›?›B› Q›Ï\›,œ4œFœ[œqœvœ•œÏ§œ{wóž ž ž!%ž)Gž qž’ž³±ž1e 1— 1É 1û 2-¡1`¡E’¡MØ¡?&¢1f¢3˜¢2Ì¢1ÿ¢11£1c£2•£1È£2ú£1-¤2_¤T’¤+ç¤,¥<@¥@}¥K¾¥D ¦:O¦=ЦLȦ<§QR§T¤§Hù§UB¨,˜¨?Ũ%©3+©B_©7¢©NÚ©R)ªH|ªGŪ+ «)9«)c«2«À«<ß«¬ 5¬B¬$R¬ w¬2…¬¸¬·¾¬hv­cß­QC®a•®1÷®<)¯-f¯1”¯;Ư@°-C°3q°+¥°-Ѱ*ÿ°,*±5W±2±,À±6í±+$²AP²S’²+æ²*³*=³*h³*“³*¾³*é³*´/?´=o´7­´0å´0µ;Gµ"ƒµ'¦µ.ε@ýµ+>¶+j¶>–¶-Õ¶0·04·2e·<˜·BÕ·/¸-H¸,v¸+£¸.ϸ1þ¸30¹9d¹]ž¹ü¹ ºººC5ºEyº¿ºÙºJàºJ+»v»|»ƒ»,•»-»<ð»@-¼Jn¼,¹¼Tæ¼&;½2b½>•½KÔ½> ¾r_¾2Ò¾E¿:K¿7†¿¾¿DÝ¿J"À@mÀP®À0ÿÀ&0Á9WÁ:‘ÁÌÁeêÁ&PÂ!wÂ0™Â@Ê à ÃÃ!à *Ã37ÃekÃ+ÑÃ'ýÃ%Ä08Ä/iÄ™Ä1¹ÄëÄôÄ;Å8AÅ%zÅ% ÅBÆÅB ÆLÆ^Æ/eÆ•Æ;šÆ>ÖÆÇ'Ç9ÇRÇLcÇO°Ç*ÈF+È2rÈ;¥ÈLáÈK.É&zÉ8¡É0ÚÉ& ÊL2ÊSÊGÓÊ@Ë+\Ë%ˆË3®ËHâËJ+ÌEvÌ<¼Ì/ùÌ&)Í3PÍ/„Í8´Í+íÍ,Î.FÎ3uÎ5©Î2ßÎ;Ï1NÏ4€Ï/µÏ2åÏ7Ð:PÐ6‹ÐÂÐ ÝÐëÐ ýÐGÑ/PÑ€ÑP†ÑF×Ñ^Ò}ÒBÒ@ÐÒ?Ó-QÓgÓçÓEîÓ4Ô PÔ<\ÔI™ÔJãÔj.Õw™ÕxÖ;ŠÖ'ÆÖ>îÖ -×)N×Vx×TÏ×*$Ø,OØ*|Ø;§ØKãØ!/Ù5QÙ!‡Ù6©Ù9àÙ!Ú,<Ú$iÚ1ŽÚ"ÀÚ"ãÚ-Û14Û0fÛ5—ÛGÍÛ1Ü.GÜ#vÜ.šÜ-ÉÜ!÷Ü!Ý6;Ý#rÝ6–Ý4ÍÝ'Þ(*Þ!SÞ=uÞ-³Þ-áÞWß,gß#”߸ß=Êß(à.1à'`à2ˆà;»à'÷à^áM~á$Ìá'ñá[âuâ~â,ƒâ°âÏâèâLãHQãIšãSäãH8äBä@ÄäLåXRåX«åJæ@OæLæeÝæQCçT•ç]êçRHèM›èDéèD.éAséMµéIêAMêJêVÚêE1ë[wëDÓëPì3iì^ì.üì+í6/ífíbjí7ÍíšîN î-ïîïE;ïGï+Éï.õïB$ð4gð<œð<Ùð.ñ<Eñ+‚ñ.®ñTÝñ:2òBmòR°ò3ó;7óTsó>ÈóYôKaô)­ô1×ô4 õ!>õ;`õ<œõ¢Ùõ|ödŒöñö4 ÷FA÷ˆ÷,‘÷¾÷Í÷ZÝ÷)8øbø)iø$“ø.¸ø@çø%(ù(Nù(wù  ù¬ù ÇùmÓùAú2Zúú«úÂúÝúòúû û û<û=\û=šûØûìû0ü:9ütü {ü[‡üãü.þü&-ý`Tý`µýþ1þ@FþZ‡þ âþîþTÿ WÿeÿO|ÿÌÿ!âÿ',L/e%•»ÂÈÍXá9:EtJº-&3)Z„7Ÿ'×YÿcY‹½DI;ŽcÊA.*p>›^Úg9C¡*å(99+sBŸ8â[+w0£3Ô> 5G 6} /´ Cä 7( 7` @˜ AÙ @ 8\ 8• CÎ > ?Q A‘ DÓ . .G 7v :® :é 5$7Z8’8Ë87=2uP¨Vù%P,vM£:ñ#,2P;ƒD¿3J8JƒTÎ#>QV;¨ä+i-u—z &ˆ ¯ »HÈ`r$‚;§OãA3>u+´-à9%Hn<ˆ ÅGÑB\3|°BÈ  H'pplá!N&p$—?¼EüBIFM”D›/à,$="b… •។<8Ú# @7 %x ž 2´ 7ç 8!*X!7ƒ!F»!8"7;"7s"#«"Ï"*Ö"## #Û #ü#$ $=$T$/Y$‰$Û $|% &'&-& H&2T&:‡&1Â&1ô& êÃvŠõö«ß—[^¹1?^€ÚëCA¯1(~UF>Èߤ‘ô,Ô¶ <ØiP]Y »\a9FO} Ñz žpzmk¬ýÕ(‡tÍó®>Dæñí”_v-Éwýµ8p ‚ÃKry*Û?nt.Im¥›c%½@¥ú!hflÌOE8En~ìà"¾}²†•çBN/Åæ6¦b× &VeZK¼À¾ #GŸéIŸ4äm½ è+CüsU¨§†³Œu¸52É-+Çÿ•Ê®÷JÎ@ç7'³€eËKþøšQrƒâ-dLg38.ªE^G¡¹>_<©–ISNÛqfW~aF;l&‰Üèn£Ó’šˆÏë Lg{}…ìÞÂ6jü]t«%¢(0OµáÀZ¶©&1`$“B7ÙÜG[̧vx\ujÁ 0/ÿ;â ‡)XàÐ:eWVYwÆ‘TÐîyò±4bñ_|NïT¿‰ú˜5< )xœ`ðó£„Ä[… ;íËòHÕÝr÷Çh 5MØk„Þ:”3¯œÅk–°ùû ƒ°L¡|Ô´{$ð¼ùM3S"oscûÒh·’ÂWQ!·ažQ+XJ‹‚dÒºÏ)ÓR×H `lDi#Žjo¢á¨{f76“*sMVqZu€Uƒ=ª:ã.å$dÙéø¤¦9Žz9ã/yögS?*­Ö›¸Ö‚0™'Úä4 =T,w2H'J\ õº Èîb%¬ÝB"qåĈʲi˜]o,Í­´cCŠ—Px™P‹þÎYê=A±@!RÁXD¿RÆ2ôpA|#Ñ&'-'4'T6h6|66¬6È6Ü6ð67 7;'ÿÿÿÿ]'3ÿÿÿÿ’'3ÿÿÿÿÇ' "ÿÿÿÿ( "ÿÿÿÿW($ÿÿÿÿ’(:ÿÿÿÿÎ(:ÿÿÿÿ )0 .ÿÿÿÿu)! .ÿÿÿÿ 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…(auth) Cannot open file: %s - %s (auth) Cannot open template file: %s - %s (authfail) Cannot open file %s (convlog) Cannot open log file %s - %s (dansguardian) Cannot open log file: %s (dansguardian_report) Cannot open log file %s (datafile) Cannot open file %s (datafile) directory path too long: %s/%s.user_log (denied) Cannot open log file %s (download) Cannot open log file %s (email) Cannot open file %s (getconf) Cannot open file %s (gethexclude) Cannot open file %s - %s (getusers) Cannot open file %s - %s (grepday) Cannot open log file %s (grepday) Cannot open output file %s (grepday) Fontname %s not found (grepday) iconv cannot convert from %s to UTF-8 - %s (grepday) iconv failed to convert string "%s" from %s to UTF-8 - %s (html10) Cannot open file %s (html3) Cannot open file %s (html5) Cannot open file %s (html6) Cannot open file %s (html7) Cannot open file %s (html8) Cannot open file %s (html9) Cannot open file %s (index) Cannot open file %s (index) Cannot open file %s - %s (index) rename error from "%s" to "%s" - %s (lastlog) Cannot open temporary file %s (log) Cannot open file: %s - %s (log) Cannot open log file: %s - %s (log) Cannot open temporary file: %s - %s (realtime) mkstemp error - %s (realtime) open error %s - %s (removetmp) Cannot open file %s (removetmp) directory too long to remove %s/sarg-period (repday) Cannot open log file %s (report) Cannot open file %s (report) directory entry too long: %s/%s.user_log (siteuser) Cannot open log file %s (smartfilter) Cannot open file %s (smartfilter) Cannot open log file %s (splitlog) Cannot open log file %s - %s (splitlog) Cannot open output log file %s - %s (splitlog) Output path is too long: %s%s-YYYY-mm-dd (squidguard) Cannot open log file %s (topsites) Cannot open log file %s (topuser) Cannot open file %s (totday) Cannot open log file %s (useragent) Cannot open file %s (usertab) Cannot open file %s - %s (util) Can't open directory %s: %s (util) Cannot open file %s (exclude_codes) 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 copy images to target directory %simages 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 Cannot open DansGuardian config file: %s Cannot open config file: %s - %s Cannot open exclude_hosts file: %s - %s Cannot open fileCannot 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: %s "%s" Common log format Could not disable LDAP_OPT_REFERRALS Could not set LDAP protocol version %d 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 bzcat Decompressing log file "%s" with zcat 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: %s/%s Directory name too long: %s%s Download suffix list too long Downloaded files report not requested in report_type DownloadsELAPSED TIMEERROR: Cannot load. Memory fault End 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 close %s after writing the total line - %s Failed to close file %s - %s Failed to close temporary file for user %s - %s Failed to close the index file %s - %s Failed to close the log file of user %s - %s Failed to close the top user list %s - %s Failed to compile the regular expression "%s": %s Failed to copy image %s to %s Failed to get the %d trailing lines of %s: %s Failed to get the creation time of %s Failed to get the current time Failed to move till the end of the excluded codes file %s: %s Failed to move till the end of the excluded users file %s: %s Failed to move till the end of the users file %s: %s Failed to move till the end of the usertab 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 rewind the excluded codes file %s: %s Failed to rewind the excluded users file %s: %s Failed to rewind the users file %s: %s Failed to rewind the usertab 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 name too long for %s/smartfilter.int_unsort File name too long: %s/%s%s File name too long: %s/%s.ip File name too long: %s/%s.utmp File name too long: %s/%s/.htaccess File name too long: %s/denied_%s.html File name too long: %s/htmlrel.txt File name too long: %s/sarg-%s_%s-%s_%s.log File name too long: %s/sarg-sites File name too long: %s/sarg_temp.log File name too long: %s/sargtmp.int_log File name too long: %s/sargtmp.int_unsort File name too long: %s/smartfilter.html File name too long: %s/smartfilter.int_log File name too long: %s/smartfilter.int_unsort File not found: %s Generated byGraph 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/NAMEIgnoring duplicate module "%s" to resolve an IP address Ignoring old log file %s Init Input file name too long: %s/htmlrel.txt Integer overflow detected in getword_atoi in line %s Integer overflow detected in getword_atoll 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 found in your dansguardian log file %s Invalid IP address in file %s Invalid NUL character found in regular expression Invalid URL in file %s Invalid access type in file %s Invalid address type %d returned when resolving host name "%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 date "%s" for the hourly statistics Invalid date component in "%s" for the hourly statistics Invalid date found in file %s Invalid date found in your dansguardian log file %s Invalid date in file %s Invalid date range passed on command line Invalid day index found in the hourly statistics Invalid elapsed time in %s Invalid elapsed time in file %s Invalid entry in file %s Invalid hour %d for the hourly statistics Invalid number of accesses in %s Invalid number of bytes in %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 weeks in -d parameter Invalid path (%s). Please, use absolute paths only. Invalid redirected list in file %s Invalid redirected source in file %s Invalid rule in file %s Invalid source IP in file %s Invalid time column in file %s Invalid time found in %s Invalid time found in file %s Invalid time found in your dansguardian log file %s Invalid time in file %s Invalid total cache hit in %s Invalid total cache miss in %s Invalid total elapsed time in %s Invalid total number of accesses in %s Invalid total size in %s Invalid user found in your dansguardian log file %s Invalid user in file %s Invalid user name in file %s 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 Log file name too long passed on command line with option -l: %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) MILLISECMONTHMaking Useragent report Making file: %s/%s Making index.html Making report: %s Maybe a broken record or garbage was returned by %s Maybe you have a broken IP in your %s file Maybe you have a broken access code in your %s file Maybe you have a broken amount of data in your %s file Maybe you have a broken client IP address in your %s file Maybe you have a broken date in your %s file Maybe you have a broken day in your %s file Maybe you have a broken day in your %s%s/sarg-date file Maybe you have a broken download duration in your %s file Maybe you have a broken download size in your %s file Maybe you have a broken elapsed time in your %s file Maybe you have a broken month in your %s file Maybe you have a broken month in your %s%s/sarg-date file Maybe you have a broken record or garbage in "date_format" parameter Maybe you have a broken record or garbage in file %s Maybe you have a broken record or garbage in your %s file Maybe you have a broken record or garbage in your exclusion string Maybe you have a broken request method in your %s file Maybe you have a broken result code in your %s file Maybe you have a broken rule in your %s file Maybe you have a broken size in your %s file Maybe you have a broken time in your %s file Maybe you have a broken time in your %s%s/sarg-date file Maybe you have a broken time in your access.log file Maybe you have a broken url in your %s file Maybe you have a broken user ID in your %s file Maybe you have a broken user IP in your %s file Maybe you have a broken useragent entry in your %s file Maybe you have a broken week day in your %s%s/sarg-date file Maybe you have a broken year in your %s file Maybe you have a broken year in your %s%s/sarg-date file 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 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 denied accesses Not enough memory to read the downloaded files Not enough memory to read the downloaded files. Not enough memory to read the file %s Not enough memory to read the host name aliases Not enough memory to read the log file Not enough memory to read the log file %s Not enough memory to read the processed redirector log Not enough memory to read the redirector log 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 the user %s Option -%c requires an argument Output file name too long: %s/%s/%s.html Output file name too long: %s/%s/d%s.html 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 %s/%s.ip Path too long for %s/download.int_unsort Path too long to sort the file: %s/download.int_unsort PeriodPeriod covered by log files: %s-%s Period: %sPeriod: %s Processed 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 log file name too long passed on command line with opton -L: %s Redirector reportRedirector report not generated because it is empty Removing old report file %s SARG Version: %s SARG reportSARG reportsSARG report for %sSARG report, %cSARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2f%%SARG: Records in file: %lu, reading: %3.2f%% 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 command too long when sorting file "%s" to "%s" Sort: %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" Temporary file name too long: %s/%s.utmp Temporary user file name too long: %s/%s.user_unsort 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 %s failed 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 your %s file. The name of the file is invalid: %s The number of users is invalid in file %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 url is invalid in file %s The user ID at column 8 is too long The user at column 9 is too long There a broken total number of access in file %s There is a broken IP address in file %s There is a broken access code in file %s There is a broken date in file %s There is a broken downloaded size in file %s There is a broken elapsed time in file %s There is a broken elpased time in file %s There is a broken in cache column in file %s There is a broken in-cache size in file %s There is a broken in-cache volume in file %s There is a broken number of access in file %s There is a broken number of bytes in file %s There is a broken out of cache column in file %s (%d) There is a broken out-cache volume in file %s There is a broken out-of-cache size in file %s There is a broken record or garbage in file %s There is a broken smart info in file %s There is a broken time in file %s There is a broken url in file %s There is a broken user ID in file %s There is a broken user in file %s There is a invalid user in file %s There is an invalid IP address in file %s There is an invalid elapsed time in file %s There is an invalid number of access in file %s There is an invalid number of bytes in file %s There is an invalid smart info in file %s There is an invalid user ID in file %s There is an invalid useragent in file %s 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 -l. 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 Too many redirector logs passed on command line with option -L. 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". 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 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 YEARYesYou have an invalid user in your %s file bytescannot build the sort command to sort file %s cannot open %s for writing cannot stat "%s" cannot stat %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 decompression command too long for log file %s directory name to delete too long: %s/%s directory name too long: %s failed to create link "%s" to "%s" - %s failed to rename %s to %s - %s getword backtrace: getword loop detected after %d bytes. getword_atoi loop detected after %d bytes. getword_atoll loop detected after %d bytes. getword_multisep loop detected. getword_skip loop detected after %d bytes. 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 error (%ld bytes required) malloc error (%ld) normalnot enough memory to sort the index onoutdirname=%s 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. reversesarg version: %s searching 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. tail command: %s timeunknown path type %s useruser name too long for %s/%s.day user name too long for %s/%s.user_unsort user name too long for %s/%s/%s user name too long to sort %s Project-Id-Version: sarg 2.3.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: 2012-11-17 21:02+0100 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 Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Lokalize 1.4 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…(auth) Impossible d'ouvrir le fichier : %s - %s (auth) Impossible d'ouvrir le fichier de modèle : %s - %s (authfail) Impossible d'ouvrir le fichier %s (convlog) Impossible d'ouvrir le journal %s - %s (dansguardian) Impossible d'ouvrir le fichier journal : %s (dansguardian_report) Impossible d'ouvrir le fichier journal %s (datafile) Impossible d'ouvrir le fichier %s (datafile) répertoire trop long : %s/%s.user_log (denied) Impossible d'ouvrir le journal %s (download) Impossible d'ouvrir le journal %s (email) Impossible d'ouvrir le fichier %s (getconf) Impossible d'ouvrir le fichier %s (gethexclude) Impossible d'ouvrir le fichier %s - %s (getusers) Impossible d'ouvrir le fichier %s - %s (grepday) Impossible d'ouvrir le journal %s (grepday) Impossible d'ouvrir le fichier de sortie %s (grepday) Fichier de police %s pas trouvé (grepday) iconv ne parvient pas à convertir de %s à UTF-8 - %s (grepday) iconv échoue en convertissant la chaîne « %s » de %s à UTF-8 - %s (html10) Impossible d'ouvrir le fichier %s (html3) Impossible d'ouvrir le fichier %s (html5) Impossible d'ouvrir le fichier %s (html6) Impossible d'ouvrir le fichier %s (html7) Impossible d'ouvrir le fichier %s (html8) Impossible d'ouvrir le fichier %s (html9) Impossible d'ouvrir le fichier %s (index) Impossible d'ouvrir le fichier %s (index) Impossible d'ouvrir le fichier %s - %s (index) impossible de renommer « %s » en « %s » - %s (lastlog) Impossible d'ouvrir le fichier temporaire %s (log) Impossible d'ouvrir le fichier : %s - %s (log) Impossible d'ouvrir le fichier : %s - %s (log) Impossible d'ouvrir le fichier temporaire : %s - %s (realtime) erreur de mkstemp - %s (realtime) impossible d'ouvrir %s - %s (removetmp) Impossible d'ouvrir le fichier %s (removetmp) répertoire trop long pour supprimer %s/sarg-period (repday) Impossible d'ouvrir le journal %s (report) Impossible d'ouvrir le fichier %s (report) entrée du répertoire trop longue : %s/%s.user_log (siteuser) Impossible d'ouvrir le fichier %s (smartfilter) Impossible d'ouvrir le fichier %s (smartfilter) Impossible d'ouvrir le fichier %s (splitlog) Impossible d'ouvrir le fichier %s - %s (splitlog) Impossible d'ouvrir le fichier de sortie %s - %s (splitlog) Répertoire de sortie est trop long : %s%s-YYYY-mm-dd (squidguard) Impossible d'ouvrir le fichier %s (topsites) Impossible d'ouvrir le journal %s (topuser) Impossible d'ouvrir le fichier %s (totday) Impossible d'ouvrir le journal %s (useragent) Impossible d'ouvrir le fichier %s (usertab) Impossible d'ouvrir le fichier %s - %s (util) Impossible d'ouvrir le répertoire %s : %s (util) Impossible d'ouvrir le fichier %s (exclude_codes) 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 Échec lors de la copie des images vers le répertoire %simages 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 Impossible d'ouvrir le fichier de configuration de DansGuardian : %s Impossible d'ouvrir le fichier de configuration : %s - %s Impossible d'ouvrir le fichier exclude_hosts : %s - %s Impossible d'ouvrir le fichierImpossible 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 : %s « %s » 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 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 bzcat Décompression du journal « %s » avec zcat 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 : %s/%s Nom de répertoire trop long : %s%s 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ÉEERREUR: Chargement impossible. Erreur mémoire Fin 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 représentation textuelle de la plage des dates n'a pas pu être créée Échec à la fermeture de %s après l'écriture du nombre total de lignes - %s Erreur à la fermeture du fichier %s - %s Erreur à la fermeture du fichier temporaire de l'utilisateur %s - %s Erreur à la fermeture du fichier d'index %s - %s Erreur à la fermeture du journal de l'utilisateur %s - %s Échec à la fermeture de la liste des utilisateurs les plus actifs %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 lire les %d dernières lignes de %s : %s Erreur de lecture de la date de création de %s Erreur de lecture de la date actuelle La fin du fichier d'exclusion des codes (%s) ne peut pas être atteinte: %s La fin du fichier d'exclusion des utilisateurs (%s) ne peut pas être atteinte: %s La fin du fichier des utilisateurs (%s) ne peut pas être atteinte: %s La fin du fichier usertab (%s) ne peut pas être atteinte : %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 revenir au début du fichier d'exclusion des codes %s: %s Erreur lors du retour au début du fichier des utilisateurs exclus %s: %s Impossible de revenir au début du fichier des utilisateurs %s : %s Impossible de revenir au début du fichier usertab %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 Nom de fichier trop long pour %s/smartfilter.int_unsort Le nom du fichier est trop long : %s/%s%s Le nom du fichier est trop long : %s/%s.ip Le nom du fichier est trop long : %s/%s.utmp Le nom du fichier est trop long : %s/%s/.htaccess Le nom du fichier est trop long : %s/denied_%s.html Le nom du fichier est trop long : %s/htmlrel.txt Le nom du fichier est trop long : %s/sarg-%s_%s-%s_%s.log Le nom du fichier est trop long : %s/sarg-sites Le nom du fichier est trop long : %s/sarg_temp.log Nom du fichier trop long : %s/sargtmp.int_log Nom du fichier trop long : %s/sargtmp.int_unsort Le nom du fichier est trop long : %s/smartfilter.html Le nom du fichier est trop long : %s/smartfilter.int_log Nom de fichier trop long : %s/smartfilter.int_unsort Fichier introuvable : %s Généré parRapport 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/NOMIgnore le module « %s » en double pour résoudre les adresses IP Ignore l'ancien journal %s Démarrage Le nom du fichier d'entrée est trop long : %s/htmlrel.txt Débordement de nombre entier détecté dans getword_atoi à la ligne %s Débordement de nombre entier détecté dans getword_atoll à 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 log de dansguardian %s Mauvaise adresse IP dans le fichier %s Caractère NUL invalide trouvé dans l'expression régulière Mauvaise URL 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 » 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 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 Mauvaise date dans le fichier log de dansguardian %s Mauvaise date dans le fichier %s Plage de date incorrecte passée en ligne de commande Index journalier invalide dans les statistiques horaires Temps écoulé incorrect dans %s Temps écoulé incorrect dans le fichier %s Mauvaise donnée dans le fichier %s Heure %d invalide pour les statistiques horaires Nombre d'accès incorrect dans %s Nombre d'octets incorrect dans %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 de semaines incorrectes dans le paramètre -d Chemin erroné (%s). Veuillez utiliser des chemins absolus uniquement. Mauvaise liste de redirection dans le fichier %s Mauvaise source redirigée dans le fichier %s Mauvaise règle dans le fichier %s Mauvaise adresse IP source dans le fichier %s Mauvaise colonne de temps dans le fichier %s Mauvais temps dans le fichier %s Mauvais temps dans le fichier %s Mauvaise heure dans le fichier log de dansguardian %s Temps incorrect dans le fichier %s 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 %s Taille totale incorrecte dans %s Utilisateur incorrect dans le fichier log de dansguardian %s Mauvais nom d'utilisateur dans le fichier %s Mauvais nom d'utilisateur dans le fichier %s 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 Nom trop long pour le fichier du journal passé sur la ligne de commande avec l'option -l: %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 ») MILLISECMOISCréation du rapport des « Useragents » Création du fichier : %s/%s Création de index.html Création du rapport : %s Un enregistrement erroné ou inattendu a probablement été renvoyé par %s Vous avez probablement une adresse IP endommagée dans votre fichier %s Vous avez probablement un code d'accès endommagé dans votre fichier %s Vous avez probablement une quantité de données endommagée dans votre fichier %s Vous avez probablement une adresse IP endommagée dans votre fichier %s Vous avez probablement une date endommagée dans votre fichier %s Vous avez probablement un jour endommagé dans votre fichier %s Vous avez probablement un jour endommagé dans votre fichier %s%s/sarg-date Vous avez probablement une durée de téléchargement endommagée dans votre fichier %s Vous avez probablement une taille de téléchargement endommagée dans votre fichier %s Vous avez probablement un temps écoulé endommagé dans votre fichier %s Vous avez probablement un mois endommagé dans votre fichier %s Vous avez probablement un mois endommagé dans votre fichier %s%s/sarg-date Vous avez probablement un enregistrement erroné ou inattendu dans le paramètre « date_format » Vous avez probablement un enregistrement erroné ou inattendu dans le fichier %s Vous avez probablement un enregistrement erroné ou inattendu dans votre fichier %s Vous avez probablement un enregistrement erroné ou inattendu dans votre chaîne d'exclusion Vous avez probablement une méthode de requête endommagée dans votre fichier %s Vous avez probablement un code de résultat endommagé dans votre fichier %s Vous avez probablement une règle endommagée dans votre fichier %s Vous avez probablement une taille endommagée dans votre fichier %s Vous avez probablement un temps endommagé dans votre fichier %s Vous avez probablement un temps endommagé dans votre fichier %s%s/sarg-date Vous avez probablement un temps endommagé dans votre fichier access.log Vous avez probablement une URL endommagée dans votre fichier %s Vous avez probablement un ID utilisateur endommagé dans votre fichier %s Vous avez probablement une adresse IP d'utilisateur endommagée dans votre fichier %s Vous avez probablement un useragent endommagé dans votre fichier %s Vous avez probablement une jour de la semaine endommagé dans votre fichier %s%s/sarg-date Vous avez probablement une année endommagée dans votre fichier %s Vous avez probablement une année endommagée dans votre fichier %s%s/sarg-date 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 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 les accès refusés Pas assez de mémoire pour lire les fichiers téléchargés Pas assez de mémoire pour lire les fichiers téléchargés Pas assez de mémoire pour lire le fichier %s Pas assez de mémoire pour lire les alias des noms d'hôtes Pas assez de mémoire pour lire le journal Pas assez de mémoire pour lire le journal %s Pas assez de mémoire pour lire le fichier intermédiaire du journal du redirecteur Pas assez de mémoire pour lire le journal du redirecteur 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 Le nom du fichier de sortie est trop long : %s/%s/%s.html Le nom du fichier de sortie est trop long : %s/%s/d%s.html 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 %s/%s.ip Le chemin est trop long pour %s/download.int_unsort Répertoire trop long pour trier le fichier : %s/download.int_unsort PériodePériode couverte par les journaux : %s-%s Période : %sPériode : %s Enregistrements 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 » RedirecteurNom trop long pour le fichier du journal du redirecteur passé sur la ligne de commande avec l'option -L: %s Rapport des redirectionsRapport du redirecteur pas créé car il est vide Supprime l'ancien rapport %s Version de SARG : %s Rapport SARGRapports SARGRapport SARG pour %sRapport SARG, %cSARG, SARG: SARG: (info) SARG: Enregistrements dans le fichier : %lu, lus : %3.2f%%SARG: Enregistrements dans le fichier : %lu, lus : %3.2f%% SARG: Enregistrements dans le fichier : %lu, lus : %3.2lf%%SARG: OPTION : %s SARG: Option inconnue : %s 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 SmartFilterLa commande de tri est trop longue pour trier le fichier « %s » vers « %s » Tri : %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 « useragents » 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 nom du fichier temporaire est trop long : %s/%s.utmp Nom de fichier utilisateur temporaire trop long : %s/%s.user_unsort 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 %s a échoué 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 votre fichier %s. Le nom du fichier n'est pas valable : %s Le nombre d'utilisateurs n'est pas valable dans le fichier %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) L'URL n'est pas valable dans le fichier %s Le ID utilisateur à la colonne 8 est trop long Le nom d'utilisateur à la colonne 9 est trop long Il y a un nombre d'accès total endommagé dans le fichier %s Il y a une adresse IP endommagée dans le fichier %s Il y a un code d'accès endommagé dans le fichier %s Il y a une date endommagée dans le fichier %s Il y a un volume de téléchargement endommagé dans le fichier %s Il y a un temps écoulé endommagé dans le fichier %s Il y a un temps écoulé endommagé dans le fichier %s Il y a un volume de cache atteint endommagé dans le fichier %s Il y a un volume de cache atteinte endommagé dans le fichier %s Il y a un volume de cache atteint endommagé dans le fichier %s Il y a un nombre d'accès endommagé dans le fichier %s Il y a un nombre d'octets endommagé dans le fichier %s Il y a un volume de cache raté endommagé dans le fichier %s (%d) Il y a un volume de cache raté endommagé dans le fichier %s Il y a un volume de cache ratée endommagé dans le fichier %s Il y a un enregistrement erroné ou inattendu dans le fichier %s Il y a une information « smart » endommagée dans le fichier %s Il y a un temps endommagé dans le fichier %s Il y a une URL endommagée dans le fichier %s Il y a un ID utilisateur endommagé dans le fichier %s Il y a un nom d'utilisateur endommagé dans le fichier %s Il y a un nom d'utilisateur endommagé dans le fichier %s Il y a une adresse IP endommagée dans le fichier %s Il y a un temps écoulé endommagé dans le fichier %s Il y a un nombre d'accès endommagé dans le fichier %s Il y a un nombre d'octets endommagé dans le fichier %s Il y a une donnée smart endommagée dans le fichier %s Il y a un ID utilisateur endommagé dans le fichier %s Il y a un useragent endommagé dans le fichier %s 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 -l. 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 Trop de journaux de redirections passés sur la ligne de commande avec l'option -L. %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 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 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ÉEOuiVous avez probablement un utilisateur incorrect dans votre fichier %s octetsimpossible de préparer la commande de tri pour trier le fichier %s Impossible d'ouvrir le fichier %s en écriture Impossible d'obtenir les stat de « %s » Impossible d'obtenir les stat de %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 la commande de décompression du journal %s est trop longue le nom du répertoire à effacer est trop long : %s/%s Nom de répertoire trop long : %s impossible de créer un lien de « %s » vers « %s » - %s impossible de renommer %s en %s - %s getword backtrace : bouclage détecté dans getword après %d octets. bouclage détecté dans getword_atoi après %d octets. bouclage détecté dans getword_atoll après %d octets. bouclage détecté dans getword_multisep. bouclage détecté dans getword_skip après %d octets. 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 » erreur d'allocation mémoire (%ld octets nécessaires) erreur d'allocation mémoire (%ld) normalpas assez de mémoire pour trier l'indexe leoutdirname=%s 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éversion de sarg : %s 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. Commande « tail » : %s tempsType de chemin %s inconnu utilisateurLe nom d'utilisateur est trop long pour %s/%s.day le nom d'utilisateur est trop long pour %s/%s.user_unsort Le nom d'utilisateur est trop long pour %s/%s/%s le nom d'utilisateur est trop long pour trier %s 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 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.6/po/fr.po0000644000000000000000000033206512135004005012540 0ustar rootroot# French translations for sarg. # Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # # Frédéric Marchal , 2012. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: 2012-11-17 21:02+0100\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" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.4\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "Le nom du fichier est trop long : %s/%s/.htaccess\n" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "(auth) Impossible d'ouvrir le fichier : %s - %s\n" #: auth.c:51 #, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "(auth) Impossible d'ouvrir le fichier de modèle : %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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, 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:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "Commande de tri : %s\n" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "(authfail) Impossible d'ouvrir le fichier %s\n" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "Erreurs d'authentification" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "Période : %s" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "IDENTIFIANT" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "IP/NOM" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "DATE/HEURE" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "SITES ACCÉDÉS" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, 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:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "Il y a une date endommagée dans le fichier %s\n" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "Il y a un temps endommagé dans le fichier %s\n" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "Il y a un ID utilisateur endommagé dans le fichier %s\n" #: authfail.c:136 #, c-format 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" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "Il y a une URL endommagée dans le fichier %s\n" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "ID utilisateur %s inconnu dans le fichier %s\n" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "Erreur d'écriture dans le fichier %s\n" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "Erreur à la fermeture du fichier %s - %s\n" #: convlog.c:48 #, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "(convlog) Impossible d'ouvrir le journal %s - %s\n" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Pas assez de mémoire pour lire le journal %s\n" #: convlog.c:60 #, c-format 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" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Impossible d'ouvrir le fichier de configuration de DansGuardian : %s\n" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "(dansguardian) Impossible d'ouvrir le fichier journal : %s\n" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format 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" #: dansguardian_log.c:80 #, 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:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Lecture du journal de Dansguardian : %s\n" #: dansguardian_log.c:100 #, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Mauvaise date dans le fichier log de dansguardian %s\n" #: dansguardian_log.c:104 #, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Mauvaise heure dans le fichier log de dansguardian %s\n" #: dansguardian_log.c:108 #, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Utilisateur incorrect dans le fichier log de dansguardian %s\n" #: dansguardian_log.c:112 #, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Mauvaise adresse IP dans le fichier log de dansguardian %s\n" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format 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" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "(dansguardian_report) Impossible d'ouvrir le fichier journal %s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format 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" #: datafile.c:72 html.c:82 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:87 #, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "(datafile) répertoire trop long : %s/%s.user_log\n" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "(datafile) Impossible d'ouvrir le fichier %s\n" #: datafile.c:97 #, c-format 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" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format 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" #: datafile.c:113 #, c-format 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" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "Pas assez de mémoire pour stocker l'URL\n" #: datafile.c:198 #, 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 not found: %s\n" msgstr "Fichier introuvable : %s\n" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Décompression du journal « %s » avec zcat\n" #: decomp.c:44 decomp.c:54 decomp.c:64 #, 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" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Décompression du journal « %s » avec bzcat\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:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "(denied) Impossible d'ouvrir le journal %s\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Interdit" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "Pas assez de mémoire pour lire les accès refusés\n" #: 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" #: download.c:65 #, c-format 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" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "Le chemin est trop long pour %s/download.int_unsort\n" #: download.c:114 msgid "No downloaded files to report\n" msgstr "Aucun fichier téléchargé à inclure dans le rapport\n" #: download.c:125 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:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "(download) Impossible d'ouvrir le journal %s\n" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "Téléchargements" #: download.c:153 report.c:156 topuser.c:293 #, c-format 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" #: download.c:275 #, 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:283 #, c-format msgid "Too many download suffixes\n" msgstr "Trop de suffixes pour les fichiers téléchargés\n" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "(email) Impossible d'ouvrir le fichier %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:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, c-format 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" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "Rapport des « useragents » de Squid" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "Accès décroissant (en octets)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "Période" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "ACCÈS" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "OCTETS" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "DURÉE" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "MILLISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "DURÉE" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "Il y a un ID utilisateur endommagé dans le fichier %s\n" #: email.c:198 #, c-format 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" #: email.c:202 #, c-format 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" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "Il y a un temps écoulé endommagé dans le fichier %s\n" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "TOTAL" #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "MOYENNE" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, c-format msgid "SARG report, %c" msgstr "Rapport SARG, %c" #: email.c:281 #, c-format msgid "Sending mail with command: %s\n" msgstr "Envoie le mail avec la commande : %s\n" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "La commande retourne le statut %d\n" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Impossible d'ouvrir le fichier exclude_hosts : %s - %s\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:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "(gethexclude) Impossible d'ouvrir le fichier %s - %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 #, c-format 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" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "Impossible de déterminer la taille du fichier %s\n" #: exclude.c:332 #, c-format 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" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\n" msgstr "erreur d'allocation mémoire (%ld octets nécessaires)\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 "" "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" #: 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 inconnue : %s\n" #: getconf.c:784 #, c-format msgid "Loading configuration from %s\n" msgstr "Lecture du fichier de configuration %s\n" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "(getconf) Impossible d'ouvrir le fichier %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "erreur de ré-allocation mémoire (% octets nécessaires)\n" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" "(grepday) iconv échoue en convertissant la chaîne « %s » de %s à UTF-8 - %s\n" #: grepday.c:170 #, 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:237 #, 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:296 #, 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:300 #, 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:328 #, 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:489 #, 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:557 msgid "SARG, " msgstr "SARG, " #: grepday.c:561 #, c-format msgid "User: %s" msgstr "Utilisateur : %s" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "Le nom d'utilisateur est trop long pour %s/%s/%s\n" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "(grepday) Impossible d'ouvrir le journal %s\n" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "Graphiques désactivés comme demandé dans %s\n" #: grepday.c:643 #, 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:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "(grepday) Fichier de police %s pas trouvé\n" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "(grepday) iconv ne parvient pas à convertir de %s à UTF-8 - %s\n" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "Le nom d'utilisateur est trop long pour %s/%s.day\n" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "Mauvaise date dans le fichier %s\n" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "Mauvaise donnée dans le fichier %s\n" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "Nombre d'octets incorrect dans le fichier %s\n" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Temps écoulé incorrect dans le fichier %s\n" #: grepday.c:738 #, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "(grepday) Impossible d'ouvrir le fichier de sortie %s\n" #: grepday.c:741 msgid "Graph report" msgstr "Rapport graphique" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "JOURS" #: html.c:64 #, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Nom du fichier trop long : %s/sargtmp.int_unsort\n" #: html.c:69 #, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Nom du fichier trop long : %s/sargtmp.int_log\n" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "Répertoire cible trop long : %s/%s\n" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, c-format msgid "Cannot create directory %s - %s\n" msgstr "Impossible de créer le répertoire %s - %s\n" #: html.c:105 #, c-format 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" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "(html3) Impossible d'ouvrir le fichier %s\n" #: html.c:115 #, c-format 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" #: html.c:119 #, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Le nom du fichier est trop long : %s/denied_%s.html\n" #: html.c:140 html.c:230 topuser.c:308 #, c-format 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" #: html.c:145 #, c-format 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" #: html.c:154 html.c:242 #, c-format 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" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "Il y a un temps écoulé endommagé dans le fichier %s\n" #: html.c:163 #, c-format 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" #: html.c:168 #, c-format 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" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "(html5) Impossible d'ouvrir le fichier %s\n" #: html.c:181 html.c:187 msgid "User report" msgstr "Rapport par utilisateur" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "Utilisateur" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "Tri : %s, %s" #: html.c:192 msgid "SmartFilter report" msgstr "Rapport SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "DANS/HORS CACHE" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "Création du rapport : %s\n" #: html.c:234 topuser.c:304 util.c:771 #, c-format 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" #: html.c:250 #, c-format 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" #: html.c:254 #, c-format 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" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "Rapport journalier" #: html.c:321 msgid "DENIED" msgstr "INTERDIT" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "Le nom du fichier est trop long : %s/%s.ip\n" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "(html6) Impossible d'ouvrir le fichier %s\n" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "(html7) Impossible d'ouvrir le fichier %s\n" #: html.c:356 html.c:417 #, c-format 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" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "Vous avez probablement un jour endommagé dans votre fichier %s\n" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "Vous avez probablement un temps endommagé dans votre fichier %s\n" #: html.c:373 html.c:421 #, c-format 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" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format 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" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "(html8) Impossible d'ouvrir le fichier %s\n" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "(html9) Impossible d'ouvrir le fichier %s\n" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "(html10) Impossible d'ouvrir le fichier %s\n" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "Impossible d'ouvrir le répertoire %s - %s\n" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "(index) Impossible d'ouvrir le fichier %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: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:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Erreur à la fermeture du fichier d'index %s - %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 "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" #: index.c:371 #, c-format 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" #: index.c:375 #, c-format 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" #: index.c:379 index.c:389 #, c-format 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" #: index.c:384 #, c-format 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" #: 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:424 #, c-format msgid "(index) Cannot open file %s\n" msgstr "(index) Impossible d'ouvrir le fichier %s\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:101 topsites.c:258 msgid "USERS" msgstr "UTILISATEURS" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" msgstr "(index) 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 un lien de « %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_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:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "(lastlog) Impossible d'ouvrir le fichier temporaire %s\n" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "Erreur de lecture de la date de création de %s\n" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "Supprime l'ancien rapport %s\n" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "Nom de répertoire trop long : %s%s\n" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "Trop de journaux passés sur la ligne de commande avec l'option -l.\n" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" "Nom trop long pour le fichier du journal passé sur la ligne de commande avec " "l'option -l: %s\n" #: log.c:438 #, c-format 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" #: log.c:442 #, c-format 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" #: log.c:476 #, 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:484 #, 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:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "L'option -%c exige un paramètre\n" #: log.c:530 #, 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:534 #, 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:543 #, c-format msgid "Init\n" msgstr "Démarrage\n" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Impossible d'ouvrir le fichier de configuration : %s - %s\n" #: log.c:655 #, 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:668 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Suppression du répertoire temporaire « %s »\n" #: log.c:677 log.c:710 #, c-format msgid "Parameters:\n" msgstr "Paramètres :\n" #: log.c:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Nom de l'hôte ou adresse IP (-a) = %s\n" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Journal des useragents (-b) = %s\n" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Fichier d'exclusion (-c) = %s\n" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Date de-à (-d) = %s\n" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Adresse e-mail où envoyer les rapports (-e) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr " Fichier de configuration (-f) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Format de date (-g) = Européen (jj/mm/aaaa)\n" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Format de date (-g) = USA (mm/jj/aaaa)\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Format de date (-g) = Sites & Utilisateurs (aaaa/" "ss)\n" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr " Rapport IP (-i) = %s\n" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "Oui" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "Non" #: log.c:691 log.c:724 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Conserver les fichiers temporaires (-k) = %s\n" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr " Journal (-l) = %s\n" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Journal du redirecteur (-L) = %s\n" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Résoudre les adresses IP (-n) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Répertoire de destination (-o) = %s\n" #: log.c:698 log.c:731 #, 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:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " Site accédé (-s) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr " Temps (-t) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr " Utilisateur (-u) = %s\n" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Répertoire temporaire (-w) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Messages de debug (-x) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Messages de traitement (-z) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr " Rapports précédents à garder (--lastlog) = %d\n" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "version de sarg : %s\n" #: log.c:746 #, 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:776 #, c-format msgid "setrlimit error - %s\n" msgstr "erreur setrlimit - %s\n" #: log.c:787 #, 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:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "(log) Impossible d'ouvrir le fichier : %s - %s\n" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Lecture du journal des accès : depuis stdin\n" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" "La date de dernière modification du journal %s ne peut pas être déterminée " "(%s). Il est tout de même traité\n" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignore l'ancien journal %s\n" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "(log) Impossible d'ouvrir le fichier : %s - %s\n" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "Lecture du journal des accès : %s\n" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "SARG: Enregistrements dans le fichier : %lu, lus : %3.2f%%" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log produit par Microsoft ISA : %s\n" #: log.c:888 #, 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:902 #, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Le nom du fichier est trop long : %s/sarg_temp.log\n" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Enregistrements dans le fichier : %lu, lus : %3.2lf%%" #: log.c:931 #, c-format 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" #: log.c:952 #, c-format 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" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format 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" #: log.c:1039 log.c:1150 log.c:1267 #, c-format msgid "Invalid time found in %s\n" msgstr "Mauvais temps dans le fichier %s\n" #: log.c:1057 #, c-format 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" #: log.c:1061 #, c-format 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" #: log.c:1065 #, c-format 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" #: log.c:1069 #, c-format 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" #: log.c:1077 log.c:1205 #, c-format 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" #: log.c:1086 #, 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:1199 #, c-format 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" #: log.c:1223 #, c-format 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" #: log.c:1229 #, c-format 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" #: log.c:1237 #, c-format 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" #: log.c:1250 #, c-format 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" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "Vous avez probablement un mois endommagé dans votre fichier %s\n" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "Format du fichier d'entrée inconnu\n" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "ID utilisateur trop long : %s\n" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "Code exclu : %s\n" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "Site exclu : %s\n" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "Utilisateur exclu : %s\n" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "Pas assez de mémoire pour stocker l'utilisateur %s\n" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Erreur à la fermeture du journal de l'utilisateur %s - %s\n" #: log.c:1497 #, c-format 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" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "(log) Impossible d'ouvrir le fichier temporaire : %s - %s\n" #: log.c:1507 #, 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:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "SARG: Enregistrements dans le fichier : %lu, lus : %3.2f%%\n" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " Enregistrements lus : %ld, écrits : %ld, exclus : %ld\n" #: log.c:1603 #, 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:1606 #, c-format msgid "Common log format\n" msgstr "Format « common » du journal\n" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "Format Squid du journal\n" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "Format de journal de Sarg\n" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "Le format du journal n'est pas valable\n" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "Aucun enregistrement trouvé\n" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "Fin\n" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Période couverte par les journaux : %s-%s\n" #: log.c:1638 #, 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:1643 #, c-format msgid "date=%s\n" msgstr "date=%s\n" #: log.c:1644 #, c-format msgid "period=%s\n" msgstr "période=%s\n" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "Période : %s\n" #: log.c:1665 #, c-format 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" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "impossible de renommer %s en %s - %s\n" #: log.c:1679 #, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Commande trop longue : %s « %s »\n" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Journal analysé par Sarg sauvegardé sous %s\n" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "Temps total d'exécution : %.0lf secondes\n" #: log.c:1741 #, 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:1744 #, 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:1745 #, 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:1764 #, c-format msgid "Loading password file from %s\n" msgstr "Chargement des mots de passe depuis %s\n" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "(getusers) Impossible d'ouvrir le fichier %s - %s\n" #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "" "La fin du fichier des utilisateurs (%s) ne peut pas être atteinte: %s\n" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Impossible de revenir au début du fichier des utilisateurs %s : %s\n" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "erreur d'allocation mémoire (%ld)\n" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\n" msgstr "" "Vous avez probablement un utilisateur incorrect dans votre fichier %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 "(realtime) mkstemp error - %s\n" msgstr "(realtime) erreur de mkstemp - %s\n" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Commande « tail » : %s\n" #: realtime.c:89 #, c-format 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" #: realtime.c:126 #, 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:130 #, 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:134 #, 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:142 #, 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:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "Le statut à la colonne 4 est trop long\n" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "La taille à la colonne 5 est trop longue\n" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "L'action à la colonne 6 est trop longue\n" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "L'URL à la colonne 7 est trop longue\n" #: realtime.c:163 #, 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:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "La data à la colonne 8 es trop longue\n" #: realtime.c:184 #, 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:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "(realtime) impossible d'ouvrir %s - %s\n" #: realtime.c:232 #, c-format msgid "Invalid time column in file %s\n" msgstr "Mauvaise colonne de temps dans le fichier %s\n" #: realtime.c:236 redirector.c:494 #, c-format msgid "Invalid IP address in file %s\n" msgstr "Mauvaise adresse IP dans le fichier %s\n" #: realtime.c:240 #, c-format msgid "Invalid user name in file %s\n" msgstr "Mauvais nom d'utilisateur dans le fichier %s\n" #: realtime.c:245 redirector.c:163 redirector.c:498 #, c-format msgid "Invalid URL in file %s\n" msgstr "Mauvaise URL dans le fichier %s\n" #: realtime.c:249 #, c-format msgid "Invalid access type in file %s\n" msgstr "Mauvais type d'accès dans le fichier %s\n" #: realtime.c:312 msgid "Realtime" msgstr "Temps réel" #: realtime.c:313 msgid "Auto refresh" msgstr "Actualisation automatique" #: realtime.c:314 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:140 splitlog.c:97 #, c-format msgid "Invalid date found in file %s\n" msgstr "Mauvaise date dans le fichier %s\n" #: redirector.c:148 #, c-format msgid "Invalid time found in file %s\n" msgstr "Mauvais temps dans le fichier %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:173 redirector.c:482 #, c-format msgid "Invalid user in file %s\n" msgstr "Mauvais nom d'utilisateur 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "(squidguard) Impossible d'ouvrir le fichier %s\n" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Pas assez de mémoire pour lire le journal du redirecteur\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "Rapport du redirecteur pas créé car il est vide\n" #: redirector.c:465 #, c-format 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" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "Rapport des redirections" #: redirector.c:477 msgid "RULE" msgstr "RÈGLE" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "Temps incorrect dans le fichier %s\n" #: redirector.c:502 #, c-format msgid "Invalid rule in file %s\n" msgstr "Mauvaise règle dans le fichier %s\n" #: redirector.c:568 #, 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:64 #, c-format 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" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "(repday) Impossible d'ouvrir le journal %s\n" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "Trop de dates différentes dans %s\n" #: repday.c:126 msgid "Day report" msgstr "Rapport journalier" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "%02dH" #: repday.c:185 #, 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:193 msgid "H:M:S" msgstr "H:M:S" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "outdirname=%s\n" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "(report) Impossible d'ouvrir le fichier %s\n" #: report.c:120 #, c-format 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" #: report.c:175 #, c-format 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" #: report.c:257 msgid "Site access report" msgstr "Rapport des sites visités" #: report.c:267 msgid "DATE" msgstr "DATE" #: report.c:331 #, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Erreur à la fermeture du fichier temporaire de l'utilisateur %s - %s\n" #: report.c:350 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:361 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:366 msgid "Top sites report not requested in report_type\n" msgstr "Rapport des sites principaux pas demandé dans report_type\n" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "Rapport des sites et utilisateurs pas demandé dans report_type\n" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "Rapport des accès interdits pas demandé dans report_type\n" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "Rapport des échecs d'authentification pas demandé dans report_type\n" #: report.c:393 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:398 #, c-format msgid "Successful report generated on %s\n" msgstr "Rapport généré sans erreur sur %s\n" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapport généré sans erreur et envoyé à %s\n" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "Création du fichier : %s/%s\n" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "Le nom du fichier temporaire est trop long : %s/%s.utmp\n" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "Chemin trop long %s/%s.ip\n" #: report.c:491 #, 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:513 #, 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:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "Nombre total d'accès incorrect dans %s\n" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "Taille totale incorrecte dans %s\n" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "Temps total écoulé incorrect dans %s\n" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "Quantité totale de cache atteinte incorrecte dans %s\n" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "Quantité totale de cache ratée incorrecte dans %s\n" #: report.c:617 #, 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:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "Nombre d'accès incorrect dans %s\n" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "Nombre d'octets incorrect dans %s\n" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "URL trop longue ou incorrecte dans %s\n" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "Adresse IP trop longue ou incorrecte dans %s\n" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "Temps trop long ou incorrect dans %s\n" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "Date trop longue ou incorrecte dans %s\n" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "Temps écoulé incorrect dans %s\n" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "Taille de cache atteinte incorrecte dans %s\n" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "Taille de cache ratée incorrecte dans %s\n" #: report.c:747 #, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Nom de fichier trop long pour %s/smartfilter.int_unsort\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:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "(siteuser) Impossible d'ouvrir le fichier %s\n" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "Sites & Utilisateurs" #: smartfilter.c:57 #, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Nom de fichier trop long : %s/smartfilter.int_unsort\n" #: smartfilter.c:61 #, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Le nom du fichier est trop long : %s/sarg-sites\n" #: smartfilter.c:65 #, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Le nom du fichier est trop long : %s/smartfilter.int_log\n" #: smartfilter.c:69 #, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Le nom du fichier est trop long : %s/smartfilter.html\n" #: smartfilter.c:74 #, 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:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "(smartfilter) Impossible d'ouvrir le fichier %s\n" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "SMARTFILTER" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "Généré par" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr "le" #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "(smartfilter) Impossible d'ouvrir le fichier %s\n" #: sort.c:66 #, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Le nom du fichier est trop long : %s/%s.utmp\n" #: sort.c:70 #, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Le nom du fichier est trop long : %s/htmlrel.txt\n" #: sort.c:118 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Tri du fichier %s/%s.user_unsort\n" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "le nom d'utilisateur est trop long pour trier %s\n" #: sort.c:135 #, c-format 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" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "connexion" #: sort.c:158 msgid "site" msgstr "site" #: sort.c:160 topuser.c:174 msgid "time" msgstr "temps" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "octets" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "inversé" #: splitlog.c:70 #, c-format 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" #: splitlog.c:84 #, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "(splitlog) Impossible d'ouvrir le fichier %s - %s\n" #: splitlog.c:124 #, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "(splitlog) Impossible d'ouvrir le fichier de sortie %s - %s\n" #: 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:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "(topsites) Impossible d'ouvrir le journal %s\n" #: topsites.c:179 #, 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:232 topuser.c:235 msgid "Top sites" msgstr "Sites les plus visités" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "%d sites les plus visités" #: topsites.c:280 #, c-format 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" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "L'URL n'est pas valable dans le fichier %s\n" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "(topuser) Impossible d'ouvrir le fichier %s\n" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the file %s\n" msgstr "Pas assez de mémoire pour lire 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:215 #, c-format msgid "SARG report for %s" msgstr "Rapport SARG pour %s" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "Tri : %s, %s" #: topuser.c:224 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:229 msgid "Table of content" msgstr "Table des matières" #: topuser.c:238 msgid "Redirector" msgstr "Redirecteur" #: topuser.c:240 msgid "Denied accesses" msgstr "Accès interdits" #: topuser.c:243 msgid "Useragent" msgstr "Useragent" #: topuser.c:250 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:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "Il y a un nom d'utilisateur endommagé dans le fichier %s\n" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "Il y a un temps écoulé endommagé dans le fichier %s\n" #: topuser.c:316 #, c-format 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" #: topuser.c:320 #, c-format 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" #: topuser.c:352 msgid "Graphic" msgstr "Graphiques" #: topuser.c:390 #, 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:441 #, 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:481 #, 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" #: topuser.c:483 #, c-format 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" #: 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:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "Le nom du fichier est trop long : %s/%s%s\n" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "(totday) Impossible d'ouvrir le journal %s\n" #: totday.c:166 #, 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:588 #, c-format 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" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "(useragent) Impossible d'ouvrir le fichier %s\n" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "Lecture du journal des useragents : %s\n" #: useragent.c:100 #, c-format 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" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Enregistrements lus : %ld\n" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "Création du rapport des « Useragents »\n" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "Rapport des useragents de Squid" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format 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" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "Il y a un useragent endommagé dans le fichier %s\n" #: 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:64 #, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "(usertab) Impossible d'ouvrir le fichier %s - %s\n" #: usertab.c:68 #, c-format 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" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Impossible de revenir au début du fichier usertab %s : %s\n" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "ERREUR: Chargement impossible. Erreur mémoire\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\n" msgstr "La liste des utilisateurs est trop longue dans votre 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 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Chargement de la table des utilisateurs : %s\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" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "getword backtrace :\n" #: util.c:74 #, 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" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "bouclage détecté dans getword après %d octets.\n" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "Ligne=« %s »\n" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "Enregistrement=« %s »\n" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "en cherchant après « x%x »\n" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "bouclage détecté dans getword_multisep.\n" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "bouclage détecté dans getword_skip après %d octets.\n" #: util.c:187 #, c-format 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" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "bouclage détecté dans getword_atoll après %d octets.\n" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "Débordement de nombre entier détecté dans getword_atoi à la ligne %s\n" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "bouclage détecté dans getword_atoi après %d octets.\n" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Tampon inacceptable passé à getword_ptr\n" #: util.c:317 #, 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:324 #, c-format msgid "directory name too long: %s\n" msgstr "Nom de répertoire trop long : %s\n" #: util.c:358 #, 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:433 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:438 util.c:442 #, 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" #: util.c:458 msgid "SARG: " msgstr "SARG: " #: util.c:475 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "Erreur de lecture de la date dans %s\n" #: util.c:716 #, 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:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "Il y a un nom d'utilisateur endommagé dans le fichier %s\n" #: util.c:767 #, c-format 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" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "Échec lors de la copie des images vers le répertoire %simages\n" #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "(util) Impossible d'ouvrir le répertoire %s : %s\n" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "Impossible d'obtenir les « stat » de « %s » - %s\n" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "Erreur de copie de l'image %s vers %s\n" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "Impossible d'ouvrir le fichier" #: util.c:1054 util.c:1077 #, 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:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "Impossible d'ouvrir le fichier %s en écriture\n" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "Erreur d'écriture de la date dans %s\n" #: util.c:1130 #, 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:1209 #, 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:1214 util.c:1218 #, 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:1231 #, c-format msgid "Failed to get the current time\n" msgstr "Erreur de lecture de la date actuelle\n" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Nombre de jours incorrects dans le paramètre -d\n" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Impossible de convertir l'heure locale : %s\n" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Nombre de semaines incorrectes dans le paramètre -d\n" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Nombre de mois incorrects dans le paramètre -d\n" #: util.c:1324 #, 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:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Purge le fichier temporaire sarg-general\n" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "(removetmp) répertoire trop long pour supprimer %s/sarg-period\n" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "(removetmp) Impossible d'ouvrir le fichier %s\n" #: util.c:1387 #, c-format 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" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "(util) Impossible d'ouvrir le fichier %s (exclude_codes)\n" #: util.c:1409 #, c-format 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" #: util.c:1418 #, c-format 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" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "Trop de codes à exclure dans le fichier %s\n" #: util.c:1589 #, 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:1593 #, 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:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Impossible de déterminer l'espace disque avec la commande %s\n" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "La commande %s a échoué\n" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "Version de SARG : %s\n" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "le nom du répertoire à effacer est trop long : %s/%s\n" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "Impossible d'obtenir les stat de %s\n" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "Type de chemin %s inconnu\n" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, c-format msgid "cannot stat \"%s\"\n" msgstr "Impossible d'obtenir les stat de « %s »\n" #: util.c:1925 #, 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 "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 "Temporary directory name too long: %s\n" #~ msgstr "Nom de répertoire temporaire trop long: %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.6/po/hu.gmo0000644000000000000000000000062312135004007012703 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 sarg-2.3.6/po/hu.po0000644000000000000000000023467712135004005012557 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Megnyithatatlan file" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periódus" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "FELHASZNÃLÓ" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NÉV" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "dátum/idÅ‘" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "MEGLÃTOGATOTT HELY" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Rendezés" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Access log file olvasása" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Access log file olvasása" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Megnyithatatlan file" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Megnyithatatlan file" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Megnyithatatlan file" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Megnyithatatlan file" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "File nem található" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "File nem található" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Log file tömörítése" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Log file bontása" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Log file tömörítése" #: 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Megnyithatatlan file" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Log file bontása" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Felhasználók szerinti kimutatás" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Elérés csökkentve (byte-al)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periódus" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "Sorszám" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "KAPCSOLAT" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTE-ok" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "ELTÖLTÖTT IDÅ" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "IDÅ" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "ÖSSZESEN" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "ÃTLAG" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "kimutatások" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "File nem található" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Kizaró file beolvasása a" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: 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 #, fuzzy, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "Megnyithatatlan file" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Megnyithatatlan file" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc hiba" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc hiba" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Megnyithatatlan file" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Megnyithatatlan file" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Felhasználó" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "File nem található" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Megnyithatatlan file" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Rendezés" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Megnyithatatlan file" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "kimutatások" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "File nem található" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "File nem található" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "File nem található" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "File nem található" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Felhasználó" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Kimutatás készítése" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "TILTOTT" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Megnyithatatlan file" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "FELHASZNÃLÓK" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Removing old report file" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Paraméterek" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hosztnév vagy IP cím" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, 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:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Igen" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Nem" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hosztnév vagy IP cím" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hosztnév vagy IP cím" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "IP cimet használ userid helyett" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Access log file olvasása" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Log file tömörítése" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Access log file olvasása" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "File nem található" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Megnyithatatlan file" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Megnyithatatlan file" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "File nem található" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:1507 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Megnyithatatlan file" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Közös log formátum" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log formátum" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log érvénytelen formátummal" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Nem található rekord" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Vége" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Access log file olvasása" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periódus" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periódus" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "File nem található" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "File nem található" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Jelszó file betöltése a" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Megnyithatatlan file" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Megnyithatatlan file" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc hiba" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "File nem található" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Megnyithatatlan file" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Megnyithatatlan file" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Rendezés" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Megnyithatatlan file" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Megnyithatatlan file" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Megnyithatatlan file" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Megnyithatatlan file" #: 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Rendezés" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Access log file olvasása" #: 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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Access log file olvasása" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Megnyithatatlan file" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Megnyithatatlan file" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "File nem található" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "dátum/idÅ‘" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Megnyithatatlan file" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Sikeres kimutatás generálva:" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Sikeres kimutatás generálva és elküldve:" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "File keszítés" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Megnyithatatlan file" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Megnyithatatlan file" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "File nem található" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "hét" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "File nem található" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "File nem található" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "File nem található" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "File nem található" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Készítette:" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "idÅ‘:" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "File nem található" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "File nem található" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Rendezés" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "File nem található" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "IdÅ‘" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Felhasználó" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Megnyithatatlan file" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "File nem található" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Access log file olvasása" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Megnyithatatlan file" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Felhasználói agent log olvasása" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Rekord olvasva" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Useragent kimutatás készítése" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Felhasználói kimutatás" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Megnyithatatlan file" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Megnyithatatlan file" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Megnyithatatlan file" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "letezik, átmozgatva" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Megnyithatatlan file" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Megnyithatatlan file" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Megnyithatatlan file" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removing temporary files" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1409 #, fuzzy, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "Megnyithatatlan file" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Megnyithatatlan file" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Nem tudom megnyitni a log file-t" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, 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 remove the file %s: %s\n" #~ msgstr "Megnyithatatlan file" #, 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 "sarg version: %s" #~ msgstr "verzió" #, fuzzy #~ msgid "written" #~ msgstr "írva" #, fuzzy #~ msgid "excluded" #~ msgstr "Kizárva" #, fuzzy #~ msgid "IP report" #~ msgstr "IP kimutatás" sarg-2.3.6/po/id.gmo0000644000000000000000000000062312135004007012663 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 sarg-2.3.6/po/id.po0000644000000000000000000023307012135004006012522 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Tak bisa buka file" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Tak bisa buka file" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periode" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "USERID" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NAMA" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "TANGGAL/WAKTU" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "SITUS DIAKSES" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Mengurutkan file" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Tak bisa buka file log" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Tak bisa buka file log" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Membaca file log akses" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Tak bisa buka file log" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Tak bisa buka file log" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Membaca file log akses" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Tak bisa buka file" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Tak bisa buka file" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Tak bisa buka file" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Tak bisa buka file" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "File tidak ditemukan" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Tak bisa buka file" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "File tidak ditemukan" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Mengkompres file log" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Membongkar file log" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Mengkompres 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Tak bisa buka file" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Tak bisa buka file" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Membongkar file log" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Laporan Akses Pemakai Squid" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Menurunkan Akses (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periode" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NO." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "MENGHUBUNGI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "WAKTU TERPAKAI" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILIDETIK" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "WAKTU" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "RATA-RATA" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "laporan" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "File tidak ditemukan" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Tak bisa buka file log" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Menyertakan file exclude dari" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Tak bisa buka file log" #: 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 #, fuzzy, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "Tak bisa buka file" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Tak bisa buka file log" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Tak bisa buka file" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "kesalahan malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Tak bisa buka file" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "kesalahan malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Tak bisa buka file" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Tak bisa buka file" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Pemakai" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "File tidak ditemukan" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Tak bisa buka file" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Mengurutkan file" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Tak bisa buka file" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Tak bisa buka file log" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "laporan" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "File tidak ditemukan" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "File tidak ditemukan" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Tak bisa buka file log" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "File tidak ditemukan" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "File tidak ditemukan" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Pemakai" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Membuat laporan" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "DITOLAK" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Tak bisa buka file" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Tak bisa buka file log" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Tak bisa buka file" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Tak bisa buka file" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "PEMAKAI" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Tak bisa buka file log" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Membuang file laporan lama" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Tak bisa buka file log" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Tak bisa buka file log" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameter" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Alamat nama host or IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Alamat email penerima laporan" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Ya" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Ndak" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Alamat nama host or IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Alamat nama host or IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Menggunakan Alamat Ip daripada userid" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Tak bisa buka file log" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Membaca file log akses" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Mengkompres file log" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Tak bisa buka file log" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Membaca file log akses" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "File tidak ditemukan" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Tak bisa buka file" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Tak bisa buka file" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "File tidak ditemukan" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Tak bisa buka file log" #: log.c:1507 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Tak bisa buka file" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Format log common" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Format log Squid" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log dengan format yang salah" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Tidak ada record yang dicari" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Selesai" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Membaca file log akses" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periode" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periode" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "File tidak ditemukan" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "File tidak ditemukan" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Menyertakan file password dari" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Tak bisa buka file log" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Tak bisa buka file" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Tak bisa buka file" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "kesalahan malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "File tidak ditemukan" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Tak bisa buka file" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Tak bisa buka file" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Mengurutkan file" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Tak bisa buka file" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Tak bisa buka file" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Tak bisa buka file" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Tak bisa buka file" #: 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Mengurutkan 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Membaca file log akses" #: 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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Membaca file log akses" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Tak bisa buka file" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Tak bisa buka file" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Tak bisa buka file log" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "File tidak ditemukan" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "TANGGAL/WAKTU" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Tak bisa buka file" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Berhasil melaporkan pada" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Berhasil melaporkan dan dikirim ke" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Membuat file" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Tak bisa buka file" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Tak bisa buka file" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "File tidak ditemukan" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Mingguan" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "File tidak ditemukan" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "File tidak ditemukan" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "File tidak ditemukan" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "File tidak ditemukan" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Dibuat oleh" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "pada" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Tak bisa buka file log" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "File tidak ditemukan" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "File tidak ditemukan" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Mengurutkan file" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "File tidak ditemukan" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Waktu" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "situs" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Tak bisa buka file log" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Tak bisa buka file log" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Tak bisa buka file" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Pemakai" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Tak bisa buka file" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "File tidak ditemukan" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Tak bisa buka file log" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Membaca file log akses" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Tak bisa buka file" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Membaca log useragent" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Record dibaca" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Membuat laporan useragent" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Laporan Useragent Squid" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGEN" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Tak bisa buka file log" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Tak bisa buka file" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Tak bisa buka file" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Tak bisa buka file log" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Tak bisa buka file" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "Sudah ada, dipindahkan ke" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Tak bisa buka file" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Tak bisa buka file" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Tak bisa buka file" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Tak bisa buka file log" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Membuang file sementara" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Tak bisa buka file log" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Tak bisa buka file log" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Tak bisa buka file log" #: util.c:1409 #, fuzzy, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "Tak bisa buka file" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Tak bisa buka file" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Tak bisa buka file log" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, 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 remove the file %s: %s\n" #~ msgstr "Tak bisa buka file" #, 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 "sarg version: %s" #~ msgstr "versi" #, fuzzy #~ msgid "written" #~ msgstr "ditulis" #, fuzzy #~ msgid "excluded" #~ msgstr "tidak disertakan" #, fuzzy #~ msgid "IP report" #~ msgstr "Laporan IP" sarg-2.3.6/po/insert-header.sin0000644000000000000000000000124012105453133015031 0ustar rootroot# 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.6/po/it.gmo0000644000000000000000000000062312135004007012703 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 sarg-2.3.6/po/it.po0000644000000000000000000023565112135004006012551 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Non riesco ad aprire il file" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periodo" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "USERID" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NOME" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "DATA/TEMPO" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "SITI VISITATI" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Sto Ordinano il file" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Non riesco a aprire il log file" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Non riesco a aprire il log file" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Lettura access log file" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Non riesco a aprire il log file" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Non riesco a aprire il log file" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Lettura access log file" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Non riesco ad aprire il file" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Non riesco ad aprire il file" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Non riesco ad aprire il file" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Non riesco ad aprire il file" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "File non trovato" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "File non trovato" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Compressione file di log" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Decompressione file di log" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Compressione 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Non riesco ad aprire il file" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Decompressione file di log" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid - Rapporto Accessi per Utenti" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Accesso Descrescente (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periodo" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "CONNESSIONI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "TIME UTIL" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "TEMPO" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOTALE" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "MEDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "rapporti" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "File non trovato" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Non riesco a aprire il log file" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Caricamento exclude file da" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Non riesco a aprire il log file" #: 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 #, fuzzy, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "Non riesco ad aprire il file" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Non riesco a aprire il log file" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Non riesco ad aprire il file" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc error" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc error" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, 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:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Non riesco ad aprire il file" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Utente" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "File non trovato" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Non riesco ad aprire il file" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Sto Ordinano il file" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Non riesco ad aprire il file" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Non riesco a aprire il log file" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "rapporti" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "File non trovato" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "File non trovato" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Non riesco a aprire il log file" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "File non trovato" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "File non trovato" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Utente" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Creazione rapporto" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "NEGATO" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Non riesco a aprire il log file" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Non riesco ad aprire il file" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "UTENTI" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Non riesco a aprire il log file" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Removing old report file" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Non riesco a aprire il log file" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Non riesco a aprire il log file" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametri" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname o indirizzo IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Repporto spedito all'indirizzo Email" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Si" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "No" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname o indirizzo IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname o indirizzo IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Usa l'indirizzo Ip invece della userid" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Non riesco a aprire il log file" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lettura access log file" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Compressione file di log" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Non riesco a aprire il log file" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lettura access log file" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "File non trovato" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Non riesco ad aprire il file" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Non riesco ad aprire il file" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "File non trovato" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Non riesco a aprire il log file" #: log.c:1507 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Non riesco ad aprire il file" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Formato Common log" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Formato Squid log" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Formato invalido dei Log" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Nessun records trovato." #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Fine" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lettura access log file" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periodo" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periodo" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "File non trovato" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "File non trovato" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Caricamento del file delle password da" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Non riesco a aprire il log file" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Non riesco ad aprire il file" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Non riesco ad aprire il file" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc error" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "File non trovato" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Sto Ordinano il file" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Non riesco ad aprire il file" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Non riesco ad aprire il file" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Non riesco ad aprire il file" #: 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Sto Ordinano 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Lettura access log file" #: 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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Lettura access log file" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Non riesco ad aprire il file" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Non riesco ad aprire il file" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Non riesco a aprire il log file" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "File non trovato" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATA/TEMPO" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Non riesco ad aprire il file" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Rapporto generato con successo in" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapporto generato e spedito con successo in" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Creazione del file" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Non riesco ad aprire il file" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Non riesco ad aprire il file" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "File non trovato" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Sites & Users" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "File non trovato" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "File non trovato" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "File non trovato" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "File non trovato" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Generato da" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "il" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Non riesco a aprire il log file" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "File non trovato" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "File non trovato" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sto Ordinano il file" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "File non trovato" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Tempo" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Non riesco a aprire il log file" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Non riesco a aprire il log file" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Utente" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Non riesco ad aprire il file" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "File non trovato" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Non riesco a aprire il log file" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Lettura access 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Non riesco ad aprire il file" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Lettura useragent log" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Records letti" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Creazione rapporto Useragent" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid - Rapporto Useragent" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENTE" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Non riesco a aprire il log file" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Non riesco ad aprire il file" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Non riesco ad aprire il file" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Non riesco a aprire il log file" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Non riesco ad aprire il file" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "esiste gia', spostato in" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Non riesco ad aprire il file" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Non riesco ad aprire il file" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Non riesco ad aprire il file" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Non riesco a aprire il log file" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removing temporary files" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Non riesco a aprire il log file" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Non riesco a aprire il log file" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Non riesco a aprire il log file" #: util.c:1409 #, fuzzy, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "Non riesco ad aprire il file" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Non riesco ad aprire il file" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Non riesco a aprire il log file" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, 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 remove the file %s: %s\n" #~ msgstr "Non riesco ad aprire il 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 "sarg version: %s" #~ msgstr "versione" #, fuzzy #~ msgid "written" #~ msgstr "scritto" #, fuzzy #~ msgid "excluded" #~ msgstr "esclusi" #, fuzzy #~ msgid "IP report" #~ msgstr "Rapporto IP" sarg-2.3.6/po/ja.gmo0000644000000000000000000000062312135004007012661 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 sarg-2.3.6/po/ja.po0000644000000000000000000024600412135004006012521 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "キャッシュ" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Cannot load. Memory fault" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "å¹³å‡" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "on" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "ã“ã®ãƒ¬ãƒãƒ¼ãƒˆã¯ä»¥ä¸‹ã®ãƒ—ログラムã«ã‚ˆã£ã¦ä½œæˆã•れã¾ã—ãŸ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "期間" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "ファイルをSort" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "ログファイルを圧縮" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "ログファイルを解å‡" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "ユーザ/サイト" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Sarg log format" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "ログファイルを解å‡" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Loading User table" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "ミリ秒" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, 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:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "ユーザID" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "ユーザ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "アクセス先サイト" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "接続" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "ãƒã‚¤ãƒˆæ•°" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "減少ã—ã¦ã„るアクセス (bytes)" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "Squidユーザエージェントレãƒãƒ¼ãƒˆ" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "使用時間" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "レãƒãƒ¼ãƒˆ" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "以下ã‹ã‚‰æŽ’除ã™ã‚‹ãƒ•ァイルを読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %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 #, fuzzy, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc error" #: 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 "" "Maybe you have a broken record or garbage in \"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 "以下ã‹ã‚‰æŽ’除ã™ã‚‹ãƒ•ァイルを読ã¿è¾¼ã‚“ã§ã„ã¾ã™" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc error" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Squidユーザアクセスレãƒãƒ¼ãƒˆ" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "ファイルをSort" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "レãƒãƒ¼ãƒˆ" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Squidユーザアクセスレãƒãƒ¼ãƒˆ" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "IN" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "レãƒãƒ¼ãƒˆã‚’作æˆ" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "æ‹’å¦" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "ファイル/期間" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "reverse" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "パラメータ" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "ホストååˆã¯IPアドレス" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "レãƒãƒ¼ãƒˆã‚’é€ã‚‹E-Mailアドレス" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Yes" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "No" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "ホストååˆã¯IPアドレス" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "ホストååˆã¯IPアドレス" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ユーザIDã®ä»£ã‚りã«IPアドレスを使用ã™ã‚‹" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "ログファイルを圧縮" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1507 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "ãƒ­ã‚°ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒæ··åœ¨ã—ã¦ã„ã¾ã™ (squid and common log)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Common ログフォーマット" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid ログフォーマット" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg parsed log saved as" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "無効ãªãƒ­ã‚°ãƒ•ォーマットã§ã™" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "レコードãŒã‚りã¾ã›ã‚“" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "終了" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Cannot load. Memory fault" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Cannot load. Memory fault" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "squidGuard" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "以下ã‹ã‚‰ãƒ‘スワードファイルを読ã¿è¾¼ã¿ã¾ã™" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc error" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "ファイルをSort" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "ファイルをSort" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "アクセスログファイルを読んã§ã„ã¾ã™" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "SQUIDGUARD" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "ã“ã®ãƒ¬ãƒãƒ¼ãƒˆã¯ä»¥ä¸‹ã®ãƒ—ログラムã«ã‚ˆã£ã¦ä½œæˆã•れã¾ã—ãŸ" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "作æˆå®Œäº†ã€‚以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãƒ¬ãƒãƒ¼ãƒˆãŒä½œæˆã•れã¾ã—ãŸ" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "レãƒãƒ¼ãƒˆã®ä½œæˆãŒå®Œäº†ã—メールを以下宛ã«é€ä¿¡ã—ã¾ã—ãŸ" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Making file" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "トップ" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "IN" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "エージェント" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "åˆè¨ˆ" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "ファイルをSort" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "スマートフィルター" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "時間" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "テンãƒãƒ©ãƒªãƒ•ァイルを削除" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "スマートフィルター" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Squidユーザアクセスレãƒãƒ¼ãƒˆ" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "ユーザエージェントログを読んã§ã„ã¾ã™" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "レコードを読んã§ã„ã¾ã™" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Abuse レãƒãƒ¼ãƒˆ" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "ユーザ" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "Sort" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Sites & Users" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "サイト" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "æ—¢ã«å­˜åœ¨ã—ã¾ã™, 以下ã«ç§»å‹•ã—ã¾ã—ãŸ" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "normal" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1409 #, fuzzy, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "ファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "ログファイルをオープンã§ãã¾ã›ã‚“" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\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 remove the 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 "sarg version: %s" #~ msgstr "ユーザエージェントレãƒãƒ¼ãƒˆã‚’作æˆ" #, fuzzy #~ msgid "written" #~ msgstr "書込ã¿ä¸­" #, fuzzy #~ msgid "excluded" #~ msgstr "排除" #, fuzzy #~ msgid "IP report" #~ msgstr "IP レãƒãƒ¼ãƒˆ" sarg-2.3.6/po/LINGUAS0000644000000000000000000000011612105453133012612 0ustar rootrootbg 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.6/po/lv.gmo0000644000000000000000000000101212135004007012701 0ustar rootrootÞ•$,8Ð9Project-Id-Version: sarg 2.3-pre1 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); sarg-2.3.6/po/lv.po0000644000000000000000000023417212135004006012553 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Nevar atvÄ“rt failu" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "AutorizēšanÄs kļūdas" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periods" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "LietotÄjs" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/VÄrds" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "Datums/Laiks" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "ApmeklÄ“tÄs lapas" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "KÄrtoju failu" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Lasu access log failu" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nevar atvÄ“rt log failu" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Nevar atvÄ“rt log failu" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Lasu access log failu" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Nevar atvÄ“rt failu" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Nevar atvÄ“rt failu" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Nevar atvÄ“rt failu" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Nevar atvÄ“rt failu" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Fails nav atrasts" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Fails nav atrasts" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "KompresÄ“ju log failu" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "DekompresÄ“ju log failu" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "KompresÄ“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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Aizliegts" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt failu" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "DekompresÄ“ju log failu" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid lietotÄju atskaite" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "SamazinoÅ¡i apmeklÄ“ts (baiti)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periods" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "Nummurs" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "Pievienot" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "Baiti" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "Izmantotais laiks" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "Laiks" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "PAVISAM" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "VidÄ“ji" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "atskaites" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Fails nav atrasts" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "IelÄdÄ“ju izņēmumu failu no" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: 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 #, fuzzy, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Nevar atvÄ“rt log failu" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc kļūda" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc kļūda" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "LietotÄjs" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "Fails nav atrasts" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "KÄrtoju failu" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Nevar atvÄ“rt failu" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Nevar atvÄ“rt log failu" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "atskaites" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DIENAS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Fails nav atrasts" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Fails nav atrasts" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Fails nav atrasts" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Fails nav atrasts" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "LietotÄjs" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "Gudrais filtrs" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Taisu atskaiti" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "AZLIEGTS" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Nevar atvÄ“rt failu" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "LietotÄji" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Nevar atvÄ“rt log failu" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Dzēšu vecos atskaiÅ¡u failus" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameteri" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Datora vÄrds vai IP adrese" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-pasta adrese, kur nosÅ«tÄ«t atskaiti" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, fuzzy, c-format msgid " IP report (-i) = %s\n" msgstr " IP atskaite (-i) = %s\n" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "JÄ" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "NÄ“" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " IP atskaite (-i) = %s\n" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr " IP atskaite (-i) = %s\n" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Lietot IP adresi lietotÄja vietÄ" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lasu access log failu" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "KompresÄ“ju log failu" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lasu access log failu" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "ŽurnÄls ir no Microsoft ISA: %s\n" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Fails nav atrasts" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Fails nav atrasts" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:1507 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Pamata log formÄts" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log formÄts" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Nepareizs log formÄts" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Ieraksti nav atrasti" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Beigas" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lasu access log failu" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periods" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periods" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Fails nav atrasts" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Fails nav atrasts" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "IelÄdÄ“ju paroļu failu no" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc kļūda" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Fails nav atrasts" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "KÄrtoju failu" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Nevar atvÄ“rt failu" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Nevar atvÄ“rt 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "KÄrtoju 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Lasu access log failu" #: 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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Lasu access log failu" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Nevar atvÄ“rt failu" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Nevar atvÄ“rt log failu" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Fails nav atrasts" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "Datums/Laiks" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Nevar atvÄ“rt failu" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Atskaite veiksmÄ«gi izveidota uz" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Atskaite veiksmÄ«gi izveidota un nosÅ«tÄ«ta uz" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Taisu failu" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Nevar atvÄ“rt failu" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Nevar atvÄ“rt failu" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Fails nav atrasts" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Saites & LietotÄji" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Fails nav atrasts" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Fails nav atrasts" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Fails nav atrasts" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Fails nav atrasts" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "Gudrais filtrs" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Ä¢enerÄ“ts ar" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "uz" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Nevar atvÄ“rt log failu" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Fails nav atrasts" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Fails nav atrasts" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "KÄrtoju failu" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Fails nav atrasts" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsaites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Laiks" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "saites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsaites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "LietotÄjs" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Nevar atvÄ“rt failu" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Fails nav atrasts" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Nevar atvÄ“rt log failu" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Lasu access 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Nevar atvÄ“rt failu" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Lasu useragent log failu" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Ieraksti nolasÄ«ti" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Veidoju Useragent atskaiti" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent's atskaite" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Nevar atvÄ“rt log failu" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Nevar ielÄdÄ“t. Atmiņas kļūda" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "IelÄdÄ“ju lietotÄju tabulu" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Nevar atvÄ“rt failu" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "jau eksistÄ“, pÄrceļu uz" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Dzēšu pagaidu failus sarg-general, sarg-period\n" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1409 #, fuzzy, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Nevar atvÄ“rt failu" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Nevar atvÄ“rt log failu" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, 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 remove the file %s: %s\n" #~ msgstr "Nevar atvÄ“rt 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 "sarg version: %s" #~ msgstr "versija" #, fuzzy #~ msgid "written" #~ msgstr "ierakstÄ«ti" #, fuzzy #~ msgid "excluded" #~ msgstr "izņēmums" #, fuzzy #~ msgid "IP report" #~ msgstr "IP atskaite" sarg-2.3.6/po/Makefile.in.in0000644000000000000000000003744212105453133014253 0ustar rootroot# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.18 GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 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@ 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@ # 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: check-macro-version 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 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. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ 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_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ 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): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE_UPDATE) --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: $(MAKE) update-po @$(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"; 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.6/po/Makevars0000644000000000000000000000351012105453133013262 0ustar rootroot# 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 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 = sarg-2.3.6/po/nl.gmo0000644000000000000000000000072512135004007012703 0ustar rootrootÞ•$,8›9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: 2010-03-31 12:00+0100 Last-Translator: Erwin Poeze Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); sarg-2.3.6/po/nl.po0000644000000000000000000023442712135004006012546 0ustar rootroot# Dutch translations for sarg package. # Copyright (C) 2010 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 # msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: 2010-03-31 12:00+0100\n" "Last-Translator: Erwin Poeze \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" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Kan bestand niet openen" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "Kan het log bestand niet openen" #: 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Kan het log bestand niet openen" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periode" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "GEBRUIKERSID" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NAAM" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "DATUM/TIJD" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "BEZOCHTE SITE" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Sorteren bestand" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Kan het log bestand niet openen" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Kan het log bestand niet openen" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Kan het log bestand niet openen" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Kan het log bestand niet openen" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Access log bestand inlezen" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Kan bestand niet openen" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Kan bestand niet openen" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Kan bestand niet openen" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Kan bestand niet openen" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Bestand niet gevonden" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Bestand niet gevonden" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Comprimeren log bestand" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Decomprimeren log bestand" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Comprimeren 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Geweigerd" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Kan bestand niet openen" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Decomprimeren log bestand" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Gebruikers Toegangs Rapport" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Verminderen Toegang (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periode" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "VERBINDING" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "GEBRUIKTE TIJD" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "TIJD" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOTAAL" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "GEMIDDELDE" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "rapporten" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Bestand niet gevonden" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Kan het log bestand niet openen" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Laden uitzondering bestand uit" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Kan het log bestand niet openen" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Kan het log bestand niet openen" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Kan bestand niet openen" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc error" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc error" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Kan bestand niet openen" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Gebruiker" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Kan bestand niet openen" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Kan bestand niet openen" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Kan bestand niet openen" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Kan het log bestand niet openen" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "rapporten" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Bestand niet gevonden" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Bestand niet gevonden" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Kan het log bestand niet openen" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Bestand niet gevonden" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Bestand niet gevonden" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Gebruiker" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Maken rapport" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "GEWEIGERD" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Kan het log bestand niet openen" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Kan bestand niet openen" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "GEBRUIKERS" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Decomprimeren log bestand" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Decomprimeren log bestand" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Bestand niet gevonden" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Sorteren bestand" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Kan het log bestand niet openen" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Verwijderen oude rapport bestand" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Kan het log bestand niet openen" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Kan het log bestand niet openen" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parameters" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname of IP adres" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Email adres om rapporten te zenden" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Ja" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Nee" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname of IP adres" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname of IP adres" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Gebruik Ip Adres i.p.v. gebruikersnaam" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Kan het log bestand niet openen" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Access log bestand inlezen" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Comprimeren log bestand" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Kan het log bestand niet openen" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Access log bestand inlezen" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Bestand niet gevonden" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Kan bestand niet openen" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Kan bestand niet openen" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Bestand niet gevonden" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Kan het log bestand niet openen" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Algemene log indeling" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log indeling" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log formaat" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log met ongeldige indeling" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Geen records gevonden" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Eind" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Access log bestand inlezen" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periode" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periode" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Bestand niet gevonden" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Bestand niet gevonden" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Laden password bestand uit" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Kan het log bestand niet openen" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Kan bestand niet openen" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Kan bestand niet openen" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc error" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Kan het log bestand niet openen" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Bestand niet gevonden" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Kan bestand niet openen" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Kan bestand niet openen" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Kan bestand niet openen" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Kan bestand niet openen" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Kan bestand niet openen" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Decomprimeren log bestand" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Decomprimeren log bestand" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Decomprimeren log bestand" #: 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Kan bestand niet openen" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Kan bestand niet openen" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Kan bestand niet openen" #: 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Kan bestand niet openen" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Kan bestand niet openen" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Kan het log bestand niet openen" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Bestand niet gevonden" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATUM/TIJD" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Kan bestand niet openen" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Succesvol rapport gegenereerd op" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Succesvol rapport gegenereerd en verzonden naar" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Bestand maken" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Kan bestand niet openen" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Kan bestand niet openen" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Bestand niet gevonden" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Sites en Gebruikers" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Bestand niet gevonden" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Bestand niet gevonden" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Bestand niet gevonden" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Bestand niet gevonden" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Gegenereerd door" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "op" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Kan het log bestand niet openen" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Bestand niet gevonden" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Bestand niet gevonden" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sorteren bestand" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Bestand niet gevonden" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Tijd" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Kan het log bestand niet openen" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Kan het log bestand niet openen" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Gebruiker" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Kan bestand niet openen" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Bestand niet gevonden" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Kan het log bestand niet openen" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Kan bestand niet openen" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Kan bestand niet openen" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Debug berichten" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "Tijdelijke dir" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Rapporten per gebruiker en IP adres" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Kan bestand niet openen" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Lezen useragent log" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Records gelezen" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Maken Useragent rapport" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent's Rapport" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Kan het log bestand niet openen" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Kan bestand niet openen" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Kan bestand niet openen" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Kan het log bestand niet openen" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Kan bestand niet openen" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "bestaat al, verplaatst naar" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Kan bestand niet openen" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Kan bestand niet openen" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Kan bestand niet openen" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Kan het log bestand niet openen" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Verwijderen tijdelijke bestanden" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Kan het log bestand niet openen" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Kan het log bestand niet openen" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Kan het log bestand niet openen" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Kan bestand niet openen" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Kan het log bestand niet openen" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Report" #~ msgstr "Rapport" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Useragent log" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Uitzondering bestand" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Uitvoer dir" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Sort" #~ msgstr "Sorteer" #, fuzzy #~ msgid "USER" #~ msgstr "GEBRUIKERS" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Decomprimeren log bestand" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Decomprimeren log bestand" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Access log bestand inlezen" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc error" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Periode bestand maken" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "IN" #~ msgstr "IN" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "UIT" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Kan het log bestand niet openen" #, 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 "Kan bestand niet openen" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "Usage" #~ msgstr "Gebruik" #, fuzzy #~ msgid "options" #~ msgstr "opties" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Datum van-tot" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "Email adres om rapporten te zenden" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout voor console" #, fuzzy #~ msgid "Config file" #~ msgstr "Configuratie bestand" #, fuzzy #~ msgid "Date format" #~ msgstr "Datum indeling" #, fuzzy #~ msgid "Europe" #~ msgstr "Europa" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Bezochte site" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Top" #~ msgstr "Top" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Kan het log bestand niet openen" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Kan het tijdelijke bestand niet openen" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Access log bestand inlezen" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Kan bestand niet openen" #, fuzzy #~ msgid "End" #~ msgstr "Eind" #, fuzzy #~ msgid "File" #~ msgstr "Bestand" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limiet overschreden" #, fuzzy #~ msgid "Added to file" #~ msgstr "Toegevoegd aan bestand" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Hostname of IP adres" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "Email adres om rapporten te zenden" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Gebruik Ip Adres i.p.v. gebruikersnaam" #, fuzzy #~ msgid "sarg version: %s" #~ msgstr "versie" #, fuzzy #~ msgid "written" #~ msgstr "geschreven" #, fuzzy #~ msgid "excluded" #~ msgstr "uitgezonderd" #, fuzzy #~ msgid "IP report" #~ msgstr "IP rapport" sarg-2.3.6/po/pl.gmo0000644000000000000000000006626412135004007012717 0ustar rootrootÞ• 0xgÀ\lxülýej[Ð!,*Ny'™(Á.ê!9#[œ'»"ã% ,5MDƒÈæ =Zw”!±,Ó( )7=E@]ž¤ª ² Àá)!!K(m –· ¼ÆË Ò6ß! 8'C&k’¬³/Ã&ó9 X bo$t'™ ÁÍ'ë& >: !y 0› Ì $ê ! #! 0!=!E! K!X!`!)f!:!?Ë!4 "@" Y"z"#”"4¸"4í"U"#x#—##¶#AÚ#2$O$h$q$w$‹$ž$,±$8Þ$5%:M%Eˆ%5Î%:&-?&-m&-›&9É&,'00'=a'9Ÿ'*Ù'N('S({(.(®(±("Ã(.æ(/)0E)*v)@¡)-â)6*#G* k*)Œ*¶* ½* È*"Ô*÷* +K+h+…+ž+±+¸+ ¿+,Í+-ú+-(,V,e,,~,6«,â, ç,Tó,TH-- °- ¾-5Ê- . ..1.J.+c.".².·.½.CÂ.?/nF//µ/=å//#0(S0)|0"¦0-É0*÷0-"1-P1.~1-­16Û1.2/A2"q2!”2%¶2,Ü20 3/:3*j3'•3A½3ÿ3)4:E4+€4C¬44ð4@%5 f5 s5 }5F‡5Î5Õ5AÛ5/6+M6!y6›6&º6á61æ6 7$7 -7K77Cƒ7Ç7Û7ó78888 98F8ÕN8$959/>9(n9@—9)Ø9":%:$,:Q: T:Ï_:/;7;<;[;Ïm;{=<¹<¾<!Ã< å<ô=”û>¾?¿O@+A,;A)hA4’A5ÇA;ýA)9B.cB0’B&ÃB(êB1C/EC5uC%«C:ÑC@ D&MD&tD&›D&ÂD&éD&E&7E&^E+…E1±E5ãEF F.F7FIOF™F¡F ¨F ´F&ÁF)èF(G=;G5yG2¯G)âG H HH #H .H;;HwH —H2¥H/ØHI "I-IJAI-ŒI!ºI"ÜI ÿI JJ5$J;ZJ –J(¡J0ÊJ-ûJH)K&rK?™K"ÙK)üK&L@L\LmLtL zLˆL ‘L5œLBÒLPM@fM§M$ÇM"ìM)NC9NH}NfÆN#-O#QO,uO>¢O2áOP 1PZ[Z rZEZÅZØZðZ'[.[%I[o[‰[[”[F›[<â[d\6„\<»\<ø\(5]2^]%‘]8·]4ð]>%^;d^7 ^4Ø^? _<M_9Š_'Ä_#ì_2`4C`8x`4±`)æ`@a7Qa‰a0¨a?Ùa3b=Mb>‹bEÊbc&c8cLOc œc¨cA°c6òc6)d`d*€d+«d ×dAãd%e;e KeUYeS¯eff1fNfRfVf^f |f ‰fÕ•fkgzg8ƒg2¼g>ïg*.h'Yhh.Šh¹h ¾hÏÈh˜i¡i(¨iÑiÏéi{¹j5k :k-Fk,tk¼ÕòéRBUíTì] ~&-’Ý%‡²ðO|°HÞßû ¢1aï¿drĈ>}D_'àÀ$ÇMÿ˜zÆ)£*è˶nqƒÔ(ãþ[îõæI¾ …oZK!=:ëÙµA4x«ú3¹·„øž¡êöâ/É.† Á¯^<Ågc6p§Pu9÷Ghý™bf—ΖsôÛ“EC‘t×ñwF#ိŸ¦S7±”¸NŽªÓ³Ñ;ie¬VåL®ÌÂÊ•Övä`8,Ã@+¤‚0çÒŠyš¥5ùÚ{œ"ÐŒÈÏ\2 ½YØW j? ¨©»XüºÍ‰kÜQJó›l´ ‹m¡k¨k„˜¬ÀÔè¯kÿÿÿÿÑk3ÿÿÿÿl3ÿÿÿÿ;lÿÿÿÿcl&ÿÿÿÿ‹l'ÿÿÿÿ%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…(auth) Cannot open file: %s - %s (auth) Cannot open template file: %s - %s (authfail) Cannot open file %s (convlog) Cannot open log file %s - %s (dansguardian) Cannot open log file: %s (dansguardian_report) Cannot open log file %s (datafile) Cannot open file %s (denied) Cannot open log file %s (download) Cannot open log file %s (email) Cannot open file %s (getconf) Cannot open file %s (gethexclude) Cannot open file %s - %s (grepday) Cannot open log file %s (grepday) Cannot open output file %s (grepday) Fontname %s not found (grepday) iconv cannot convert from %s to UTF-8 - %s (grepday) iconv failed to convert string "%s" from %s to UTF-8 - %s (html10) Cannot open file %s (html3) Cannot open file %s (html5) Cannot open file %s (html6) Cannot open file %s (html7) Cannot open file %s (html8) Cannot open file %s (html9) Cannot open file %s (index) Cannot open file %s (index) Cannot open file %s - %s (index) rename error from "%s" to "%s" - %s (lastlog) Cannot open temporary file %s ACCESSED SITEAGENTAVERAGEAuthentication FailuresAuthentication failures report not produced because it is empty BYTESCAUSECONNECTCREATION DATECannot create directory %s - %s Cannot enumerate the user list Cannot get the size of file %s Cannot open DansGuardian config file: %s Cannot open config file: %s - %s Cannot open exclude_hosts file: %s - %s Cannot resolve host name %s: %s DATEDATE/TIMEDAYSDENIEDDansGuardianDansguardian report not generated because it is empty Datafile %s written successfully Day reportDecompressing log file "%s" with bzcat Decompressing log file "%s" with zcat Decreasing Access (bytes)DeniedDenied accessesDenied report not produced because it is empty Destination directory too long: %s/%s Directory name too long: %s%s Download suffix list too long DownloadsELAPSED TIMEEnd Error: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! FILE/PERIODFailed to close file %s - %s Failed to close the index file %s - %s Failed to get the creation time of %s Failed to move till the end of the excluded users file %s: %s Failed to open directory %s - %s Failed to rewind the excluded users file %s: %s File name too long: %s/%s.ip File name too long: %s/%s/.htaccess File not found: %s Generated byGraph reportGraphicH:M:SIN-CACHE-OUTIP/NAMEInit Input file name too long: %s/htmlrel.txt Invalid IP address found in your dansguardian log file %s Invalid address type %d returned when resolving host name "%s" Invalid date found in your dansguardian log file %s Invalid date in file %s Invalid elapsed time in file %s Invalid entry in file %s Invalid number of bytes in file %s Invalid time found in your dansguardian log file %s Invalid user found in your dansguardian log file %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 with option -l: %s Log file name too long passed on command line: %s Log with invalid format MILLISECMONTHMaking file: %s/%s Making index.html Making report: %s Maybe you have a broken day in your %s file Maybe you have a broken day in your %s%s/sarg-date file Maybe you have a broken elapsed time in your %s file Maybe you have a broken month in your %s%s/sarg-date file Maybe you have a broken record or garbage in "date_format" parameter Maybe you have a broken record or garbage in file %s Maybe you have a broken record or garbage in your %s file Maybe you have a broken rule in your %s file Maybe you have a broken size in your %s file Maybe you have a broken time in your %s file Maybe you have a broken time in your %s%s/sarg-date file Maybe you have a broken url in your %s file Maybe you have a broken user IP in your %s file Maybe you have a broken week day in your %s%s/sarg-date file Maybe you have a broken year in your %s%s/sarg-date file 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 file %s Not enough memory to read the denied accesses Not enough memory to read the downloaded files Not enough memory to read the downloaded files. Not enough memory to read the log file %s 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 Output file name too long: %s/%s/%s.html PeriodPeriod: %sPeriod: %s Reading DansGuardian log file: %s Reading user file: %s/%s RedirectorRedirector log file name too long passed on command line with opton -L: %s Removing old report file %s SARG reportSARG reportsSARG report for %sSARG, SARG: SARG: (info) SARG: Records in file: %lu, reading: %3.2f%%SARG: Records in file: %lu, reading: %3.2f%% 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 command too long when sorting file "%s" to "%s" Sort: %s, %sSort: %s, %sSorting file: %s Squid 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 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 There is a broken IP address in file %s There is a broken access code in file %s There is a broken date in file %s There is a broken downloaded size in file %s There is a broken elapsed time in file %s There is a broken in cache column in file %s There is a broken in-cache volume in file %s There is a broken number of access in file %s There is a broken number of bytes in file %s There is a broken out of cache column in file %s (%d) There is a broken out-cache volume in file %s There is a broken record or garbage in file %s There is a broken time in file %s There is a broken url in file %s There is a broken user ID in file %s There is an invalid elapsed time in file %s There is an invalid number of access in file %s There is an invalid number of bytes in file %s There is an invalid smart info in file %s There is an invalid user ID in file %s 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 with option -l. 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 Too many redirector logs passed on command line with option -L. 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 user ID %s in file %s Unknown value "%s" for parameter "%s" UserUser %s limit exceeded (%d MB). Added to file %s User 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 file %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 decompression command too long for log file %s failed to create link "%s" to "%s" - %s libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s malloc error (%ld bytes required) normalnot enough memory to sort the index onperiod=%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. timeuseruser name too long for %s/%s.day user name too long for %s/%s/%s Project-Id-Version: sarg 2.3.2 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: 2012-07-13 15:23+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…(auth) Nie można otworzyć pliku: %s - %s (auth) Nie można otworzyć wzorca: %s - %s (authfail) Nie można otworzyć pliku %s (convlog) Nie można otworzyć pliku logów %s - %s (dansguardian) Nie można otworzyć pliku logów: %s (dansguardian_report) Nie można otworzyć pliku logów %s (datafile) Nie można otworzyć pliku %s (denied) Nie można otworzyć pliku logów %s (download) Nie można otworzyć pliku logów %s (email) Nie można otworzyć pliku %s (getconf) Nie można otworzyć pliku %s (gethexclude) Nie można otworzyć pliku %s - %s (grepday) Nie można otworzyć pliku logów %s (grepday) Nie można otworzyć pliku wyjÅ›ciowego %s (grepday) Czcionka %s nie znaleziona (grepday) iconv nie może przekodować z %s na UTF-8 - %s (grepday) iconv nie mógÅ‚ przekodować "%s" z %s na UTF-8 - %s (html0) Nie można otworzyć pliku %s (html3) Nie można otworzyć pliku %s (html5) Nie można otworzyć pliku %s (html6) Nie można otworzyć pliku %s (html7) Nie można otworzyć pliku %s (html8) Nie można otworzyć pliku %s (html9) Nie można otworzyć pliku %s (index) Nie można otworzyć pliku %s (index) Nie można otworzyć pliku %s - %s (index) błąd zmiany nazwy dla "%s" z "%s" - %s (lastlog) Nie można otworzyć pliku tymczasowego %s STRONAPRZEGLÄ„DARKAÅšREDNIABłąd uwierzytelnieniaNie wygenerowano raportu błędów uwierzytelnienia ponieważ jest pusty BAJTÓWPOWÓDPOÅÄ„CZEŃDATA UTWORZ.Nie można utworzyć katalogu %s - %s Nie można wypisać listy użytkowników Nie można uzyskać wielkoÅ›ci pliku %s Nie można otworzyć pliku konfiguracyjnego DansGuardian: %s Nie można otworzyć pliku konfiguracyjnego: %s - %s Nie można otworzyć pliku exclude_hosts: %s - %s Nie można znaleźć nazwy stacji %s: %s DATADATA-GODZ.DZIEŃZABRONIONYDansGuardianNie wygenerowano raportu DansGuardian ponieważ jest pusty Zapisano plik %s z powodzeniem Raport dniowyRozpakowywanie pliku logów "%s" za pomocÄ… bzcat Rozpakowanie pliku logów "%s" za pomocÄ… zcat DostÄ™p malejÄ…co (bajty)ZabronionyDostÄ™py zabronioneRaport dostÄ™pów zabronionych nie zostaÅ‚ utworzony ponieważ jest pusty Zbyt dÅ‚uga nazawa folderu docelowego: %s/%s Zbyt dÅ‚uga nazwa katalogu: %s%s 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/OKRESNie udaÅ‚o siÄ™ zamknąć pliku %s - %s Nie udaÅ‚o siÄ™ zamknąć pliku indeksu %s - %s Nie udaÅ‚o siÄ™ uzyskać czasu utworzenia %s Nie udaÅ‚o siÄ™ czytać koÅ„ca pliku wykluczonych użytkowników %s: %s Nie można otworzyć katalogu %s - %s Nie można przewijać pliku wykluczonych użytkowników %s: %s Zbyt dÅ‚uga nazwa pliku: %s/%s.ip Zbyt dÅ‚uga nazwa pliku: %s/%s/.htaccess Nie znaleziono pliku: %s Raport utworzony za pomocÄ…Raport graficznyWykresG:M:STAK-BUFOR-NIEIP/NAZWAPoczÄ…tek Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/htmlrel.txt Znaleziono nieprawidÅ‚owy adres IP w pliku logów DansGuardian %s NieprawidÅ‚owy rodzaj adresu %d zwrócony podczas znalezienia nazwy stacji "%s" Znaleziono nieprawidÅ‚owÄ… datÄ™ w pliku logów DansGuardian %s NieprawidÅ‚owa data w pliku %s NieprawidÅ‚owy okres czasu pliku %s NieprawidÅ‚owa pozycja w pliku %s NieprawidÅ‚owa liczba bajtów w pliku %s Znaleziono nieprawidÅ‚owÄ… godzinÄ™ w pliku logów DansGuardian %s Znaleziono nieprawidÅ‚owego użytkownika w pliku logów DansGuardian %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 z opcjÄ… -l: %s Zbyt dÅ‚uga nazwa pliku podana w linii komend: %s NieprawidÅ‚owy format pliku MILISEKUNDMIESIÄ„CTworzenie pliku: %s/%s Tworzenie index.html Tworzenie raportu: %s WystÄ™puje nieprawidÅ‚owa data w pliku %s WystÄ™puje nieprawidÅ‚owy dzieÅ„ w pliku %s%s/sarg-date WystÄ™puje nieprawidÅ‚owy okres czasu w pliku %s WystÄ™puje nieprawidÅ‚owy miesiÄ…c w pliku %s%s/sarg-date Prawdopodobnie masz uszkodzony wiersz lub baÅ‚agan dla parametru "date_format" Może wystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s Może wystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s Może wystÄ™puje nieprawidÅ‚owa reguÅ‚a w pliku %s WystÄ™puje nieprawidÅ‚owy rozmiar w pliku %s WystÄ™puje nieprawidÅ‚owa godzina w pliku %s WystÄ™puje nieprawidÅ‚owa godzina w pliku %s%s/sarg-date Znaleziono nieprawidÅ‚owy url w pliku %s WystÄ™puje nieprawidÅ‚owy numer IP użytkownika w pliku %s WystÄ™puje nieprawidÅ‚owy dzieÅ„ tygodnia w pliku %s%s/sarg-date WystÄ™puje nieprawidÅ‚owy rok w pliku %s%s/sarg-date 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 Za maÅ‚o pamiÄ™ci aby czytać plik %s Za maÅ‚o pamiÄ™ci aby czytać dostÄ™py zabronione Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki. Za maÅ‚o pamiÄ™ci aby czytać plik logów %s 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 Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/%s/%s.html OkresOkres: %sOkres: %s Wczytanie pliku logów DansGuardian: %s Wczytanie pliku użytkowników: %s/%s PrzekierowanieZbyt dÅ‚uga nazwa pliku przekierowaÅ„ podana w linii komend z opcjÄ… -L: %s Kasowanie starego pliku raportu %s Raport SARGRaporty SARGRaporty SARGRaport SARG dla %sSARG, SARG: SARG: (info) SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%% 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 FiltrKomenda sortowania jest za dÅ‚uga przy sortowaniu pliku "%s" do "%s" Sortowanie: %s, %sSortowanie: %s, %sSortowanie pliku: %s Raport 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ć 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 Jest nieprawidÅ‚owy adres IP w pliku %s WystÄ™puje nieprawidÅ‚owy kod dostÄ™pu w pliku %s Jest nieprawidÅ‚owa data w pliku %s WystÄ™puje nieprawidÅ‚owa wielkość pobraÅ„ w pliku %s WystÄ™puje nieprawidÅ‚owy spÄ™dzony czas w pliku %s WystÄ™puje nieprawidÅ‚owa wartość kolumnie cache w pliku %s WystÄ™puje nieprawidÅ‚owa wielkość in-cache'u w pliku %s WystÄ™puje nieprawidÅ‚owa liczba dostÄ™pów w pliku %s WystÄ™puje nieprawidÅ‚owa liczba bajtów w pliku %s WystÄ™puje nieprawidÅ‚owa kolumna out of cache w pliku %s (%d) WystÄ™puje nieprawidÅ‚owa wielkość out-cache'u w pliku %s WystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s Jest nieprawidÅ‚owa godzina w pliku %s Jest nieprawidÅ‚owy url w pliku %s Jest nieprawidÅ‚owa nazwa użytkownika w pliku %s WystÄ™puje nieprawidÅ‚owy spÄ™dzony czas w pliku %s WystÄ™puje nieprawidÅ‚owa liczba połączeÅ„ w pliku %s WystÄ™puje nieprawidÅ‚owa liczba bajtów w pliku %s WystÄ™puje nieprawidÅ‚owy tag w pliku %s WystÄ™puje nieprawidÅ‚owy identyfikator użytkownika w pliku %s 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 z opcjÄ… -l. 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 Zbyt dużo logów przekierowaÅ„ podanych w linii komend z opcjÄ… -L. 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 nazwa użytkownika %s w pliku %s Nieznana wartość "%s" dla parametru "%s" UżytkownikUżytkownik %s przekroczyÅ‚ granicÄ™ (%d MB). Dodano do pliku %s Raport 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 pliku %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 komenda rozpakowania jest za dÅ‚uga dla pliku logów %s nie udaÅ‚o siÄ™ utworzyć linku "%s" do "%s" - %s libgd nie mógÅ‚ wyliczyć ramÄ™ otaczajÄ…cÄ… tekst "%s": %s libgd nie mógÅ‚ rysować tekstu "%s": %s błąd malloc (%ld bajtów wymaganych) normalnyzbyt maÅ‚o pamiÄ™ci aby sortować po indeksie dniaokres=%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żytkowniknazwa użytkownika zbyt dÅ‚uga dla %s/%s.day zbyt dÅ‚uga nazwa użytkownika dla %s/%s/%s PRIu64PRId64realloc 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.6/po/pl.po0000644000000000000000000023572712135004006012554 0ustar rootroot# 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: 2013-04-21 17:38+0200\n" "PO-Revision-Date: 2012-07-13 15:23+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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s/.htaccess\n" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "(auth) Nie można otworzyć pliku: %s - %s\n" #: auth.c:51 #, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "(auth) Nie można otworzyć wzorca: %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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, 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:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "komenda sortowania: %s\n" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "(authfail) Nie można otworzyć pliku %s\n" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "Błąd uwierzytelnienia" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "Okres: %s" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "UÅ»YTKOWNIK" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "IP/NAZWA" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "DATA-GODZ." #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "STRONA" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać plik %s\n" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "Jest nieprawidÅ‚owa data w pliku %s\n" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "Jest nieprawidÅ‚owa godzina w pliku %s\n" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "Jest nieprawidÅ‚owa nazwa użytkownika w pliku %s\n" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "Jest nieprawidÅ‚owy adres IP w pliku %s\n" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "Jest nieprawidÅ‚owy url w pliku %s\n" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "Nieznana nazwa użytkownika %s w pliku %s\n" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "Błąd zapisu w pliku %s\n" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "Nie udaÅ‚o siÄ™ zamknąć pliku %s - %s\n" #: convlog.c:48 #, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "(convlog) Nie można otworzyć pliku logów %s - %s\n" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać plik logów %s\n" #: convlog.c:60 #, c-format 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" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nie można otworzyć pliku konfiguracyjnego DansGuardian: %s\n" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "(dansguardian) Nie można otworzyć pliku logów: %s\n" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format 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" #: dansguardian_log.c:80 #, 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:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Wczytanie pliku logów DansGuardian: %s\n" #: dansguardian_log.c:100 #, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Znaleziono nieprawidÅ‚owÄ… datÄ™ w pliku logów DansGuardian %s\n" #: dansguardian_log.c:104 #, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Znaleziono nieprawidÅ‚owÄ… godzinÄ™ w pliku logów DansGuardian %s\n" #: dansguardian_log.c:108 #, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Znaleziono nieprawidÅ‚owego użytkownika w pliku logów DansGuardian %s\n" #: dansguardian_log.c:112 #, c-format 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" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "Znaleziono nieprawidÅ‚owy url w pliku %s\n" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132 #, 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:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "(dansguardian_report) Nie można otworzyć pliku logów %s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "POWÓD" #: dansguardian_report.c:103 #, c-format 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" #: datafile.c:72 html.c:82 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 #, c-format msgid "Reading user file: %s/%s\n" msgstr "Wczytanie pliku użytkowników: %s/%s\n" #: datafile.c:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "(datafile) zbyt dÅ‚uga Å›cieżka katalogu: %s/%s.log\n" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "(datafile) Nie można otworzyć pliku %s\n" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki.\n" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format 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" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owy tag w pliku %s\n" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "Za maÅ‚o pamiÄ™ci aby przechować url\n" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "Zapisano plik %s z powodzeniem\n" #: decomp.c:36 #, c-format msgid "File not found: %s\n" msgstr "Nie znaleziono pliku: %s\n" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Rozpakowanie pliku logów \"%s\" za pomocÄ… zcat\n" #: decomp.c:44 decomp.c:54 decomp.c:64 #, 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" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Rozpakowywanie pliku logów \"%s\" za pomocÄ… bzcat\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:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "(denied) Nie można otworzyć pliku logów %s\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Zabroniony" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać dostÄ™py zabronione\n" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 #, fuzzy msgid "No downloaded files to report\n" msgstr "Przyrostek pobraÅ„ jest za dÅ‚ugi\n" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "(download) Nie można otworzyć pliku logów %s\n" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "Pobrane pliki" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki\n" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "Przyrostek pobraÅ„ jest za dÅ‚ugi\n" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "Za dużo przyrostków pobraÅ„\n" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "(email) Nie można otworzyć pliku %s\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:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, c-format 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" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "Raport dostÄ™pu użytkowników do proxy" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "DostÄ™p malejÄ…co (bajty)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "Okres" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "Lp." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "POÅÄ„CZEŃ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "BAJTÓW" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "CZAS SPĘDZONY" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "MILISEKUND" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "CZASU" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owy identyfikator użytkownika w pliku %s\n" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owa liczba bajtów w pliku %s\n" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owa liczba połączeÅ„ w pliku %s\n" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owy spÄ™dzony czas w pliku %s\n" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "SUMA" #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "ÅšREDNIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Raport SARG, %s" #: email.c:281 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "komenda zwróciÅ‚a status %d\n" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nie można otworzyć pliku exclude_hosts: %s - %s\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Wczytywanie pliku wykluczonych stacji z: %s\n" #: exclude.c:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "(gethexclude) Nie można otworzyć pliku %s - %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 #, c-format msgid "Failed to move till the end of the excluded users 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:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "Nie można uzyskać wielkoÅ›ci pliku %s\n" #: exclude.c:332 #, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Nie można przewijać pliku wykluczonych użytkowników %s: %s\n" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\n" msgstr "błąd malloc (%ld bajtów wymaganych)\n" #: 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 #, fuzzy, c-format msgid "The first 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: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 "" "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" #: 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" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "(getconf) Nie można otworzyć pliku %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "błąd pamiÄ™ci (% wymaganych bajtów)\n" #: grepday.c:157 #, c-format msgid "(grepday) 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:170 #, 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:237 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd nie mógÅ‚ rysować tekstu \"%s\": %s\n" #: grepday.c:296 #, 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:300 #, 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:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Nieznany rodzaj %d dla skali Y\n" #: grepday.c:489 #, 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:557 msgid "SARG, " msgstr "SARG, " #: grepday.c:561 #, c-format msgid "User: %s" msgstr "Użytkownik: %s" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "zbyt dÅ‚uga nazwa użytkownika dla %s/%s/%s\n" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "(grepday) Nie można otworzyć pliku logów %s\n" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "(grepday) Czcionka %s nie znaleziona\n" #: grepday.c:655 #, c-format msgid "(grepday) 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:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "nazwa użytkownika zbyt dÅ‚uga dla %s/%s.day\n" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "NieprawidÅ‚owa data w pliku %s\n" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "NieprawidÅ‚owa pozycja w pliku %s\n" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "NieprawidÅ‚owa liczba bajtów w pliku %s\n" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "NieprawidÅ‚owy okres czasu pliku %s\n" #: grepday.c:738 #, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "(grepday) Nie można otworzyć pliku wyjÅ›ciowego %s\n" #: grepday.c:741 msgid "Graph report" msgstr "Raport graficzny" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "DZIEŃ" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.unsort\n" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.log\n" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "Zbyt dÅ‚uga nazawa folderu docelowego: %s/%s\n" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nie można utworzyć katalogu %s - %s\n" #: html.c:105 #, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/htmlrel.txt\n" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "(html3) Nie można otworzyć pliku %s\n" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/%s/%s.html\n" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s/denied_%s.html\n" #: html.c:140 html.c:230 topuser.c:308 #, c-format 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" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owa wielkość pobraÅ„ w pliku %s\n" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owy kod dostÄ™pu w pliku %s\n" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owy spÄ™dzony czas w pliku %s\n" #: html.c:163 #, c-format 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" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owa wielkość out-cache'u w pliku %s\n" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "(html5) Nie można otworzyć pliku %s\n" #: html.c:181 html.c:187 msgid "User report" msgstr "Raport użytkowników" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "Użytkownik" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "Sortowanie: %s, %s" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "Szybki Filtr" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "TAK-BUFOR-NIE" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "Tworzenie raportu: %s\n" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owa liczba bajtów w pliku %s\n" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owa wartość kolumnie cache w pliku %s\n" #: html.c:254 #, c-format 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" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "raport czasowy" #: html.c:321 msgid "DENIED" msgstr "ZABRONIONY" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s.ip\n" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "(html6) Nie można otworzyć pliku %s\n" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "(html7) Nie można otworzyć pliku %s\n" #: html.c:356 html.c:417 #, c-format 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" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "WystÄ™puje nieprawidÅ‚owa data w pliku %s\n" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "WystÄ™puje nieprawidÅ‚owa godzina w pliku %s\n" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "WystÄ™puje nieprawidÅ‚owy rozmiar w pliku %s\n" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "WystÄ™puje nieprawidÅ‚owy okres czasu w pliku %s\n" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "(html8) Nie można otworzyć pliku %s\n" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "(html9) Nie można otworzyć pliku %s\n" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "(html0) Nie można otworzyć pliku %s\n" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nie można otworzyć katalogu %s - %s\n" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "(index) Nie można otworzyć pliku %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: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:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Nie udaÅ‚o siÄ™ zamknąć pliku indeksu %s - %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 #, c-format 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" #: index.c:371 #, c-format 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" #: index.c:375 #, c-format 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" #: index.c:379 index.c:389 #, c-format 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" #: index.c:384 #, c-format 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" #: 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:424 #, c-format msgid "(index) Cannot open file %s\n" msgstr "(index) Nie można otworzyć pliku %s\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:101 topsites.c:258 msgid "USERS" msgstr "UÅ»YTK." #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" msgstr "(index) błąd zmiany nazwy dla \"%s\" z \"%s\" - %s\n" #: index.c:572 #, 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 #, 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_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:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "(lastlog) Nie można otworzyć pliku tymczasowego %s\n" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "Nie udaÅ‚o siÄ™ uzyskać czasu utworzenia %s\n" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "Kasowanie starego pliku raportu %s\n" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "Zbyt dÅ‚uga nazwa katalogu: %s%s\n" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "Zbyt dużo plików logów podanych w linii komend z opcjÄ… -l.\n" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "Zbyt dÅ‚uga nazwa pliku podana w linii komend z opcjÄ… -l: %s\n" #: log.c:438 #, c-format 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" #: log.c:442 #, c-format 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" #: log.c:476 #, 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:484 #, 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:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "Opcja -%c wymaga argumentu\n" #: log.c:530 #, 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:534 #, 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:543 #, c-format msgid "Init\n" msgstr "PoczÄ…tek\n" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nie można otworzyć pliku konfiguracyjnego: %s - %s\n" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:677 log.c:710 #, c-format msgid "Parameters:\n" msgstr "" #: log.c:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "Tak" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "Nie" #: log.c:691 log.c:724 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr "" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, c-format msgid "Invalid time found in %s\n" msgstr "" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.unsort\n" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "SARG: Liczba wierszy w logu: %lu, wczytywanie: %3.2f%%\n" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" #: log.c:1606 #, c-format msgid "Common log format\n" msgstr "" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "NieprawidÅ‚owy format pliku\n" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "Brak wierszy w pliku\n" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "Koniec\n" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "data=%s\n" #: log.c:1644 #, c-format msgid "period=%s\n" msgstr "okres=%s\n" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "Okres: %s\n" #: log.c:1665 #, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, c-format msgid "Command too long: %s \"%s\"\n" msgstr "" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, c-format msgid "Loading password file from %s\n" msgstr "" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "" #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:236 redirector.c:494 #, c-format msgid "Invalid IP address in file %s\n" msgstr "" #: realtime.c:240 #, c-format msgid "Invalid user name in file %s\n" msgstr "" #: realtime.c:245 redirector.c:163 redirector.c:498 #, c-format msgid "Invalid URL in file %s\n" msgstr "" #: realtime.c:249 #, c-format msgid "Invalid access type in file %s\n" msgstr "" #: realtime.c:312 msgid "Realtime" msgstr "" #: realtime.c:313 msgid "Auto refresh" msgstr "" #: realtime.c:314 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 #, c-format msgid "User ID too long in redirector log file %s\n" msgstr "" #: redirector.c:140 splitlog.c:97 #, c-format msgid "Invalid date found in file %s\n" msgstr "" #: redirector.c:148 #, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 msgid "RULE" msgstr "" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "" #: redirector.c:502 #, c-format msgid "Invalid rule in file %s\n" msgstr "" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "Raport dniowy" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "G:M:S" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "(datafile) zbyt dÅ‚uga Å›cieżka katalogu: %s/%s.log\n" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "Raport dostÄ™pu do serwisów" #: report.c:267 msgid "DATE" msgstr "DATA" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Nie udaÅ‚o siÄ™ zamknąć pliku indeksu %s - %s\n" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, c-format msgid "Successful report generated on %s\n" msgstr "Wygenerowano raport w %s\n" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Wygenerowano raport i wysÅ‚ano do %s\n" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "Tworzenie pliku: %s/%s\n" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, c-format msgid "Failed to write a line in %s\n" msgstr "" #: report.c:513 #, c-format msgid "Failed to write the total line in %s\n" msgstr "" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.unsort\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "Serwisy i Użytkownicy" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.unsort\n" #: smartfilter.c:61 #, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/sargtmp.log\n" #: smartfilter.c:69 #, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "Szybki Filtr" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "SZYBKI FILTR" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "Raport utworzony za pomocÄ…" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr "dnia" #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Zbyt dÅ‚uga nazwa pliku: %s/%s.ip\n" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Zbyt dÅ‚uga nazwa pliku wejÅ›ciowego: %s/htmlrel.txt\n" #: sort.c:118 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "zbyt dÅ‚uga nazwa użytkownika dla %s/%s/%s\n" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "połączeÅ„" #: sort.c:158 msgid "site" msgstr "serwis" #: sort.c:160 topuser.c:174 msgid "time" msgstr "czas" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "bajtów" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "normalny" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "odwrotny" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "" #: splitlog.c:124 #, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "Ranking serwisów" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "Pierwsze %d serwisów" #: topsites.c:280 #, fuzzy, c-format msgid "The number of users is invalid in file %s\n" msgstr "WystÄ™puje nieprawidÅ‚owy identyfikator użytkownika w pliku %s\n" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "użytkownik" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "Raport SARG dla %s" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "Sortowanie: %s, %s" #: topuser.c:224 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "Przekierowanie" #: topuser.c:240 msgid "Denied accesses" msgstr "DostÄ™py zabronione" #: topuser.c:243 msgid "Useragent" msgstr "PrzeglÄ…darka" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 msgid "Graphic" msgstr "Wykres" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, c-format msgid "Failed to close the top user list %s - %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:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "" #: totday.c:166 #, 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 usunąć nieużywanego pliku \"%s\" - %s\n" #: url.c:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Za maÅ‚o pamiÄ™ci aby czytać pobrane pliki\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 #, fuzzy msgid " -l FILE Input log" msgstr " -h Niniejsza pomoc" #: 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 #, fuzzy msgid " -x Debug messages" msgstr " -h Niniejsza pomoc" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr " -h Niniejsza pomoc" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "Raport Squid przeglÄ…darek" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "PRZEGLÄ„DARKA" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "" #: usertab.c:68 #, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "SARG: " #: util.c:475 msgid "SARG: (info) " msgstr "SARG: (info) " #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "" #: util.c:1054 util.c:1077 #, c-format msgid "File %s already exists, moved to %s\n" msgstr "" #: util.c:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, c-format msgid "Failed to get the current time\n" msgstr "" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "" #: util.c:1387 #, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, c-format msgid "cannot stat \"%s\"\n" msgstr "" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #~ msgid "H" #~ msgstr "H" #, fuzzy #~ msgid "" #~ "SARG: Maybe you have a broken record or garbage in the names of the " #~ "months.\n" #~ msgstr "Może wystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s\n" #, fuzzy #~ msgid "" #~ "Maybe you have a broken record or garbage in the name of the months.\n" #~ msgstr "Może wystÄ™puje nieprawidÅ‚owy wiersz lub baÅ‚agan w pliku %s\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 "Report" #~ msgstr "Raport" #~ msgid "Failed to delete the file %s\n" #~ msgstr "Nie udaÅ‚o sie skasować pliku %s\n" sarg-2.3.6/po/POTFILES.in0000644000000000000000000000070412105453133013345 0ustar rootrootauth.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.6/po/pt_BR.gmo0000644000000000000000000013441612135004007013305 0ustar rootrootÞ•¶0à QÔ$ä$ð$t%+u%+¡%+Í%+ù%+%&+Q&<}&@º&9û&+5'+a'+'+¹'+å'+(+=(+i(+•(+Á(+í()2/)[b)!¾)*à) *'+*(S*.|*«*!Ë*#í*+.+'M+$u+"š+%½+ ã+5,D:,,,º,×,ô,-.-K-!h-,Š-(·- à-$.*&.Q.p. .8°.!é. /#)/"M/&p/(—/%À/#æ/ 0!)0 K0#l0#0+´0 à0î0ö0 1517Q1‰1 11½15Ü102RC2%–28¼2&õ2Q3n3)Ž3!¸3(Ú34'4/<4l4ƒ4'–4 ¾4È4Í4!Ô4ö4 5'!5&I5p5Š5‘5&¡5È5ç5 6!656$:6'_6‡6š6­6 À6<Ì65 7?7']7-…7*³7Þ7.ý7&,8S8>s8>²85ñ87'9!_99) 90Ê90û9',:)T:~:%ž:$Ä:é:;$$;I; ]; j;w;/;.¯;%Þ;< <&<,<K<%c<‰<§<Æ<å<*þ<)= E=f=!€=¢=#Á='å=) >(7>4`>#•>%¹>ß>ø>?5?N?m?!?'¯?×?ñ?U @!`@‚@š@²@Ñ@#ð@AA3A2uA¨AÇA5àABB5BIB\B4oB+¤B4ÐB7C:=C-xC,¦C8ÓC: D6GD5~D.´D:ãDEE5dE:šECÕE7F4QF-†F-´F-âF9G5JG,€G0­G0ÞG8H=HH-†H9´H*îHNI'hI.I¿IÂI%ÔI"úI.J/LJ0|J&­J'ÔJ*üJ7'K-_K@K-ÎK6üKN3L#‚L$¦L'ËL)óL*M HMUMmM#tM ˜M £M$¯MÔM"ÙMüM$N>N^NKyNÅN×NôNOO,2O-_O-O»O,ÔO6P8P?=P}PŽP«P ¾P ÌPÙPëPýPQ/Q+AQ"mQQ•QCšQ)ÞQ?R'HR pR#‘RµR0ÌR!ýRSSYsS<ÍS/ T3:T$nTJ“TbÞT=AU!U#¡U/ÅU'õU6VOTV¤V$ÃV!èV1 W(Òƒ3„;E„„*¡„&Ì„&ó„&…-A…o… Œ…—…«…;´…6ð…,'†T†#\†€†%‘†·†,Ô†%‡&'‡(N‡w‡;•‡ ч(ò‡ ˆ$<ˆ!aˆ)ƒˆ+­ˆ,Ùˆ.‰B5‰,x‰-¥‰Ó‰%ò‰(ŠAŠ#_Š$ƒŠ)¨Š)ÒŠüŠ!‹Y=‹(—‹À‹#Ý‹ Œ$"Œ*GŒ"rŒV•ŒEìŒ'2Z8u® ³ÔìŽ9Ž)RŽ8|Ž;µŽ>ñŽ,0*]6ˆ=¿:ý68/o7ŸE×7‘7U‘G‘>Õ‘;’-P’.~’/­’;Ý’7“+Q“5}“5³“<é“:&”*a”6Œ”0ÔRô”+G•5s•©•®•1Ê•,ü•2)–4\–2‘–,Ä–0ñ–3"—;V—0’—H×8 ˜AE˜S‡˜+Û˜0™38™5l™6¢™ ٙ癚.š =š Jš+Xš„š)Šš#´š)Øš ›#›X?›˜›*±›Ü› .'œ0Vœ/‡œ·œ6Öœ@ NAV˜1°âþ žž7ž)Pž zž›ž0´ž$åž ŸŸMŸ4bŸC—Ÿ*ÛŸ! $( M 3b "– Z¹ g¡?|¡3¼¡2ð¡##¢JG¢r’¢>£%D£$j£4£"Ä£/ç£M¤!e¤,‡¤&´¤7Û¤+¥0?¥$p¥2•¥.È¥.÷¥/&¦2V¦1‰¦0»¦/ì¦8§2U§6ˆ§/¿§)ï§$¨#>¨-b¨'¨(¸¨/á¨/©1A©0s©+¤©.Щ)ÿ©$)ª-NªA|ª¾ªݪ4ùªH.«7w«B¯«Aò«U4¬ Ь#—¬ »¬BŬ'­B0­Cs­+·­-ã­/®A®6X®®A˜®;Ú®¯06¯g¯ ~¯K‹¯ׯö¯1°%E°k°o°(s°œ°C¢°*æ°!± 3± T±a±ãj±N²?f²3¦²#Ú²+þ²"*³M³Ed³1ª³(ܳ´´+"´N´ÝQ´/µ7µLµdµ&iµµÝ¢µ‚€¶·· ·<·,E·+r·-ž·sýl|n‚7[b[¥TŽAeU~F<d åI,5pƒ¬ jJ”B1‘ï‚öŒ9¤¨›3úXL„чRc.ì%G,—`YzN§ˆ“KÞùà…‹Êâ@ü=ðN_bx±O^Ä”8• 4!XR+ãiE×CMŒ’-hg_˜¶^)ˆÛÖ ~ò+„y)¦{*LZ´J‘¹@#˜Wç…§ÐÇ›³·V\íy÷3¡ƒ†ž`BHl;ê8™Òw ©v‡†G#j5ÿÅÂ̪ÕØ­o ¶ŸøßÉ/Æ « q]¦M cz(­µ/I\-o%}OÈ0"HsõYQ6fÝš•m& .Ó»¥¢æ©ämÔ€k’° û=?ˬÀ;uWD“&žQa2]¯aÍ(‰C4³$þ®|{t"á6ôw£t¼PšV‹Ã¾Ž:¤ϸF¨fkP霙ºv´nrÎÜîª ZTUp'hSgAr ¢½µqœ'*xñ<9ŸŠiÁŠèÙ>d°ë²®>K271Dó–:!–?0¡‰S£u}«¿E¯²Ú€$e—±Ì·Ó·ü$%$%8%L%`%Ú·ÿÿÿÿü·3ÿÿÿÿ1¸3ÿÿÿÿf¸ÿÿÿÿޏ>ÿÿÿÿθ>ÿÿÿÿ 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 %d more denied access not shown here…%d more denied accesses not shown here…(auth) Cannot open file: %s - %s (auth) Cannot open template file: %s - %s (authfail) Cannot open file %s (convlog) Cannot open log file %s - %s (dansguardian) Cannot open log file: %s (dansguardian_report) Cannot open log file %s (datafile) Cannot open file %s (denied) Cannot open log file %s (download) Cannot open log file %s (email) Cannot open file %s (getconf) Cannot open file %s (gethexclude) Cannot open file %s - %s (getusers) Cannot open file %s - %s (grepday) Cannot open log file %s (grepday) Cannot open output file %s (grepday) Fontname %s not found (grepday) iconv cannot convert from %s to UTF-8 - %s (grepday) iconv failed to convert string "%s" from %s to UTF-8 - %s (html10) Cannot open file %s (html3) Cannot open file %s (html5) Cannot open file %s (html6) Cannot open file %s (html7) Cannot open file %s (html8) Cannot open file %s (html9) Cannot open file %s (index) Cannot open file %s (index) Cannot open file %s - %s (index) rename error from "%s" to "%s" - %s (lastlog) Cannot open temporary file %s (log) Cannot open file: %s - %s (log) Cannot open log file: %s - %s (log) Cannot open temporary file: %s - %s (realtime) mkstemp error - %s (realtime) open error %s - %s (removetmp) Cannot open file %s (removetmp) directory too long to remove %s/sarg-period (repday) Cannot open log file %s (report) Cannot open file %s (siteuser) Cannot open log file %s (smartfilter) Cannot open file %s (smartfilter) Cannot open log file %s (splitlog) Cannot open log file %s - %s (squidguard) Cannot open log file %s (topsites) Cannot open log file %s (topuser) Cannot open file %s (totday) Cannot open log file %s (useragent) Cannot open file %s (usertab) Cannot open file %s - %s (util) Can't open directory %s: %s (util) Cannot open file %s (exclude_codes) ACCESSED SITEAVERAGEAuthentication FailuresAuto refreshBanning list name too long in redirector log file %s Banning source name too long in redirector log file %s CAUSECREATION DATECannot bind to LDAP server: %s Cannot convert local time: %s Cannot convert the timestamp from the squid log file Cannot copy images to target directory %simages 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 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 Cannot open DansGuardian config file: %s Cannot open config file: %s - %s Cannot open exclude_hosts file: %s - %s Cannot open fileCannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot stat "%s" - %s Common log format Could not set LDAP protocol version %d DATE/TIMEDAYSDENIEDDatafile %s written successfully Date too long or invalid in %s Day reportDecompressing log file "%s" with bzcat Decompressing log file "%s" with zcat Decreasing Access (bytes)DeniedDenied accessesDestination directory too long: %s/%s Directory name too long: %s%s Download suffix list too long ELAPSED TIMEERROR: Cannot load. Memory fault End 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 close %s after writing the total line - %s Failed to close file %s - %s Failed to close the index file %s - %s Failed to close the log file of user %s - %s Failed to close the top user list %s - %s Failed to copy image %s to %s Failed to get the %d trailing lines of %s: %s Failed to get the creation time of %s Failed to get the current time Failed to move till the end of the excluded codes file %s: %s Failed to move till the end of the excluded users file %s: %s Failed to move till the end of the users file %s: %s Failed to move till the end of the usertab 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 rewind the excluded codes file %s: %s Failed to rewind the excluded users file %s: %s Failed to rewind the users file %s: %s Failed to rewind the usertab file %s: %s Failed to write the date in %s Failed to write the total line in %s File %s already exists, moved to %s File name too long: %s/%s%s File name too long: %s/%s.ip File name too long: %s/%s/.htaccess File not found: %s Generated byGraph reportGraphicHour string too long in redirector log file %s IP address too long in redirector log file %s IP address too long or invalid in %s IP/NAMEIgnoring old log file %s Init Invalid IP address in file %s Invalid URL in file %s Invalid buffer passed to getword_ptr Invalid cache hit size in %s Invalid cache miss size in %s Invalid date found in file %s Invalid date in file %s Invalid date range passed on command line Invalid elapsed time in %s Invalid elapsed time in file %s Invalid entry in file %s Invalid number of accesses in %s Invalid number of bytes in %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 weeks in -d parameter Invalid path (%s). Please, use absolute paths only. Invalid redirected list in file %s Invalid redirected source in file %s Invalid rule in file %s Invalid source IP in file %s Invalid time found in file %s Invalid time in file %s Invalid total cache hit in %s Invalid total cache miss in %s Invalid total elapsed time in %s Invalid total number of accesses in %s Invalid total size in %s Invalid user in file %s 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 file name too long passed on command line with option -l: %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) MONTHMaking Useragent report Making file: %s/%s Making index.html Making report: %s Maybe a broken record or garbage was returned by %s Maybe you have a broken IP in your %s file Maybe you have a broken access code in your %s file Maybe you have a broken amount of data in your %s file Maybe you have a broken client IP address in your %s file Maybe you have a broken date in your %s file Maybe you have a broken day in your %s file Maybe you have a broken day in your %s%s/sarg-date file Maybe you have a broken download duration in your %s file Maybe you have a broken download size in your %s file Maybe you have a broken elapsed time in your %s file Maybe you have a broken month in your %s file Maybe you have a broken month in your %s%s/sarg-date file Maybe you have a broken record or garbage in "date_format" parameter Maybe you have a broken record or garbage in file %s Maybe you have a broken record or garbage in your %s file Maybe you have a broken record or garbage in your exclusion string Maybe you have a broken request method in your %s file Maybe you have a broken result code in your %s file Maybe you have a broken rule in your %s file Maybe you have a broken size in your %s file Maybe you have a broken time in your %s file Maybe you have a broken time in your %s%s/sarg-date file Maybe you have a broken time in your access.log file Maybe you have a broken url in your %s file Maybe you have a broken user ID in your %s file Maybe you have a broken user IP in your %s file Maybe you have a broken useragent entry in your %s file Maybe you have a broken week day in your %s%s/sarg-date file Maybe you have a broken year in your %s file Maybe you have a broken year in your %s%s/sarg-date file 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" Name 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 file %s Not enough memory to read the denied accesses Not enough memory to read the downloaded files Not enough memory to read the downloaded files. Not enough memory to read the file %s Not enough memory to read the log file Not enough memory to read the log file %s Not enough memory to read the processed redirector log Not enough memory to read the redirector log 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 Not enough memory to store the user %s Output file name too long: %s/%s/%s.html Output file name too long: %s/%s/d%s.html Parameters: Path too long %s/%s.ip PeriodPeriod covered by log files: %s-%s Period: %sPeriod: %s Purging temporary file sarg-general RULEReading DansGuardian log file: %s Reading access log file: %s Reading access log file: from stdin Reading redirector log file %s Reading useragent log: %s Redirector log file name too long passed on command line with opton -L: %s Redirector reportRemoving old report file %s SARG Version: %s SARG reportSARG reportsSARG report for %sSARG: Records in file: %lu, reading: %3.2f%%SARG: Records in file: %lu, reading: %3.2f%% SARG: Records in file: %lu, reading: %3.2lf%%SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESarg compiled to report warnings if the output is inconsistent Sarg log format Sarg parsed log saved as %s Site access reportSites & UsersSort: %s, %sSort: %s, %sSorting file: %s Squid User Access ReportSquid Useragent's ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETYPETemplate file name is too long in parameter "AuthUserTemplateFile" Temporary file name too long: %s/%s.utmp 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 %s failed 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 list of the users is too long in your %s file. 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 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 url is invalid in file %s The user ID at column 8 is too long The user at column 9 is too long There a broken total number of access in file %s There is a broken IP address in file %s There is a broken access code in file %s There is a broken date in file %s There is a broken downloaded size in file %s There is a broken elapsed time in file %s There is a broken elpased time in file %s There is a broken in cache column in file %s There is a broken in-cache size in file %s There is a broken in-cache volume in file %s There is a broken number of access in file %s There is a broken number of bytes in file %s There is a broken out of cache column in file %s (%d) There is a broken out-cache volume in file %s There is a broken out-of-cache size in file %s There is a broken record or garbage in file %s There is a broken smart info in file %s There is a broken time in file %s There is a broken url in file %s There is a broken user ID in file %s There is a broken user in file %s There is a invalid user in file %s There is an invalid IP address in file %s There is an invalid elapsed time in file %s There is an invalid number of access in file %s There is an invalid number of bytes in file %s There is an invalid smart info in file %s There is an invalid user ID in file %s There is an invalid useragent in file %s 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 in %s Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option -l. 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 Too many redirector logs passed on command line with option -L. Top %d sitesURL too long or invalid in %s USERSUnknown color "%s" requested for the graph. Using orange instead Unknown input log file format 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" 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 reportUser: %sValue "%s" conflicts with other selected values for parameter "%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 YEARYesYou have an invalid user in your %s file bytescannot build the sort command to sort file %s cannot open %s for writing cannot stat %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 reportdecompression command too long for log file %s directory name to delete too long: %s/%s directory name too long: %s failed to create link "%s" to "%s" - %s failed to rename %s to %s - %s getword backtrace: libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s malloc error (%ld bytes required) malloc error (%ld) normalnot enough memory to sort the index onredirector_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. reversesarg version: %s 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. tail command: %s timeunknown path type %s useruser name too long for %s/%s.day user name too long for %s/%s/%s user name too long to sort %s Project-Id-Version: sarg 2.3.1 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: 2011-02-03 16:40-0200 Last-Translator: Mauricio Silveira Language-Team: American English Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Lokalize 1.0 Hora (-t) = %s Usuário (-u) = %s Relatório de IP (-i) = %s Log de entrada (-l) = %s Diretório de saída (-o) = %s Arquivo de configuração (-f) = %s Formato de data (-g) = Europeu (dd/mm/yyyy) Formato de data (-g) = Sites & Usuários (yyyy/ww) Formato de data (-g) = USA (mm/dd/yyyy) Arquivo de exclusão (-c) = %s Site acessado (-s) = %s Diretório temporário (-w) = %s Log de useragent (-b) = %s Mensagens de debug (-x) = %s Redirector log (-L) = %s Data de-até (-d) = %s Processar mensagens (-z) = %s Resolver endereço IP (-n) = %s Hostname ou endereço IP (-a) = %s E-mail para envio de relatórios (-e) = %s Registros lidos: %ld Registros lidos: %ld, escritos: %ld, excluídos: %ld %d outro acesso negado não exibido aqui…%d outros acessos negados não exibidos aqui…(auth) Não foi possível abrir o arquivo: %s - %s (auth) Não foi possível abrir o arquivo de template: %s - %s (authfail) Não foi possível abrir o arquivo %s (convlog) Não foi possível abrir o arquivo de log %s - %s (dansguardian) Não foi possível abrir o arquivo de log: %s (dansguardian_report) Não foi possível abrir arquivo de log %s (datafile) Não foi possível abrir o arquivo %s (denied) Não foi possível abrir o arquivo de log %s (download) Não foi possível abrir arquivo de log %s (email) Não foi possível abrir o arquivo %s (getconf) Não foi possível abrir o arquivo %s (gethexclude) Não foi possível abrir o arquivo %s - %s (getusers) Não foi possível abrir o arquivo %s - %s (grepday) Não foi possível abrir arquivo de log %s (grepday) Não foi possível abrir o arquivo de saída %s (grepday) Fontname %s não foi encontrada (grepday) iconv não conseguiu converter %s para UTF-8 - %s (grepday) iconv não conseguiu converter a string "%s" de %s para UTF-8 - %s (html10) Não foi possível abrir o arquivo %s (html3) Não foi possível abrir o arquivo %s (html5) Não foi possível abrir o arquivo %s (html6) Não foi possível abrir o arquivo %s (html7) Não foi possível abrir o arquivo %s (html8) Não foi possível abrir o arquivo %s (html9) Não foi possível abrir o arquivo %s (index) Não foi possível abrir o arquivo %s (index) Não foi possível abrir o arquivo %s - %s (index) erro ao renomear de "%s" para "%s" - %s (lastlog) Não foi possível abrir o arquivo temporário %s (log) Não foi possível abrir o arquivo: %s - %s (log) Não foi possível abrir o arquivo de log: %s - %s (log) Não foi possível abrir arquivo temporário: %s - %s (realtime) erro de mkstemp - %s (realtime) Erro no open %s - %s (removetmp) Não foi possível abrir o arquivo %s (removetmp) diretório muito longo para remover %s/sarg-period (repday) Não foi possível abrir arquivo de log %s (report) Não foi possível abrir o arquivo %s (siteuser) Não foi possível abrir arquivo de log %s (smartfilter) Não foi possível abrir o arquivo %s (smartfilter) Não foi possível abrir arquivo de log %s (splitlog) Não foi possível abrir arquivo de log %s - %s (squidguard) Não foi possível abrir arquivo de log %s (topsites) Não foi possível abrir arquivo de log %s (topuser) Não foi possível abrir o arquivo %s (totday) Não foi possível abrir arquivo de log %s (useragent) Não foi possível abrir o arquivo %s (usertab) Não foi possível abrir o arquivo %s - %s (util) Não foi possível abrir o diretório %s: %s (util) Não foi possível abrir o arquivo %s (exclude_codes) SITE ACESSADOMÉDIAFalhas de autenticaçãoAtualização automáticaBanindo nome de lista muito longo no arquivo de redirector log %s Banindo nome de origem muito longo no arquivo redirector log %s CAUSADATA DE CRIAÇÃONão foi possível fazer bind no servidor LDAP: %s Não foi possível converter hora local: %s Não foi possível converter a hora do arquivo de log Não foi possível copiar imagens para o diretório de destino %simages Não foi possível criar o diretório de saída contento pontuação como parte do nome Não foi possível verificar o tamanho do disco com o comando %s Não foi possível verificar o espaço em disco porque o caminho %s%s é muito longo Não foi possível verificar o espaço em disco com o comando %s Não foi possível verificar a data de modificação do arquivo de log de entrada %s (%s). Processando-o mesmo assim Não foi possível verificar o tamanho do arquivo %s Não foi possível abrir o arquivo de configuração do DansGuardian: %s Não foi possível abrir arquivo de configuração: %s - %s Não foi possível abrir o arquivo exclude_hosts: %s - %s Não foi possível abrir o arquivoNão foi possível abrir arquivo de log do squidGuard: %s Não foi possível analisar novamente a linha, pois foi modificada Não foi possível fazer stat "%s" - %s Formato de log comum Não foi possível determinar a versão do protocolo LDAP %d DATA/HORADIASNEGADODatafile %s escrito com sucesso Data muito longa ou inválida em %s Relatório do diaDescomprimindo arquivo de log "%s" com bzcat Descomprimindo arquivo de log "%s" com zcat Acesso Decrescente (bytes)NegadoAcessos negadosDiretório de destino muito longo: %s/%s Nome de diretório muito longo: %s%s Lista de sufixo de download muito longa TEMPO DECORRIDOERRO: Não foi possível carregar. Falha de memória Fim Erro: Sintaxe inválida na tag horas! Erro: Sintaxe inválida na tag weekdays! Código de exclusão: %s Site excluído: %s Usuário excluído: %s ARQUIVO/PERÃODOFalha ao construir a representação de string do intervalo de data Falha ao fechar %s depois de escrever a linha completa - %s Erro ao fechar o arquivo %s - %s Falha ao fechar o arquivo de index %s - %s Falha ao fechar o arquivo de log do usuário %s - %s Falha ao fechar a lista top user %s - %s Falha ao copiar imagem %s para %s Falha ao ler as %d linhas seguintes de %s: %s Falha ao verificar a data de criação de %s Falha ao obter a hora atual Falha ao mover para o final do arquivo de códigos excluídos %s: %s Falha ao mover até o final do arquivo de usuários excluídos %s: %s Falha ao mover até o final do arquivo de usuários %s: %s Falha ao mover até o fim do arquivo de usertab %s: %s Erro 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 retroceder no arquivo de códigos excluídos %s: %s Falha ao retroceder o arquivos de usuários excluídos %s: %s Falha ao retroceder no arquivo de usuários %s: %s Não foi possível retroceder no arquivo de usertab %s: %s Falha ao escrever a data em %s Falha ao escrever o total de linhas em %s Arquivo %s já existe, movido para %s Nome de arquivo muito longo : %s/%s%s Nome de arquivo muito longo: %s/%s.ip Nome de arquivo muito longo: %s/%s/.htaccess Arquivo não encontrado: %s Gerado porRelatório GráficoGráficoString de hora muito longa no arquivo de redirector log %s Endereço IP muito longo no arquivo redirector log %s Endereço IP muito longo ou inválido em %s IP/NOMEIgnorando arquivo de log antigo %s Inicialização Endereço IP inválido no arquivo %s URL inválida no arquivo %s Buffer inválido passado para o getword_ptr Tamanho de cache hit inválido em %s Tamanho de cache miss inválido em %s Data inválida encontrada no arquivo %s Data inválida no arquivo %s Intervalo de tempo inválido passado pela linha de comando Tempo decorrido inválido em %s Tempo decorrido inválido no arquivo %s Entrada inválida no arquivo %s Número de acessos inválidos em %s Número de bytes inválido em %s Número inválido de bytes no arquivo %s Número inválido de dias no parâmetro -d Número inválido de meses no parâmetro -d Número inválido de semanas no parâmetro -d Caminho inválido (%s). Por favor, use apenas caminhos completos. Lista redirecionada inválida no arquivo %s Origem redirecionada inválida no arquivo %s Regra inválida no arquivo %s IP de origem inválido no arquivo %s Hora inválida encontrada no arquivo %s Hora inválida no arquivo %s Total de cache hit inválido em %s Total de cache miss inválido em %s Total de tempo decorrido inválido em %s Número total de acessos inválido em %s Tamanho total inválido em %s Usuário inválido no arquivo %s Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,DezembroMódulo LDAP não foi compilado no sarg Pesquisa no LDAP falhou: %s Carregando tabela de Usuários: %s Carregando configuração de %s Carregando arquivo de exclude de %s Carregando arquivo de exclude host de: %s Carregando arquivo de senha de %s Nome de arquivo de log muito longo passado pela linha de comando com a opção -l: %s Nome de arquivo de log muito longo passado pela linha de comando: %s Arquivo de log é do Microsoft ISA: %s Log com formato inválido Log com formato de registros mistos (squid e log comum) MÊSGerando relatório de Useragent Gerando arquivo: %s/%s Gerando index.html Gerando relatório: %s Talvez um registro quebrado ou lixo foi retornada por %s Talvez haja um IP quebrado no arquivo %s Talvez haja um código de acesso quebrado no arquivo %s Talvez haja uma quantidade de dados quebrada no arquivo %s Talvez haja um endereço IP de cliente quebrado no arquivo %s Talvez haja uma data quebrada no arquivo %s Talvez haja um dia quebrado no arquivo %s Talvez haja um dia quebrado no arquivo %s%s/sarg-date Talvez haja uma duração de download quebrada no arquivo %s Talvez haja um tamanho de download quebrado no arquivo %s Talvez haja um tempo decorrido quebrado no arquivo %s Talvez haja um mês quebrado no seu arquivo %s Talvez haja um mês quebrado no arquivo %s%s/sarg-date Talvez haja um registro quebrado ou lixo no parâmetro "date_format" Talvez haja um registro quebrado ou lixo no arquivo %s Talvez haja um registro quebrado ou lixo no arquivo %s Talvez haja um registro quebrado ou sujeira na sua string de exclusão Talvez haja um método de requisição quebrado no arquivo %s Talvez haja um código de resultado quebrado no arquivo %s Talvez haja uma regra quebrada no arquivo %s Talvez haja um tamanho quebrado no arquivo %s Talvez haja um horário quebrado no arquivo %s Talvez haja um horário quebrado no arquivo %s%s/sarg-date Talvez haja um horário quebrado no arquivo access.log Talvez haja uma url quebrada no arquivo %s Talvez haja um ID de usuário quebrado no arquivo %s Talvez haja um IP de usuário quebrado no arquivo %s Talvez haja uma entrada de useragent quebrada no arquivo %s Talvez haja uma semana quebrada no arquivo %s%s/sarg-date Talvez haja um ano quebrado no arquivo %s Talvez haja um ano quebrado no arquivo %s%s/sarg-date Falta de aspas duplas depois do parâmetro "%s" Faltando aspas duplas depois do parâmetro "%s" ou valor é maior do que %d bytes Falta a segunda palavra do parâmetro "%s" Nome do arquivo a ser removido é muito longo: %s/%s NãoNenhum registro encontrado Memória insuficiente para ler um arquivo de log Memória insuficiente para ler o arquivo %s Memória insuficiente para ler os acessos negados Memória insuficiente para ler os arquivos baixados Memória insuficiente para ler o arquivo baixado. Memória insuficiente para ler o arquivo %s Memória insuficiente para ler o arquivo de log Memória insuficiente para ler o arquivo de log %s Memória insuficiente para ler o redirector log processado Memória insuficiente para ler o redirector log Memória insuficiente para armazenar o nome de diretório "%s" no index Memória insuficiente para armazenar as URLs excluídas Memória insuficiente para armazenar os endereços IP excluídos Memória insuficiente para armazenar o nome do novo redirector log a ser lido - %s Memória insuficiente para armazenar a url Memória insuficiente para armazenar o usuário Memória insuficiente para armazenar o usuário %s Nome de arquivo de saída muito longo: %s/%s/%s.html Nome de arquivo de saída muito longo: %s/%s/d%s.html Parâmetros: Caminho muito longo %s/%s.ip PeríodoPeríodo coberto pelos arquivos de log: %s-%s Período: %sPeríodo: %s Excluindo arquivo temporário sarg-general REGRALendo arquivo de log do DansGuardian: %s Lendo arquivo de log de acesso: %s Lendo arquivo de log de acesso: de stdin Lendo arquivo redirector log %s Lendo log de useragent: %s Nome de "redirector log" muito longo passado pela linha de comando com a opção -L: %s Relatório do RedirectorRemovendo arquivo de relatório antigo %s SARG Versão: %s relatório SARGrelatórios SARGRelatório SARG para %sSARG: Registros no arquivo: %lu, lendo %3.2f%%SARG: Registros no arquivo: %lu, lendo: %3.2f%% SARG: Registros no arquivo: %lu, lendo %3.2lf%%SARG: Opção desconhecida %s SARG: relatório para %04dSARG: relatórios para %04dSARG: relatório para %04d/%02dSARG: relatórios para %04d/%02dTAMANHOSarg compilado para relatar avisos se a saída for inconsistente Formato de log do sarg Arquivo de log analisado pelo sarg salvo como %s Relatório de acesso a siteSites & UsuáriosOrdem: %s, %sOrdenação: %s, %sOrdenando o arquivo: %s Relatório de Acesso de Usuário do SquidRelatório de Useragent do SquidFormato de log do squid Relatório gerado com sucesso e enviado para %s Relatório gerado com sucesso em %s HORATIPONome de arquivo de template muito longo no parâmetro "AuthUserTemplateFile" Nome de arquivo temporário muito longo: %s/%s.utmp O parâmetro "byte_cost" do arquivo de configuração é inválido 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 falhou A duração de conexão na coluna 2 é muito longa A data na coluna 8 é muito longa A data passada como argumento não é formatada como dd/mm/yyyy ou dd/mm/ yyyy-dd/mm/yyyy O intervalo de tempo passado como argumento não é formatado como dd/mm/yyyy ou dd/mm/yyyy-dd/mm/yyyy A primeira palavra do parâmetro "%s" é maior do que %d bytes O valor do integer do parâmetro "%s" é inválido A lista de usuários é muito longa no arquivo %s O nome do arquivo é inválido: %s O diretório de saída "%s" deve ser fora do diretório temporário "%s " O número de dígitos necessários passados para my_lltoa (%d) é maior do que o tamanho do buffer de saída (%d) A segunda palavra do parâmetro "%s" é maior do 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 na coluna 1 é muito longa O total do in-cache e cache-miss não é 100%% O total do in-cache e cache-miss não é 100%% na posição %d (usuário %s) A URL é inválida no arquivo %s O ID de usuário na coluna 8 é muito longo O usuário na coluna 9 é muito longo Há um número total de acessos quebrado no arquivo %s Há um endereço IP quebrado no arquivo %s Há um código de acesso quebrado no arquivo %s Há uma data quebrada no arquivo %s Há um tamanho quebrado de download no arquivo %s Há um tempo decorrido quebrado no arquivo %s Há um tempo decorrido quebrado no arquivo %s Há uma coluna in cache quebrada no arquivo %s Há um tamanho de in-cache quebrado no arquivo %s Há um volume de in-cache quebrado no arquivo %s Há um número quebrado de acesso no arquivo %s Há um número quebrado de bytes no arquivo %s Há uma coluna out of cache quebrada no arquivo %s (%d) Há um volume de out-cache quebrado no arquivo %s Há um tamanho de out-of-cache quebrado no arquivo %s Há um registro quebrado ou lixo no arquivo %s Há um smart info quebrado no arquivo %s Há uma hora quebrada no arquivo %s Há uma url quebrada no arquivo %s Há um ID de usuário quebrado no arquivo %s Há um usuário quebrado no arquivo %s Há um usuário inválido no arquivo %s Há um endereço de IP inválido no arquivo %s Há um tempo decorrido inválido no arquivo %s Há um número inválido de acesso no arquivo %s Há um número inválido de bytes no arquivo %s Há uma smart info inválida no arquivo %s Há um ID de usuário inválido no arquivo %s Há um useragent inválido no arquivo %s Hora muito longa ou inválida em %s Muitos códigos para exclusão no arquivo %s Muitos diretórios de dia em %s Entradas Supernumerary ignoradas Muitas datas diferentes em %s Muitos sufixos de download Muitos arquivos de log no arquivo de configuração Muitos arquivos de log passados pela linha de comando com a opção -l. Muitos arquivos de log passados pela linha de comando. Muitos diretórios de mês em %s Entradas Supernumerary ignoradas Muitos arquivos de "redirector log" no arquivo de configuração Muitos arquivos de "redirector log" passados pela linha de comando com a opção -L. Top %d sitesURL muito longa ou inválida em %s USUÃRIOSCor desconhecida "%s" requisitada para o gráfico. Usando laranja Formato de log de entrada desconhecido Critério de ordenação "%s" desconhecido para o parâmetro "%s" Sequência de ordenação "%s" desconhecida para o parâmetro "%s" Tipo desconhecido %d para escala do eixo Y ID de usuário %s desconhecido no arquivo %s Valor "%s" desconhecido para o parâmetro "%s" Uso: %s [opções...] Usar Endereço IP ao invés de userid (-p) = %s UsuárioLimite do usuário %s excedido (%d MB). Adicionado ao arquivo %s ID de usuário muito longo no arquivo de redirector log %s ID de usuário muito longo: %s Nome de usuário muito longo ou inválido em %s Relatório de usuárioUsuário: %sO valor "%s" conflita com outros valores selecionados para parâmetro "%s" Erro de escrita no arquivo %s Erro de escrita no index %s Erro de escrita no arquivo de log do usuário %s Erro de escrita na lista top user %s ANOSimHá um usuário inválido no arquivo %s bytesNão foi possível montar o comando sort para ordenar o arquivo %s não foi possível abrir %s para escrever não foi possível fazer stat %s status de retorno do comando %d comando: %s conectardansguardian_ignore_date é obsoleto e foi substituído por dansguardian_filter_out_date que executa a ação implícita por seu nome, ao contrário de dansguardian_ignore_date. Por favor atualize seu arquivo de configuração Relatório de data/horacomando de descompressão muito longo para o arquivo de log %s nome de diretório para excluir muito longo: %s/%s nome de diretório muito longo: %s falha ao criar link de "%s" para "%s" - %s falha ao renomear %s para %s - %s backtrace do getword: libgd não conseguiu calcular a caixa delimitadora de texto "%s": %s libgd não conseguiu renderizar o texto "%s": %s erro de malloc (%ld bytes necessários) Erro de malloc (%ld) normalmemória insuficiente para ordenar o index emredirector_ignore_date é obsoleto e foi substituído por redirector_filter_out_date que executa a ação implícita por seu nome, ao contrário de redirector_ignore_date. Por favor atualize seu arquivo de configuração reversoversão do sarg: %s Erro de setrlimit - %s siteStatus de retorno do comando sort: %d comando sort: %s squidguard_ignore_date é obsoleto e foi substituído por redirector_filter_out_date que executa a ação implícita por seu nome, ao contrário de 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. comando tail: %s tempotipo de caminho desconhecido %s usuárioNome de usuário muito longo para %s/%s.day Nome de usuário muito longo para %s/%s/%s nome de usuário muito longo para ordenar %s PRIu64PRId64realloc 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: % Erro de realloc (% bytes necessários) Mínimo para a escala Y do gráfico está fora do intervalo: % Máximo para a escala Y do gráfico está fora do intervalo: % sarg-2.3.6/po/pt_BR.po0000644000000000000000000027625712135004006013152 0ustar rootroot# Brazilian portuguese translation for SARG. # Copyright (C) 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the SARG package. # # Mauricio Silveira , 2011. msgid "" msgstr "" "Project-Id-Version: sarg 2.3.1\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: 2011-02-03 16:40-0200\n" "Last-Translator: Mauricio Silveira\n" "Language-Team: American English \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "Nome de arquivo muito longo: %s/%s/.htaccess\n" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "(auth) Não foi possível abrir o arquivo: %s - %s\n" #: auth.c:51 #, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "(auth) Não foi possível abrir o arquivo de template: %s - %s\n" #: authfail.c:34 #, fuzzy, c-format msgid "%d more authentication failure not shown here…" msgid_plural "%d more authentication failures not shown here…" msgstr[0] "%d outro acesso negado não exibido aqui…" msgstr[1] "%d outros acessos negados não exibidos aqui…" #: authfail.c:75 authfail.c:97 authfail.c:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "não foi possível deletar %s - %s\n" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "Status de retorno do comando sort: %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "comando sort: %s\n" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "(authfail) Não foi possível abrir o arquivo %s\n" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "Falhas de autenticação" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "Período: %s" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "IP/NOME" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "DATA/HORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "SITE ACESSADO" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "Memória insuficiente para ler o arquivo %s\n" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "Há uma data quebrada no arquivo %s\n" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "Há uma hora quebrada no arquivo %s\n" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "Há um ID de usuário quebrado no arquivo %s\n" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "Há um endereço IP quebrado no arquivo %s\n" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "Há uma url quebrada no arquivo %s\n" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "ID de usuário %s desconhecido no arquivo %s\n" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "Erro de escrita no arquivo %s\n" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "Erro ao fechar o arquivo %s - %s\n" #: convlog.c:48 #, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "(convlog) Não foi possível abrir o arquivo de log %s - %s\n" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Memória insuficiente para ler o arquivo de log %s\n" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "Talvez haja um registro quebrado ou lixo no arquivo %s\n" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "" " Não foi possível abrir o arquivo de configuração do DansGuardian: %s\n" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "(dansguardian) Não foi possível abrir o arquivo de log: %s\n" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "Talvez haja um registro quebrado ou lixo no arquivo %s\n" #: dansguardian_log.c:80 #, fuzzy, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "Muitos arquivos de log no arquivo de configuração\n" #: dansguardian_log.c:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Lendo arquivo de log do DansGuardian: %s\n" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Data inválida encontrada no arquivo %s\n" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Hora inválida encontrada no arquivo %s\n" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Data inválida encontrada no arquivo %s\n" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Endereço IP inválido no arquivo %s\n" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "Talvez haja uma url quebrada no arquivo %s\n" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132 #, c-format msgid "Sorting file: %s\n" msgstr "Ordenando o arquivo: %s\n" #: dansguardian_report.c:34 #, fuzzy, c-format msgid "%d more dansguardian entry not shown here…" msgid_plural "%d more dansguardian entries not shown here…" msgstr[0] "%d outro acesso negado não exibido aqui…" msgstr[1] "%d outros acessos negados não exibidos aqui…" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "(dansguardian_report) Não foi possível abrir arquivo de log %s\n" #: dansguardian_report.c:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "(dansguardian_report) Não foi possível abrir arquivo de log %s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "CAUSA" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "Talvez haja uma regra quebrada no arquivo %s\n" #: datafile.c:72 html.c:82 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Memória insuficiente para armazenar o usuário %s\n" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file: %s/%s\n" msgstr "Gerando arquivo: %s/%s\n" #: datafile.c:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "(datafile) Caminho de diretório muito longo: %s/%s\n" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "(datafile) Não foi possível abrir o arquivo %s\n" # TODO: Check better translation later, if possible #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "Memória insuficiente para ler o arquivo baixado.\n" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "Há um registro quebrado ou lixo no arquivo %s\n" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "Há uma smart info inválida no arquivo %s\n" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "Memória insuficiente para armazenar a url\n" # TODO: Check if Datafile needs translation #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "Datafile %s escrito com sucesso\n" #: decomp.c:36 #, c-format msgid "File not found: %s\n" msgstr "Arquivo não encontrado: %s\n" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Descomprimindo arquivo de log \"%s\" com zcat\n" #: decomp.c:44 decomp.c:54 decomp.c:64 #, c-format msgid "decompression command too long for log file %s\n" msgstr "comando de descompressão muito longo para o arquivo de log %s\n" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Descomprimindo arquivo de log \"%s\" com bzcat\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 outro acesso negado não exibido aqui…" msgstr[1] "%d outros acessos negados não exibidos aqui…" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "(denied) Não foi possível abrir o arquivo de log %s\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Negado" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "Memória insuficiente para ler os acessos negados\n" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Memória insuficiente para armazenar o usuário %s\n" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, fuzzy, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "nome de usuário muito longo para %s/%s.unsort\n" #: download.c:114 #, fuzzy msgid "No downloaded files to report\n" msgstr "Lista de sufixo de download muito longa\n" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "(download) Não foi possível abrir arquivo de log %s\n" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "Memória insuficiente para ler os arquivos baixados\n" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "Lista de sufixo de download muito longa\n" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "Muitos sufixos de download\n" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "(email) Não foi possível abrir o arquivo %s\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "comando de descompressão muito longo para o arquivo de log %s\n" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "Relatório de Acesso de Usuário do Squid" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "Acesso Decrescente (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "Período" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "TEMPO DECORRIDO" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "HORA" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "Há um ID de usuário inválido no arquivo %s\n" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "Há um número inválido de bytes no arquivo %s\n" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "Há um número inválido de acesso no arquivo %s\n" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "Há um tempo decorrido inválido no arquivo %s\n" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "" # TODO: Check if MÉDIA is really suitable #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "MÉDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Relatório SARG para %s" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "comando tail: %s\n" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "status de retorno do comando %d\n" #: email.c:285 index.c:583 log.c:1685 #, 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 "Memória insuficiente para armazenar os endereços IP excluídos\n" #: exclude.c:161 exclude.c:171 #, c-format msgid "Not enough memory to store the excluded URLs\n" msgstr "Memória insuficiente para armazenar as URLs excluídas\n" #: exclude.c:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Não foi possível abrir o arquivo exclude_hosts: %s - %s\n" # TODO: Check translation #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Carregando arquivo de exclude host de: %s\n" #: exclude.c:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "(gethexclude) Não foi possível abrir o arquivo %s - %s\n" #: exclude.c:214 url.c:594 #, c-format msgid "While reading \"%s\"\n" msgstr "" # TODO: Check if translation is necessary for exclude #: exclude.c:314 #, c-format msgid "Loading exclude file from: %s\n" msgstr "Carregando arquivo de exclude de %s\n" #: exclude.c:322 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "Falha ao mover até o final do arquivo de usuários excluídos %s: %s\n" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "Não foi possível verificar o tamanho do arquivo %s\n" # TODO: Check rewind and excluded users #: exclude.c:332 #, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Falha ao retroceder o arquivos de usuários excluídos %s: %s\n" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\n" msgstr "erro de malloc (%ld bytes necessários)\n" # TODO: check string translation #: 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 de aspas duplas depois do 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 "" "Faltando aspas duplas depois do parâmetro \"%s\" ou valor é maior do 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 do 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 do que %d bytes\n" # TODO: Check integer translation #: getconf.c:300 #, c-format msgid "The integer value of parameter \"%s\" is invalid\n" msgstr "O valor do integer 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 parâmetro \"%s" "\"\n" #: getconf.c:387 #, c-format msgid "Unknown sort criterion \"%s\" for parameter \"%s\"\n" msgstr "Critério de ordenação \"%s\" desconhecido para o parâmetro \"%s\"\n" # TODO: Check translation; seems good to me #: getconf.c:402 #, c-format msgid "Unknown sort order \"%s\" for parameter \"%s\"\n" msgstr "Sequência de ordenação \"%s\" desconhecida para o parâmetro \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "" #: getconf.c:471 #, c-format msgid "" "Maybe you have a broken record or garbage in \"date_format\" parameter\n" msgstr "" "Talvez haja um registro quebrado ou lixo no parâmetro \"date_format\"\n" # TODO: Check if "hour tag" should not be translated #: 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 weekdays!\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" # TODO: Check "redirector log" #: getconf.c:514 #, c-format msgid "Too many redirector log files in configuration file\n" msgstr "Muitos arquivos de \"redirector log\" 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 de 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 "" #: 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 executa a ação implícita por seu nome, ao " "contrário de 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 executa a ação implícita por seu nome, ao " "contrário de 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 executa a ação implícita por seu nome, ao " "contrário de 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\" do arquivo de configuração é inválido\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 "Carregando configuração de %s\n" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "(getconf) Não foi possível abrir o arquivo %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "Erro de realloc (% bytes necessários)\n" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" "(grepday) iconv não conseguiu converter a string \"%s\" de %s para UTF-8 - " "%s\n" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" "libgd não conseguiu calcular a caixa delimitadora de texto \"%s\": %s\n" #: grepday.c:237 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgd não conseguiu renderizar o texto \"%s\": %s\n" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "Mínimo para a escala Y do gráfico está fora do intervalo: %\n" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "Máximo para a escala Y do gráfico está fora do intervalo: %\n" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "Tipo desconhecido %d para escala do eixo Y\n" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "Cor desconhecida \"%s\" requisitada para o gráfico. Usando laranja\n" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, c-format msgid "User: %s" msgstr "Usuário: %s" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "Nome de usuário muito longo para %s/%s/%s\n" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "(grepday) Não foi possível abrir arquivo de log %s\n" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" # TODO: Check if FontName should be "Fonte de nome" or "Nome de fonte" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "(grepday) Fontname %s não foi encontrada\n" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "(grepday) iconv não conseguiu converter %s para UTF-8 - %s\n" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "Nome de usuário muito longo para %s/%s.day\n" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "Data inválida no arquivo %s\n" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "Entrada inválida no arquivo %s\n" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "Número inválido de bytes no arquivo %s\n" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Tempo decorrido inválido no arquivo %s\n" #: grepday.c:738 #, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "(grepday) Não foi possível abrir o arquivo de saída %s\n" #: grepday.c:741 msgid "Graph report" msgstr "Relatório Gráfico" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "DIAS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Nome de arquivo muito longo : %s/%s%s\n" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Nome de arquivo muito longo: %s/%s.ip\n" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "Diretório de destino muito longo: %s/%s\n" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Erro ao abrir o diretório %s - %s\n" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Nome de arquivo de entrada muito longo: %s/%s\n" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "(html3) Não foi possível abrir o arquivo %s\n" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "Nome de arquivo de saída muito longo: %s/%s/%s.html\n" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Nome de arquivo muito longo: %s/%s/denied_%s.html\n" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "Há um número quebrado de acesso no arquivo %s\n" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "Há um tamanho quebrado de download no arquivo %s\n" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "Há um código de acesso quebrado no arquivo %s\n" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "Há um tempo decorrido quebrado no arquivo %s\n" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "Há um volume de in-cache quebrado no arquivo %s\n" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "Há um volume de out-cache quebrado no arquivo %s\n" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "(html5) Não foi possível abrir o arquivo %s\n" #: html.c:181 html.c:187 msgid "User report" msgstr "Relatório de usuário" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "Usuário" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "Ordenação: %s, %s" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "Relatório de data/hora" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "Gerando relatório: %s\n" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "Há um número quebrado de bytes no arquivo %s\n" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "Há uma coluna in cache quebrada no arquivo %s\n" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "Há uma coluna out of cache quebrada no arquivo %s (%d)\n" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "Relatório de data/hora" #: html.c:321 msgid "DENIED" msgstr "NEGADO" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "Nome de arquivo muito longo: %s/%s.ip\n" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "(html6) Não foi possível abrir o arquivo %s\n" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "(html7) Não foi possível abrir o arquivo %s\n" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "Talvez haja um IP de usuário quebrado no arquivo %s\n" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "Talvez haja um dia quebrado no arquivo %s\n" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "Talvez haja um horário quebrado no arquivo %s\n" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "Talvez haja um tamanho quebrado no arquivo %s\n" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "Talvez haja um tempo decorrido quebrado no arquivo %s\n" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "(html8) Não foi possível abrir o arquivo %s\n" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "(html9) Não foi possível abrir o arquivo %s\n" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "(html10) Não foi possível abrir o arquivo %s\n" #: html.c:555 #, c-format msgid "User %s limit exceeded (%d MB). Added to file %s\n" msgstr "Limite do usuário %s excedido (%d MB). Adicionado ao arquivo %s\n" #: index.c:54 #, c-format msgid "Making index.html\n" msgstr "Gerando index.html\n" #: index.c:58 index.c:112 index.c:167 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "Erro ao abrir o diretório %s - %s\n" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "(index) Não foi possível abrir o arquivo %s - %s\n" # TODO: Check where this string is presented. Check if it should start with capital letter or not. #: 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" # TODO: I don't think Supernumerary should be translated but... check it later. Same for other stances of the word #: index.c:182 #, c-format msgid "" "Too many month directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Muitos diretórios de mês em %s\n" "Entradas Supernumerary 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 "MÊS" #: index.c:243 #, c-format msgid "" "Too many day directories in %s\n" "Supernumerary entries are ignored\n" msgstr "" "Muitos diretórios de dia em %s\n" "Entradas Supernumerary 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 index %s\n" #: index.c:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Falha ao fechar o arquivo de index %s - %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 "memória insuficiente para ordenar o index\n" #: index.c:367 #, c-format msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "Talvez haja uma semana quebrada no arquivo %s%s/sarg-date\n" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "Talvez haja um mês quebrado no arquivo %s%s/sarg-date\n" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "Talvez haja um dia quebrado no arquivo %s%s/sarg-date\n" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "Talvez haja um horário quebrado no arquivo %s%s/sarg-date\n" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "Talvez haja um ano quebrado 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 index\n" #: index.c:424 #, c-format msgid "(index) Cannot open file %s\n" msgstr "(index) Não foi possível abrir o arquivo %s\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:101 topsites.c:258 msgid "USERS" msgstr "USUÃRIOS" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" msgstr "(index) erro ao renomear de \"%s\" para \"%s\" - %s\n" #: index.c:572 #, c-format msgid "failed to create link \"%s\" to \"%s\" - %s\n" msgstr "falha ao criar link de \"%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 ser removido é muito longo: %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 "Memória insuficiente para armazenar os endereços IP excluídos\n" #: ip2name.c:279 #, fuzzy, c-format msgid "Cannot resolve host name %s: %s\n" msgstr "não foi possível deletar %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_dns.c:93 #, fuzzy, c-format msgid "" "IP to name resolution (getnameinfo) on IP address \"%s\" failed with error " "%d - %s\n" msgstr "" "Resolução de nome de IP (getnameinfo) do endereço IP %s falhou com o 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 "" #: 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 "Endereço IP muito longo ou inválido em %s\n" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Endereço IP muito longo ou inválido em %s\n" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "comando sort: %s\n" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "comando: %s\n" #: lastlog.c:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "(lastlog) Não foi possível abrir o arquivo temporário %s\n" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "Falha ao verificar a data de criação de %s\n" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "Removendo arquivo de relatório antigo %s\n" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "Nome de diretório muito longo: %s%s\n" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" "Muitos arquivos de log passados pela linha de comando com a opção -l.\n" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" "Nome de arquivo de log muito longo passado pela linha de comando com a opção " "-l: %s\n" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" "Muitos arquivos de \"redirector log\" passados pela linha de comando com a " "opção -L.\n" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" "Nome de \"redirector log\" muito longo passado pela linha de comando com a " "opção -L: %s\n" #: log.c:476 #, fuzzy, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" "O intervalo de tempo passado pela linha de comando com a opção -t é " "inválido\n" #: log.c:484 #, fuzzy, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" "O intervalo de tempo passado pela linha de comando com a opção -t é " "inválido\n" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "Muitos arquivos de log passados pela linha de comando.\n" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "Nome de arquivo de log muito longo passado pela linha de comando: %s\n" # TODO: Check where this displays. Check if there should be other translation or no translation at all. #: log.c:543 #, c-format msgid "Init\n" msgstr "Inicialização\n" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Não foi possível abrir arquivo de configuração: %s - %s\n" #: log.c:655 #, 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 ser fora do diretório temporário \"%s \"\n" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Erro ao abrir o diretório %s - %s\n" #: log.c:677 log.c:710 #, c-format msgid "Parameters:\n" msgstr "Parâmetros:\n" #: log.c:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Hostname ou endereço IP (-a) = %s\n" # TODO: Check #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Log de useragent (-b) = %s\n" # TODO: Check #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Arquivo de exclusão (-c) = %s\n" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Data de-até (-d) = %s\n" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " E-mail para envio de relatórios (-e) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr " Arquivo de configuração (-f) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Formato de data (-g) = Europeu (dd/mm/yyyy)\n" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Formato de data (-g) = USA (mm/dd/yyyy)\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr " Formato de data (-g) = Sites & Usuários (yyyy/ww)\n" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr " Relatório de IP (-i) = %s\n" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "Sim" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "Não" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Diretório temporário (-w) = %s\n" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr " Log de entrada (-l) = %s\n" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " Redirector log (-L) = %s\n" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " Resolver endereço IP (-n) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Diretório de saída (-o) = %s\n" #: log.c:698 log.c:731 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr " Usar Endereço IP ao invés de userid (-p) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " Site acessado (-s) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr " Hora (-t) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr " Usuário (-u) = %s\n" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Diretório temporário (-w) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " Mensagens de debug (-x) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr " Processar mensagens (-z) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "versão do sarg: %s\n" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "Sarg compilado para relatar avisos se a saída for inconsistente\n" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "Erro de setrlimit - %s\n" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "Memória insuficiente para ler um arquivo de log\n" #: log.c:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "(log) Não foi possível abrir o arquivo: %s - %s\n" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "Lendo arquivo de log de acesso: de stdin\n" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" "Não foi possível verificar a data de modificação do arquivo de log de " "entrada %s (%s). Processando-o mesmo assim\n" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "Ignorando arquivo de log antigo %s\n" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "(log) Não foi possível abrir o arquivo de log: %s - %s\n" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "Lendo arquivo de log de acesso: %s\n" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "SARG: Registros no arquivo: %lu, lendo %3.2f%%" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Arquivo de log é do Microsoft ISA: %s\n" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "O nome do arquivo é inválido: %s\n" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Nome de arquivo muito longo: %s/%s.ip\n" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: Registros no arquivo: %lu, lendo %3.2lf%%" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" "Talvez haja um registro quebrado ou sujeira na sua string de exclusão\n" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "Talvez haja um horário quebrado no arquivo access.log\n" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "Talvez haja uma data quebrada no arquivo %s\n" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Hora inválida encontrada no arquivo %s\n" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "Talvez haja um endereço IP de cliente quebrado no arquivo %s\n" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "Talvez haja um código de resultado quebrado no arquivo %s\n" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "Talvez haja uma quantidade de dados quebrada no arquivo %s\n" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "Talvez haja um método de requisição quebrado no arquivo %s\n" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "Talvez haja um ID de usuário quebrado no arquivo %s\n" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "Não foi possível converter a hora do arquivo de log\n" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "Talvez haja um IP quebrado no arquivo %s\n" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "Talvez haja uma duração de download quebrada no arquivo %s\n" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "Talvez haja um tamanho de download quebrado no arquivo %s\n" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "Talvez haja um código de acesso quebrado no arquivo %s\n" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "Talvez haja um ano quebrado no arquivo %s\n" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "Talvez haja um mês quebrado no seu arquivo %s\n" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "Formato de log de entrada desconhecido\n" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "ID de usuário muito longo: %s\n" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "Código de exclusão: %s\n" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "Site excluído: %s\n" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "Usuário excluído: %s\n" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "Memória insuficiente para armazenar o usuário %s\n" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Falha ao fechar o arquivo de log do usuário %s - %s\n" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Nome de arquivo temporário de usuário muito longo: %s/%s.unsort\n" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "(log) Não foi possível abrir arquivo temporário: %s - %s\n" #: log.c:1507 #, 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:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "SARG: Registros no arquivo: %lu, lendo: %3.2f%%\n" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr " Registros lidos: %ld, escritos: %ld, excluídos: %ld\n" #: log.c:1603 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log com formato de registros mistos (squid e log comum)\n" #: log.c:1606 #, c-format msgid "Common log format\n" msgstr "Formato de log comum\n" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "Formato de log do squid\n" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "Formato de log do sarg\n" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "Log com formato inválido\n" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "Nenhum registro encontrado\n" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "Fim\n" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Período coberto pelos arquivos de log: %s-%s\n" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "Falha ao construir a representação de string do intervalo de data\n" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Período: %s\n" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "Período: %s\n" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Nome de arquivo muito longo : %s/%s%s\n" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "falha ao renomear %s para %s - %s\n" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Caminho muito longo %s/%s.ip\n" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Arquivo de log analisado pelo sarg salvo como %s\n" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, c-format msgid "Loading password file from %s\n" msgstr "Carregando arquivo de senha de %s\n" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "(getusers) Não foi possível abrir o arquivo %s - %s\n" # TODO: Check all "move till the end of ..." #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Falha ao mover até o final do arquivo de usuários %s: %s\n" # TODO: Check all "rewind X file" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Falha ao retroceder no arquivo de usuários %s: %s\n" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "Erro de malloc (%ld)\n" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\n" msgstr "Há um usuário inválido no arquivo %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 "" "Memória insuficiente para ler a mais uma linha do arquivo de log de entrada\n" #: realtime.c:56 realtime.c:63 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Não foi possível excluir o arquivo temporário %s - %s\n" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "(realtime) erro de mkstemp - %s\n" #: realtime.c:76 realtime.c:224 #, 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 ler as %d linhas seguintes de %s: %s\n" #: realtime.c:84 #, c-format msgid "tail command: %s\n" msgstr "comando tail: %s\n" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "Talvez um registro quebrado ou lixo foi retornada por %s\n" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "A data na coluna 1 é muito longa\n" #: realtime.c:130 #, fuzzy, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "A data na coluna 1 é muito longa\n" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "A duração de conexão na coluna 2 é muito longa\n" #: realtime.c:142 #, 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:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "O status na coluna 4 é muito longo\n" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "O tamanho na coluna 5 é muito longo\n" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "A ação na coluna 6 é muito longa\n" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "A URL na coluna 7 é muito longa\n" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "O ID de usuário na coluna 8 é muito longo\n" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "A data na coluna 8 é muito longa\n" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "O usuário na coluna 9 é muito longo\n" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "(realtime) Erro no open %s - %s\n" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Hora inválida encontrada no arquivo %s\n" #: realtime.c:236 redirector.c:494 #, c-format msgid "Invalid IP address in file %s\n" msgstr "Endereço IP inválido no arquivo %s\n" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Usuário inválido no arquivo %s\n" #: realtime.c:245 redirector.c:163 redirector.c:498 #, c-format msgid "Invalid URL in file %s\n" msgstr "URL inválida no arquivo %s\n" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Data inválida no arquivo %s\n" # TODO: Check if translation is necessary #: realtime.c:312 msgid "Realtime" msgstr "" # TODO: Check if refresh should be translated as Atualização #: realtime.c:313 msgid "Auto refresh" msgstr "Atualização automática" #: realtime.c:314 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 #, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "String de hora muito longa no arquivo de redirector log %s\n" #: redirector.c:102 #, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Banindo nome de origem muito longo no arquivo redirector log %s\n" #: redirector.c:109 #, c-format msgid "Banning list name too long in redirector log file %s\n" msgstr "Banindo nome de lista muito longo no arquivo de redirector log %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 redirector log %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 de redirector log %s\n" #: redirector.c:140 splitlog.c:97 #, c-format msgid "Invalid date found in file %s\n" msgstr "Data inválida encontrada no arquivo %s\n" #: redirector.c:148 #, c-format msgid "Invalid time found in file %s\n" msgstr "Hora inválida encontrada no arquivo %s\n" #: redirector.c:153 #, c-format msgid "Invalid redirected source in file %s\n" msgstr "Origem redirecionada inválida no arquivo %s\n" #: redirector.c:158 #, c-format msgid "Invalid redirected list in file %s\n" msgstr "Lista redirecionada 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:173 redirector.c:482 #, c-format msgid "Invalid user in file %s\n" msgstr "Usuário inválido no arquivo %s\n" #: redirector.c:230 #, c-format msgid "Reading redirector log file %s\n" msgstr "Lendo arquivo redirector log %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 nome do novo redirector log a ser lido " "- %s\n" #: redirector.c:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "(squidguard) Não foi possível abrir arquivo de log %s\n" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\n" msgstr "Memória insuficiente para ler o redirector log\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 "Não foi possível abrir arquivo de log do squidGuard: %s\n" #: redirector.c:413 #, fuzzy, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "%d outro acesso negado não exibido aqui…" msgstr[1] "%d outros acessos negados não exibidos aqui…" #: redirector.c:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Memória insuficiente para ler o redirector log processado\n" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "Relatório do Redirector" #: redirector.c:477 msgid "RULE" msgstr "REGRA" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "Hora inválida no arquivo %s\n" #: redirector.c:502 #, c-format msgid "Invalid rule in file %s\n" msgstr "Regra inválida no arquivo %s\n" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "Nome de arquivo de saída muito longo: %s/%s/d%s.html\n" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "(repday) Não foi possível abrir arquivo de log %s\n" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "Muitas datas diferentes em %s\n" # TODO: Check #: repday.c:126 msgid "Day report" msgstr "Relatório do dia" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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ão foi possível criar o diretório de saída contento pontuação como parte do " "nome\n" #: report.c:93 #, c-format msgid "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "(report) Não foi possível abrir o arquivo %s\n" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "(report) entrada de diretório muito longa: %s/%s\n" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "Há um smart info quebrado no arquivo %s\n" #: report.c:257 msgid "Site access report" msgstr "Relatório de acesso a site" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATA/HORA" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Falha ao fechar o arquivo de log do usuário %s - %s\n" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, c-format msgid "Successful report generated on %s\n" msgstr "Relatório gerado com sucesso em %s\n" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Relatório gerado com sucesso e enviado para %s\n" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "Gerando arquivo: %s/%s\n" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "Nome de arquivo temporário muito longo: %s/%s.utmp\n" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "Caminho muito longo %s/%s.ip\n" # TODO: Check context for accurate translation #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Falha ao escrever o total de linhas em %s\n" # TODO: Check context for accurate translation #: report.c:513 #, c-format msgid "Failed to write the total line in %s\n" msgstr "Falha ao escrever o total de linhas em %s\n" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "Número total de acessos inválido em %s\n" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "Tamanho total inválido em %s\n" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "Total de tempo decorrido inválido em %s\n" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "Total de cache hit inválido em %s\n" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "Total de cache miss inválido em %s\n" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "Nome de usuário muito longo ou inválido em %s\n" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "Número de acessos inválidos em %s\n" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "Número de bytes inválido em %s\n" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "URL muito longa ou inválida em %s\n" #: report.c:667 #, 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:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "Hora muito longa ou inválida em %s\n" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "Data muito longa ou inválida em %s\n" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "Tempo decorrido inválido em %s\n" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "Tamanho de cache hit inválido em %s\n" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "Tamanho de cache miss inválido em %s\n" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Nome de arquivo muito longo : %s/%s%s\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "(siteuser) Não foi possível abrir arquivo de log %s\n" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "Sites & Usuários" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Nome de arquivo muito longo : %s/%s%s\n" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Nome de arquivo muito longo : %s/%s%s\n" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Nome de arquivo muito longo: %s/%s.ip\n" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Nome de arquivo muito longo: %s/%s/denied_%s.html\n" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "Não foi possível montar o comando sort para ordenar o arquivo %s\n" #: smartfilter.c:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "(smartfilter) Não foi possível abrir arquivo de log %s\n" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "Gerado por" # TODO: Check this string, whether it should be "em" or "ligado" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr "em" #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "(smartfilter) Não foi possível abrir o arquivo %s\n" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Nome de arquivo muito longo: %s/%s.ip\n" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Nome de arquivo de entrada muito longo: %s/%s\n" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "nome de usuário muito longo para %s/%s.unsort\n" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "nome de usuário muito longo para ordenar %s\n" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "nome de usuário muito longo para %s/%s.unsort\n" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "conectar" #: sort.c:158 msgid "site" msgstr "site" # TODO: Check if it should be "tempo" or "hora" #: sort.c:160 topuser.c:174 msgid "time" msgstr "tempo" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "bytes" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "normal" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "reverso" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "(splitlog) Não foi possível abrir arquivo de log %s - %s\n" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "(splitlog) Não foi possível abrir arquivo de log %s - %s\n" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "(topsites) Não foi possível abrir arquivo de log %s\n" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "Top %d sites" #: topsites.c:280 #, fuzzy, c-format msgid "The number of users is invalid in file %s\n" msgstr "A URL é inválida no arquivo %s\n" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "A URL é inválida no arquivo %s\n" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "(topuser) Não foi possível abrir o arquivo %s\n" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the file %s\n" msgstr "Memória insuficiente para ler o arquivo %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 "usuário" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "Relatório SARG para %s" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "Ordem: %s, %s" #: topuser.c:224 msgid "Top users" msgstr "" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "Acessos negados" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "Há um usuário quebrado no arquivo %s\n" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "Há um tempo decorrido quebrado no arquivo %s\n" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "Há um tamanho de in-cache quebrado no arquivo %s\n" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "Há um tamanho de out-of-cache quebrado no arquivo %s\n" #: topuser.c:352 msgid "Graphic" msgstr "Gráfico" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" "O total do in-cache e cache-miss não é 100%% na posição %d (usuário %s)\n" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "O total do in-cache e cache-miss não é 100%%\n" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "Erro de escrita na lista top user %s\n" #: topuser.c:483 #, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Falha ao fechar a lista top user %s - %s\n" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Memória insuficiente para armazenar a 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 #, fuzzy, c-format msgid "Too many different dates for the hourly statistics\n" msgstr "Muitas datas diferentes em %s\n" #: totday.c:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "Nome de arquivo muito longo : %s/%s%s\n" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "(totday) Não foi possível abrir arquivo de log %s\n" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Data inválida encontrada no arquivo %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 "" "Memória insuficiente para armazenar o nome de diretório \"%s\" no index\n" #: url.c:465 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Data inválida encontrada no arquivo %s\n" #: url.c:472 #, c-format msgid "Unterminated regular expression\n" msgstr "" # TODO: Check all "rewind X file" #: url.c:491 #, fuzzy, c-format msgid "Failed to compile the regular expression \"%s\": %s\n" msgstr "Falha ao retroceder no arquivo de usuários %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 "Lendo arquivo de log de acesso: %s\n" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\" - %s\n" msgstr "Não foi possível excluir o arquivo temporário %s - %s\n" #: url.c:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Memória insuficiente para ler os arquivos baixados\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 "mkdir %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 "Uso: %s [opções...]\n" #: usage.c:33 #, fuzzy msgid " -a NAME|IP Create report for host name or IP address" msgstr " -a Hostname ou endereço 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 Converte o arquivo access.log para uma data legível" #: 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 Data de-ate dd/mm/yyyy-dd/mm/yyyy" #: usage.c:39 #, fuzzy msgid "" " -e MAIL Email address to send reports to (stdout for console)" msgstr " -e Endereço de e-mail para enviar relatórios (stdout para console)" #: usage.c:40 #, fuzzy, c-format msgid " -f FILE Config file to read (default is %s/sarg.conf)\n" msgstr " -f Arquivo de configuração (%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 Formato de data [e=Europa -> dd/mm/yyyy, u=USA -> mm/dd/yyyy]" #: usage.c:42 #, fuzzy msgid " -h This help" msgstr " -h Esta ajuda" #: usage.c:43 #, fuzzy msgid " --help This help" msgstr " -h Esta ajuda" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr " -i Relatórios com usuário e endereço IP" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr " -l 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 " Processar mensagens (-z) = %s\n" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr " Resolver endereço IP (-n) = %s\n" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr " -w Diretório temporário" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr " -p Usar endereço IP ao invés de userid (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 Site acessado [Ex. www.microsoft.com, www.netscape.com]" #: usage.c:54 #, fuzzy msgid " --split Split the log file by date in -d parameter" msgstr " -split Dividir o arquivo de log por data usando o parâmetro -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 Relatórios com usuário e endereço IP" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr " -w Diretório temporário" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr " -x Mensagens de debug" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr " -z Processa mensagens" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "(useragent) Não foi possível abrir o arquivo %s\n" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "Lendo log de useragent: %s\n" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "Talvez haja uma entrada de useragent quebrada no arquivo %s\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " Registros lidos: %ld\n" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "Gerando relatório de Useragent\n" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "Relatório de Useragent do Squid" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "Há um endereço de IP inválido no arquivo %s\n" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "Há um useragent inválido no arquivo %s\n" #: 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:64 #, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "(usertab) Não foi possível abrir o arquivo %s - %s\n" #: usertab.c:68 #, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Falha ao mover até o fim do arquivo de usertab %s: %s\n" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Não foi possível retroceder no arquivo de usertab %s: %s\n" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "ERRO: Não foi possível carregar. Falha de memória\n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\n" msgstr "A lista de usuários é muito longa no arquivo %s\n" #: usertab.c:149 #, fuzzy, c-format msgid "Cannot prepare ldap URI for server %s on port %d\n" msgstr "Não foi possível conectar ao servidor LDAP %s na porta %d\n" #: usertab.c:155 #, fuzzy, c-format msgid "Unable to connect to LDAP server %s on port %d: %d (%s)\n" msgstr "Não foi possível conectar ao servidor LDAP %s na porta %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 "Não foi possível determinar a versão do protocolo LDAP %d\n" #: usertab.c:173 #, c-format msgid "Cannot bind to LDAP server: %s\n" msgstr "Não foi possível fazer bind no servidor LDAP: %s\n" #: usertab.c:234 #, c-format msgid "LDAP search failed: %s\n" msgstr "Pesquisa no LDAP falhou: %s\n" #: usertab.c:235 #, c-format msgid "looking for \"%s\" at or below \"%s\"\n" msgstr "" #: usertab.c:266 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Carregando tabela de Usuários: %s\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "Módulo LDAP não foi compilado no sarg\n" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "backtrace do getword:\n" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "Não foi possível analisar novamente a linha, pois foi modificada\n" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "Buffer inválido passado para o getword_ptr\n" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "Caminho inválido (%s). Por favor, use apenas caminhos completos.\n" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "nome de diretório muito longo: %s\n" #: util.c:358 #, 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 necessários passados para my_lltoa (%d) é maior do que o " "tamanho do buffer de saída (%d)\n" #: util.c:433 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "Falha ao ler a data em %s\n" #: util.c:716 #, 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:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "Há um usuário inválido no arquivo %s\n" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "Há um número total de acessos quebrado no arquivo %s\n" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "Não foi possível copiar imagens para o diretório de destino %simages\n" #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "(util) Não foi possível abrir o diretório %s: %s\n" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "Não foi possível fazer stat \"%s\" - %s\n" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "Falha ao copiar imagem %s para %s\n" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "Não foi possível abrir o arquivo" #: util.c:1054 util.c:1077 #, c-format msgid "File %s already exists, moved to %s\n" msgstr "Arquivo %s já existe, movido para %s\n" #: util.c:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "não foi possível abrir %s para escrever\n" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "Falha ao escrever a data em %s\n" #: util.c:1130 #, fuzzy, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "Buffer inválido passado para o getword_ptr\n" #: util.c:1209 #, 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 é formatada como dd/mm/yyyy ou dd/mm/ yyyy-" "dd/mm/yyyy\n" #: util.c:1214 util.c:1218 #, 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 de tempo passado como argumento não é formatado como dd/mm/yyyy " "ou dd/mm/yyyy-dd/mm/yyyy\n" #: util.c:1231 #, c-format msgid "Failed to get the current time\n" msgstr "Falha ao obter a hora atual\n" #: util.c:1236 #, 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:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Não foi possível converter hora local: %s\n" #: util.c:1261 #, 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:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Número inválido de meses no parâmetro -d\n" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "Intervalo de tempo inválido passado pela linha de comando\n" #: util.c:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Excluindo arquivo temporário sarg-general\n" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "(removetmp) diretório muito longo para remover %s/sarg-period\n" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "(removetmp) Não foi possível abrir o arquivo %s\n" #: util.c:1387 #, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Falha ao fechar %s depois de escrever a linha completa - %s\n" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "(util) Não foi possível abrir o arquivo %s (exclude_codes)\n" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "Falha ao mover para o final do arquivo de códigos excluídos %s: %s\n" #: util.c:1418 #, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Falha ao retroceder no arquivo de códigos excluídos %s: %s\n" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "Muitos códigos para exclusão no arquivo %s\n" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" "Não foi possível verificar o espaço em disco porque o caminho %s%s é muito " "longo\n" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Não foi possível verificar o espaço em disco com o comando %s\n" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Não foi possível verificar o tamanho do disco com o comando %s\n" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "O comando %s falhou\n" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "SARG Versão: %s\n" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "nome de diretório para excluir muito longo: %s/%s\n" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "não foi possível fazer stat %s\n" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "tipo de caminho desconhecido %s\n" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "não foi possível fazer stat %s\n" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "" #~ "SARG: Maybe you have a broken record or garbage in the names of the " #~ "months.\n" #~ msgstr "Talvez haja um registro quebrado ou lixo no arquivo %s\n" #, fuzzy #~ msgid "" #~ "Maybe you have a broken record or garbage in the name of the months.\n" #~ msgstr "Talvez haja um registro quebrado ou lixo no arquivo %s\n" #~ msgid "" #~ "\n" #~ "\tPlease donate to the sarg project:" #~ msgstr "" #~ "\n" #~ "\tPor favor, doe para o projeto do sarg:" #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Falha ao remover o arquivo \"%s\" após seu processamento - %s\n" #~ msgid "Report" #~ msgstr "Relatório" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Não foi possível excluir o arquivo temporário %s - %s\n" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Falha ao remover o arquivo %s\n" #~ msgid "Failed to delete the file %s\n" #~ msgstr "Falha ao apagar o arquivo %s\n" #~ msgid "process aborted.\n" #~ msgstr "Processamento abortado.\n" #~ msgid "cannot delete %s - %s\n" #~ msgstr "não foi possível deletar %s - %s\n" #~ msgid " -b Useragent log" #~ msgstr " -b Log de Useragent" #~ msgid " -c Exclude file" #~ msgstr " -c Arquivo de exclusão" #~ msgid " -n Resolve IP Address" #~ msgstr " -n Resolver endereço IP" #~ msgid " -o Output dir" #~ msgstr " -o Diretório de saída" #~ msgid " -t Time [HH, HH:MM]" #~ msgstr " -t Horário [HH, HH:MM]" #~ msgid " -u User" #~ msgstr " -u Usuário" #~ msgid "URL too long in redirector log file %s\n" #~ msgstr "URL muito longa no arquivo de redirector log %s\n" #~ msgid "Temporary file name too long: %s/%s.htmp\n" #~ msgstr "Nome de arquivo temporário muito longo: %s/%s.htmp\n" #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "(report-1) Não foi possível abrir o arquivo %s - %s\n" #~ msgid "Path too long %s/%s.htmp\n" #~ msgstr "Caminho muito longo %s/%s.htmp\n" #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "(report-2) Não foi possível abrir o arquivo %s - %s\n" #~ msgid "pre-sorting files\n" #~ msgstr "pre-ordenando arquivos\n" #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Não foi possível excluir o arquivo temporário %s - %s\n" #~ msgid "Cannot get the size of file %s" #~ msgstr "Não foi possível verificar o tamanho do arquivo %s" #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "ERRO: Não foi possível carregar. Falha de memória" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "(html11) Não foi possível abrir o arquivo %s\n" #~ msgid "(html11) read error in %s\n" #~ msgstr "(html11) Erro de leitura em %s\n" #~ msgid "IPv6 addresses are not supported (found in %s)\n" #~ msgstr "Endereços IPv6 não são suportados (encontrado em %s)\n" #~ msgid "There is a broken record or garbage in your %s file\n" #~ msgstr "Há um registro quebrado ou lixo no arquivo %s\n" # TODO: Check whether it means 'unknown user' file or it is a unknown file from the user #~ msgid "Ignoring unknown user file %s\n" #~ msgstr "Ignorando arquivo de usuário desconhecido %s\n" #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "(html2) Não foi possível abrir o arquivo %s\n" #~ msgid "Unknown user ID %s in directory %s\n" #~ msgstr "User ID %s desconhecido no diretório %s\n" #~ msgid "Time period must be MM or MM:SS. Exit\n" #~ msgstr "Período de tempo deve ser MM ou MM:SS. Saindo\n" #~ msgid "Path too long %s/%s.utmp\n" #~ msgstr "Caminho muito longo %s/%s.utmp\n" #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "(totger) Não foi possível abrir o arquivo %s\n" #~ msgid "Not enough memory to read the temporary file %s\n" #~ msgstr "Memória insuficiente para ler o arquivo temporário %s\n" #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Falha ao mover para o fim de %s - %s\n" #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Falha ao retroceder para o início do arquivo %s: %s\n" #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Falha ao escrever o total de linhas em %s - %s\n" #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Falha ao truncar %s: %s\n" sarg-2.3.6/po/pt.gmo0000644000000000000000000000062312135004007012712 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/pt.po0000644000000000000000000023420012135004006012545 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Erro no open do arquivo" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Falha de autenticação" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periodo" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "USUÁRIO" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NOME" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "DATA/HORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "LOCAL ACESSADO" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Classificando" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Erro no open do arquivo log" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Erro no open do arquivo log" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Erro no open do arquivo log" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Erro no open do arquivo log" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Lendo arquivo acccess.log" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Erro no open do arquivo" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Erro no open do arquivo" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Erro no open do arquivo" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Erro no open do arquivo" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSA" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Arquivo nao encontrado" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Arquivo nao encontrado" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Compactando arquivo log" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Descompactando arquivo log" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Compactando 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Proibido" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Erro no open do arquivo" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Descompactando arquivo log" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid - Relatório de Acessos por Usuario" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Acesso decrescente (bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periodo" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NUM" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "CONEXÃO" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTES" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "TEMPO GASTO" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEG" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "TEMPO" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "MÉDIA" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "relatorios" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Arquivo nao encontrado" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Erro no open do arquivo log" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Carregando arquivo de exclusao" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Erro no open do arquivo log" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Erro no open do arquivo log" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Erro no open do arquivo" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "erro no malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "erro no malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Erro no open do arquivo" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Usuario" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Erro no open do arquivo" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Erro no open do arquivo" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Erro no open do arquivo" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Erro no open do arquivo log" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "relatorios" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DIAS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Arquivo nao encontrado" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Arquivo nao encontrado" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Erro no open do arquivo log" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Arquivo nao encontrado" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Arquivo nao encontrado" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Usuario" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Gerando relatorio" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "NEGADO" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Erro no open do arquivo log" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Erro no open do arquivo" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "USUÁRIOS" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Descompactando arquivo log" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Descompactando arquivo log" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Arquivo nao encontrado" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Classificando" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Erro no open do arquivo log" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Removendo relatorio antigo" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Erro no open do arquivo log" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Erro no open do arquivo log" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametros" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Hostname ou endereco IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Endereço email para envio do relatorio" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Sim" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Nao" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Hostname ou endereco IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Hostname ou endereco IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Utiliza endereco IP como usuario" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Erro no open do arquivo log" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Lendo arquivo acccess.log" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Compactando arquivo log" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Erro no open do arquivo log" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Lendo arquivo acccess.log" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Arquivo nao encontrado" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Erro no open do arquivo" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Erro no open do arquivo" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Arquivo nao encontrado" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Erro no open do arquivo log" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Log em format Common" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Log em formato Squid" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Log com formato sarg" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log com formato invalido" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Nao ha registros" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Fim" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Lendo arquivo acccess.log" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periodo" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periodo" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Arquivo nao encontrado" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Arquivo nao encontrado" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Log parsed do sarg salvo em" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Carregando arquivo de senhas" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Erro no open do arquivo log" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Erro no open do arquivo" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Erro no open do arquivo" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "erro no malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Erro no open do arquivo log" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Arquivo nao encontrado" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Erro no open do arquivo" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Erro no open do arquivo" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Erro no open do arquivo" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Erro no open do arquivo" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Erro no open do arquivo" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 #, fuzzy, c-format msgid "Parsing of tag \"%s\" in redirector log %s returned no result\n" msgstr "Descompactando arquivo log" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Descompactando arquivo log" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Descompactando arquivo 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 "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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Erro no open do arquivo" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "REGRA" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Erro no open do arquivo" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Erro no open do arquivo log" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Arquivo nao encontrado" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATA/HORA" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Erro no open do arquivo" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Relatorio gerado com sucesso em" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Relatorio gerado com sucesso e enviado para" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Criando arquivo" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Erro no open do arquivo" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Erro no open do arquivo" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Arquivo nao encontrado" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Sites & Users" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Arquivo nao encontrado" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Arquivo nao encontrado" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Arquivo nao encontrado" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Arquivo nao encontrado" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Gerado por" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "em" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Erro no open do arquivo log" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Arquivo nao encontrado" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Arquivo nao encontrado" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Classificando" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Arquivo nao encontrado" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Hora" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sites" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Erro no open do arquivo log" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Erro no open do arquivo log" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Usuario" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Gráfico" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Erro no open do arquivo" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Arquivo nao encontrado" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Erro no open do arquivo log" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Erro no open do arquivo" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Erro no open do arquivo" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Mensagens de debug" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "Diretorio para temporario" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Relatorios por usuario e por endereço IP" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Erro no open do arquivo" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Lendo arquivo useragent" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Registros lidos" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Criando Useragent report" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid - Relatório Useragent" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENTE" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Erro no open do arquivo log" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Erro no open do arquivo" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Erro no open do arquivo" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Falha de memoria na carga da tabela" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Carregandpo a tabela de usuários" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Erro no open do arquivo log" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Erro no open do arquivo" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "ja existe, movido para" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Erro no open do arquivo" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Erro no open do arquivo" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Erro no open do arquivo" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Erro no open do arquivo log" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Removendo arquivos temporarios" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Erro no open do arquivo log" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Erro no open do arquivo log" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Erro no open do arquivo log" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Erro no open do arquivo" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Erro no open do arquivo log" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Report" #~ msgstr "Relatorio" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Failed to delete the 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 "(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 "pre-sorting files\n" #~ msgstr "pre-classificando arquivos" #, fuzzy #~ msgid "Cannot delete temporary 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 "(html11) Cannot open file %s - %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Erro no open do arquivo log" #, fuzzy #~ msgid "Sort" #~ msgstr "Ordem" #, fuzzy #~ msgid "USER" #~ msgstr "USUÁRIOS" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Descompactando arquivo log" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Erro no open do arquivo" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Descompactando arquivo log" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Lendo arquivo acccess.log" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "erro no malloc" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Erro no open do arquivo" #, 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 "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 "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 "sarg version: %s" #~ msgstr "versao" #, fuzzy #~ msgid "written" #~ msgstr "gravados" #, fuzzy #~ msgid "excluded" #~ msgstr "Excluidos" #, fuzzy #~ msgid "IP report" #~ msgstr "Relatorio por IP" sarg-2.3.6/po/quot.sed0000644000000000000000000000023112105453133013250 0ustar rootroots/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g sarg-2.3.6/po/remove-potcdate.sin0000644000000000000000000000066012105453133015402 0ustar rootroot# 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.6/po/ro.gmo0000644000000000000000000000062312135004007012707 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/ro.po0000644000000000000000000023665412135004006012561 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Nu poate fi deshis fisierul" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Autentificari esuate" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Perioada" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "HOST" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/NUME" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "DATA/ORA" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "SIT ACCESAT" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Se sorteaza fisierul" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Se citeste fisierul de accese" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Nu poate fi deshis fisierul" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Nu poate fi deshis fisierul" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Nu poate fi deshis fisierul" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Nu poate fi deshis fisierul" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Fisierul nu a putut fi gasit" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Fisierul nu a putut fi gasit" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Fisier de loguri comprimat" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Se decompreseaza fisierul de loguri" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Fisier de loguri comprimat" #: 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Interzis" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Nu poate fi deshis fisierul" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Se decompreseaza fisierul de loguri" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Raportul de acces Squid" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Acces descrescator (octeti)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Perioada" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "NR." #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "CONECTARI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "OCTETI" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "TIMP FOLOSIT" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISECUNDE" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ORA" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOTAL" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "MEDIU" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "rapoarte" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Fisierul nu a putut fi gasit" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Se incarca fisierul de excluderi din" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Nu poate fi deshis fisierul" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "eroare la apelul malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "eroare la apelul malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Utilizator" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Nu poate fi deshis fisierul" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "rapoarte" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Fisierul nu a putut fi gasit" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Fisierul nu a putut fi gasit" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Fisierul nu a putut fi gasit" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Fisierul nu a putut fi gasit" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Utilizator" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Se genereaza raportul" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "INTERZIS" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Nu poate fi deshis fisierul" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "UTILIZATORI" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Se decompreseaza fisierul de loguri" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Se decompreseaza fisierul de loguri" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Fisierul nu a putut fi gasit" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Se sorteaza fisierul" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Se sterge vechiul raport" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nu poate fi deschis fisierul de accese" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametri" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Nume de host sau adresa IP" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Adresa email pentru trimiterea rapoartelor" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Da" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Nu" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Nume de host sau adresa IP" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Nume de host sau adresa IP" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Se foloseste adresa IP in loc de userid" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Se citeste fisierul de accese" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Fisier de loguri comprimat" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Se citeste fisierul de accese" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Fisierul nu a putut fi gasit" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Nu poate fi deshis fisierul" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Nu poate fi deshis fisierul" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Fisierul nu a putut fi gasit" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Loguri in format comun" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Loguri in format squid" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Loguri in format invalid" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Nu s-au gasit inregistrari" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Sfarsit" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Se citeste fisierul de accese" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Perioada" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Perioada" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Fisierul nu a putut fi gasit" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Fisierul nu a putut fi gasit" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Se incarca fisierul de parole din" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Nu poate fi deshis fisierul" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Nu poate fi deshis fisierul" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "eroare la apelul malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Fisierul nu a putut fi gasit" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Nu poate fi deshis fisierul" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Nu poate fi deshis fisierul" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Nu poate fi deshis fisierul" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Nu poate fi deshis fisierul" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Nu poate fi deshis fisierul" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Se decompreseaza fisierul de loguri" #: 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 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Se decompreseaza fisierul de loguri" #: 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Nu poate fi deshis fisierul" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Nu poate fi deshis fisierul" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Fisierul nu a putut fi gasit" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATA/ORA" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Nu poate fi deshis fisierul" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Raport generat cu succes in" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Raport generat cu succes si trimis la adresa" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Se creaza fisierul" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Nu poate fi deshis fisierul" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Nu poate fi deshis fisierul" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Fisierul nu a putut fi gasit" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Situri & Utilizatori" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Fisierul nu a putut fi gasit" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Fisierul nu a putut fi gasit" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Fisierul nu a putut fi gasit" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Fisierul nu a putut fi gasit" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Generat de" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "la" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Fisierul nu a putut fi gasit" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Fisierul nu a putut fi gasit" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Se sorteaza fisierul" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Fisierul nu a putut fi gasit" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topul siturilor -" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Ora" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "situri" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topul siturilor -" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Utilizator" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Nu poate fi deshis fisierul" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Fisierul nu a putut fi gasit" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Nu poate fi deshis fisierul" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Nu poate fi deshis fisierul" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Mesaj de debug" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "Director temporar" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Rapoarte dupa user si adresa IP" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Nu poate fi deshis fisierul" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Se citeste logul useragent" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Inregistrari citite" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Se genereaza raportul useragent" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Raportul Squid Useragent" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Nu poate fi deshis fisierul" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Nu poate fi deshis fisierul" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Nu se poate incarca. Problema de memorie" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Se incarca tabela de utilizatori" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Nu poate fi deshis fisierul" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "exista deja, mutat in" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Nu poate fi deshis fisierul" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Nu poate fi deshis fisierul" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nu poate fi deshis fisierul" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Se sterg fisierele temporare" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Nu poate fi deshis fisierul" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Nu poate fi deschis fisierul de accese" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Report" #~ msgstr "Raport" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Failed to delete the 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 "(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 "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(html11) Cannot open file %s - %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Nu poate fi deschis fisierul de accese" #, fuzzy #~ msgid "Sort" #~ msgstr "Sortare" #, fuzzy #~ msgid "USER" #~ msgstr "UTILIZATORI" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Se decompreseaza fisierul de loguri" #, fuzzy #~ msgid "(convlog) Cannot open log 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 "Reading squidGuard log file %s\n" #~ msgstr "Se citeste fisierul de accese" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "eroare la apelul malloc" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Nu poate fi deshis fisierul" #, 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 "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 "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 "sarg version: %s" #~ msgstr "versiune" #, fuzzy #~ msgid "written" #~ msgstr "scrise" #, fuzzy #~ msgid "excluded" #~ msgstr "exclus" #, fuzzy #~ msgid "IP report" #~ msgstr "Report adrese IP" sarg-2.3.6/po/ru.gmo0000644000000000000000000010743612135004007012727 0ustar rootrootÞ•? ¯ È+É+õ+!+M+y+¥<Ñ@9O+‰+µ+á+ +9+e!‘*³Þ'þ(&.O~!ž#Àä' $H"m% ¶5× + H e ‚ Ÿ ¼ Ù !ö ,!(E! n!$!*´!ß! þ!8"!X"z"#˜""¼"&ß"(#%/##U#y#!˜# º##Û##ÿ#+#$ O$]$e$ }$Š$$–$ ž$¬$RË$%%8D%&}%¤%)Ä%!î%(&9&'J& r&|&& ˆ&'•&&½&ä&þ&'&'<'[' z' „'$‘''¶'Þ'ñ'( (#('A(-i(—(&¶(Ý(!ý())>)0h)™)$¹)Þ)$ü)!* 5* B*O*W* ]*%j**˜*²*Ê*ã* ÿ* +!:+\+#{+'Ÿ+)Ç+(ñ+4,O,m,Œ,!¥,Ç,á,Uú,P-h-‡-#¦-Ê-é-. ..%.8.+K.:w.-².,à.8 /:F/6/5¸/.î/:0EX05ž0:Ô0C1-S1-1-¯19Ý152,M20z20«2=Ü2-39H3*‚3N­3'ü3$4.(4W4Z4%l4"’4.µ4/ä405*E5-p56ž5#Õ5$ù5'6)F6*p6 ›6¨6À6#Ç6 ë6 ö6"7%7B7K7h7z7“7¦7­7´7Ã7,Ü76 8@8E8V8 i8 w8 ƒ88¢8´8Í8+ß8" 9.93999C>9)‚9?¬9ì9<:/@:$p:=•:/Ó:1;(5;)^;"ˆ;-«;*Ù;-<-2<.`<-<6½<.ô</#=(S="|=!Ÿ=%Á=#ç=* >,6>0c>/”>*Ä>'ï>)?%A?g?)ƒ? ­? º? Ä?Î?í?ô?ú?+@E@&d@‹@£@1¨@Ú@$ð@ A!A *AC4AxAA'­AÕAÚAÞAäAB B'B/B/@B)pBšB(·BàB$çB CCC)C.CMC_CdCzC!C ¡C”ÂC1WE?‰E4ÉEHþE@GFAˆFTÊFiGN‰G<ØG=H?SH4“H4ÈH;ýH<9IKvI:ÂIMýINKJTšJ:ïJG*KIrK7¼K9ôKB.L?qLH±LJúL5EMW{M8ÓM7 N7DN7|N7´N7ìN7$O7\O<”ODÑOLP;cPJŸPNêP19Q;kQ`§QGR8PRI‰R=ÓRLSN^SK­SIùS9CTG}T;ÅT>U@@UFU ÈUÓU4âUV4V=VLVcVS}VvÑVUHW‹žWk*X@–XV×XN.Y[}Y+ÙYTZZZnZuZ †Z=“Z<ÑZ*[9[V[Iu[<¿[Oü[L\!]\E\HÅ\"]$1]4V] ‹]4˜]FÍ]\^Kq^I½^?_:G_6‚_S¹_i `4w`B¬`:ï`A*alaŒa!¥a ÇaÔa ÝaGêa 2bGdD\dD¡dyæd8`e<™e-ÖeLf7Qf;‰f“Åf?Yg2™g:ÌgKh3Sh-‡hµh Ìh#×hûh"iS;ibiNòiNAjZjyëjcekgÉkP1l\‚lwßldWmf¼mx#nTœnRñnPDo\•o]òoGPpa˜paúpg\qLÄqXrXjrŽÃrGRsšsPžsïs!ösOtChtU¬tQuZTuC¯uTóu_Hv=¨vRævU9wRwHâw+x0@x qx:~x¹xÊx8Üx:yPy0lyy!´yÖyîyõyüy1z7@zAxz ºz!Çzéz&{ *{"6{'Y{${O¦{"ö{L|4f|›| ª|µ|l¼|Q)}R{}%Î}Nô}KC~'~N·~ZQa'³:Û-€BD€F‡€<΀8 >D8ƒB¼9ÿC9‚?}‚/½‚(í‚@ƒ;Wƒ'“ƒD»ƒ<„6=„=t„>²„.ñ„R …>s…_²…†)†!=†@_† †¹†OÒ†_"‡G‚‡Lʇ7ˆOˆahˆ>ʈ\ ‰(f‰‰ ¬‰l¶‰)#Š-MŠQ{ŠÍŠÔŠÙŠCëŠ4/‹d‹x‹'–‹f¾‹U%Œ:{ŒD¶ŒûŒL+d¦½9Ï Ž"Ž*6ŽaŽOŽNÏŽ*&xŸZÈ-7ï#è&.ú;*:<%"p€!Ž“–ÑÎ_¨Ó›E¸±3Qö£—@)ê ~j¾3Ù©Ææ«sCšÜA}†œvÀì/T¶tóWëPzma¯1ò`\d04§^ÔU¹Â0®µ!?ÌSýôÖÊká ËÚY9í¡ž7cõÉ…|˜ ¦J'„Þ»ÕÛ'Ф¿)Á½Ø”<÷Xr -¥l(’D5b4+GH 26"ð´ü%ã $eƒÝ/M·û=™é;•OÍw.°äNåç  ÿñR×Ò+ªˆB5ÄÏ8ß³V#à{­,â8 >L,º]ùÇ n‹î g2Š‚( i6y‡‰ŒfÃ?ø1Ku[h>¬9²‘:¢oÅq=$þI F¼ 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 Date from-until (-d) = %s Hostname or IP address (-a) = %s (auth) Cannot open file: %s - %s (auth) Cannot open template file: %s - %s (authfail) Cannot open file %s (convlog) Cannot open log file %s - %s (dansguardian) Cannot open log file: %s (dansguardian_report) Cannot open log file %s (datafile) Cannot open file %s (denied) Cannot open log file %s (download) Cannot open log file %s (email) Cannot open file %s (getconf) Cannot open file %s (gethexclude) Cannot open file %s - %s (getusers) Cannot open file %s - %s (grepday) Cannot open log file %s (grepday) Cannot open output file %s (grepday) Fontname %s not found (grepday) iconv cannot convert from %s to UTF-8 - %s (html10) Cannot open file %s (html3) Cannot open file %s (html5) Cannot open file %s (html6) Cannot open file %s (html7) Cannot open file %s (html8) Cannot open file %s (html9) Cannot open file %s (index) Cannot open file %s (index) Cannot open file %s - %s (index) rename error from "%s" to "%s" - %s (lastlog) Cannot open temporary file %s (log) Cannot open file: %s - %s (log) Cannot open log file: %s - %s (log) Cannot open temporary file: %s - %s (realtime) open error %s - %s (removetmp) Cannot open file %s (removetmp) directory too long to remove %s/sarg-period (repday) Cannot open log file %s (report) Cannot open file %s (siteuser) Cannot open log file %s (smartfilter) Cannot open file %s (smartfilter) Cannot open log file %s (splitlog) Cannot open log file %s - %s (squidguard) Cannot open log file %s (topsites) Cannot open log file %s (topuser) Cannot open file %s (totday) Cannot open log file %s (useragent) Cannot open file %s (usertab) Cannot open file %s - %s (util) Can't open directory %s: %s (util) Cannot open file %s (exclude_codes) ACCESSED SITEAVERAGEAuthentication FailuresAuto refreshBYTESCAUSECONNECTCREATION DATECannot convert local time: %s 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 because the path %s%s is too long Cannot get disk space with command %s Cannot get the size of file %s Cannot open DansGuardian config file: %s Cannot open config file: %s - %s Cannot open exclude_hosts file: %s - %s Cannot open fileCannot open squidGuard config file: %s DATE/TIMEDAYSDENIEDDansGuardianDecompressing log file "%s" with bzcat Decompressing log file "%s" with zcat Decreasing Access (bytes)DeniedDenied accessesDestination directory too long: %s/%s Directory name too long: %s%s Download suffix list too long DownloadsELAPSED TIMEError: Invalid syntax in hours tag! Error: Invalid syntax in weekdays tag! Excluded code: %s Excluded site: %s Excluded user: %s FILE/PERIODFailed to close file %s - %s Failed to close the index file %s - %s Failed to close the log file of user %s - %s Failed to copy image %s to %s Failed to get the creation time of %s Failed to get the current time Failed to open directory %s - %s Failed to read the date in %s Failed to read the number of users in %s Failed to rewind the excluded users file %s: %s Failed to write the date in %s File %s already exists, moved to %s File name too long: %s/%s.ip File name too long: %s/%s/.htaccess File not found: %s Generated byGraph reportGraphicH:M:SIN-CACHE-OUTIP address too long or invalid in %s IP/NAMEIgnoring old log file %s Invalid URL in file %s Invalid date in file %s Invalid elapsed time in %s Invalid elapsed time in file %s Invalid entry in file %s Invalid number of accesses in %s Invalid number of bytes in %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 weeks in -d parameter Invalid path (%s). Please, use absolute paths only. Invalid source IP in file %s Invalid time found in file %s Invalid time in file %s Invalid total elapsed time in %s Invalid total size in %s Invalid user in file %s January,February,March,April,May,June,July,August,September,October,November,DecemberLoading User table: %s Loading configuration from %s Loading exclude file from: %s Loading exclude host file from: %s Loading password file from %s Log with invalid format MILLISECMONTHMaking file: %s/%s Making index.html Making report: %s Maybe you have a broken IP in your %s file Maybe you have a broken client IP address in your %s file Maybe you have a broken date in your %s file Maybe you have a broken day in your %s file Maybe you have a broken day in your %s%s/sarg-date file Maybe you have a broken download duration in your %s file Maybe you have a broken download size in your %s file Maybe you have a broken elapsed time in your %s file Maybe you have a broken month in your %s file Maybe you have a broken month in your %s%s/sarg-date file Maybe you have a broken record or garbage in "date_format" parameter Maybe you have a broken record or garbage in file %s Maybe you have a broken record or garbage in your %s file Maybe you have a broken record or garbage in your exclusion string Maybe you have a broken rule in your %s file Maybe you have a broken size in your %s file Maybe you have a broken time in your %s file Maybe you have a broken time in your %s%s/sarg-date file Maybe you have a broken time in your access.log file Maybe you have a broken url in your %s file Maybe you have a broken user ID in your %s file Maybe you have a broken user IP in your %s file Maybe you have a broken week day in your %s%s/sarg-date file Maybe you have a broken year in your %s file Maybe you have a broken year in your %s%s/sarg-date file 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 file %s Not enough memory to read the denied accesses Not enough memory to read the downloaded files Not enough memory to read the downloaded files. Not enough memory to read the log file %s Not enough memory to store the excluded URLs Not enough memory to store the exlcluded IP addresses Not enough memory to store the url Not enough memory to store the user Not enough memory to store the user %s Output file name too long: %s/%s/%s.html Output file name too long: %s/%s/d%s.html Parameters: Path too long %s/%s.ip PeriodPeriod covered by log files: %s-%s Period: %sPeriod: %s Reading DansGuardian log file: %s Reading access log file: %s RealtimeRemoving old report file %s SARG Version: %s SARG reportSARG reportsSARG report for %sSARG, SARG: SARG: TAG: %s SARG: Unknown option %s SARG: report for %04dSARG: reports for %04dSARG: report for %04d/%02dSARG: reports for %04d/%02dSIZESarg log format Site access reportSites & UsersSmartFilterSort: %s, %sSort: %s, %sSorting file: %s Squid User Access ReportSquid log format Successful report generated and sent to %s Successful report generated on %s TIMETOTALTYPETemplate file name is too long in parameter "AuthUserTemplateFile" Temporary file name too long: %s/%s.utmp The "byte_cost" parameter of the configuration file is invalid The command %s failed 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 second word of parameter "%s" is more than %d bytes long The string value of parameter "%s" is too long There a broken total number of access in file %s There is a broken IP address in file %s There is a broken access code in file %s There is a broken date in file %s There is a broken downloaded size in file %s There is a broken elapsed time in file %s There is a broken in cache column in file %s There is a broken in-cache volume in file %s There is a broken number of access in file %s There is a broken number of bytes in file %s There is a broken out of cache column in file %s (%d) There is a broken out-cache volume in file %s There is a broken record or garbage in file %s There is a broken smart info in file %s There is a broken time in file %s There is a broken url in file %s There is a broken user ID in file %s There is a invalid user in file %s There is an invalid IP address in file %s There is an invalid elapsed time in file %s There is an invalid number of access in file %s There is an invalid number of bytes in file %s There is an invalid smart info in file %s There is an invalid user ID in file %s There is an invalid useragent in file %s Too many codes to exclude in file %s Too many download suffixes Too many log files in configuration file Top %d sitesTop sitesTop usersURL too long or invalid in %s USERIDUSERSUnknown input log file format Unknown sort order "%s" for parameter "%s" Unknown user ID %s in file %s Unknown value "%s" for parameter "%s" Usage: %s [options...] UserUser %s limit exceeded (%d MB). Added to file %s User ID too long: %s User name too long or invalid in %s User reportUser: %sUseragentValue "%s" conflicts with other selected values for parameter "%s" Write error in file %s Write error in the index %s Write error in the log file of user %s YEARYesbytescannot open %s for writing command return status %d command: %s connectdate/time reportdecompression command too long for log file %s directory name to delete too long: %s/%s directory name too long: %s failed to create link "%s" to "%s" - %s normalnot enough memory to sort the index onreversesarg version: %s sitesort command return status %d sort command: %s timeunknown path type %s useruser name too long for %s/%s.day user name too long for %s/%s/%s Project-Id-Version: sarg 2.3.1 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: 2011-02-21 17:35+0300 Last-Translator: Leonid Pushkarev Language-Team: Russian Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); Ð’Ñ€ÐµÐ¼Ñ (-t) = %s Пользователь (-u) = %s Отчёт по IP (-i) = %s Входной файл журнала (-l) = %s Выходной каталог (-o) = %s Файл конфигурации (-f) = %s Формат даты (-g) = Европа (дд/мм/гггг) Формат даты (-g) = Сайты и пользователи (гггг/мм) Формат даты (-g) = СШР(мм/дд/гггг) Файл иÑключений (-c) = %s ПоÑещённые Ñайты (-s) = %s Временный каталог (-w) = %s Журнал Useragent (-b) = %s Период (от-до) (-d) = %s Ð˜Ð¼Ñ Ñ…Ð¾Ñта или IP-Ð°Ð´Ñ€ÐµÑ (-a) = %s (auth) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: %s - %s (auth) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл шаблона: %s - %s (authfail) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (convlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s - %s (dansguardian) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала: %s (dansguardian_report) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (datafile) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (denied) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (download) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (email) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (getconf) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (gethexclude) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s (getusers) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s (grepday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (grepday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ выходной файл %s (grepday) Ðе найдено Ð¸Ð¼Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð° %s (grepday) iconv не удаётÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ из %s в UTF-8 - %s (html10) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (html3) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (html5) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (html6) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (html7) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (html8) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (html9) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (index) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (index) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s (index) Ошибка Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ "%s" в "%s" - %s (lastlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ временный файл %s (log) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: %s - %s (log) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала: %s - %s (log) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ временный файл: %s - %s (realtime) Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s - %s (removetmp) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (removetmp) Слишком длинный каталог Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s/sarg-period (repday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (report) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (siteuser) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (smartfilter) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (smartfilter) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (splitlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s - %s (squidguard) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (topsites) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (topuser) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (totday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s (useragent) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (usertab) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s (util) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ каталог %s: %s (util) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (exclude_codes) ÐдреÑСреднееОшибки проверки подлинноÑтиÐвтообновлениеБайтПричинаПодключенийДата ÑозданиÑÐе удаётÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ локальное времÑ: %s Ðе удаётÑÑ Ñоздать выходной каталог Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, Ñодержащим период Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер диÑка командой %s Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке, Ñ‚.к. Ñлишком длинный путь %s%s Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке командой %s Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ размер файла %s Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации DansGuardian: %s Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации: %s - %s Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл иÑключённых адреÑов: %s - %s Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файлÐе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации squidGuard: %s Дата/ВремÑДниЗапрещёнDansGuardianРаÑпаковка файла журнала "%s" (bzcat) РаÑпаковка файла журнала "%s" (zcat) Снижение доÑтупа (байт)Отказ в доÑтупеОтказы в доÑтупеСлишком длинный каталог назначениÑ: %s/%s Слишком длинное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°: %s%s Слишком длинный ÑпиÑок ÑуффикÑов загрузок ЗагрузкиЗатраченное времÑОшибка: Ðеверный ÑинтакÑÐ¸Ñ Ð² теге hours! Ошибка: Ðеверный ÑинтакÑÐ¸Ñ Ð² теге weekdays! ИÑключённый код: %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/%s/.htaccess Файл не найден: %s СгенерированГрафичеÑкий отчётГрафикЧ:М:СIN-CACHE-OUTIP-Ð°Ð´Ñ€ÐµÑ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ или Ñлишком длинный %s IP/ИмÑИгнорирование Ñтарого файла журнала %s Ðеверный URL в файле %s ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² %s Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле %s Ðеверное чиÑло доÑтупов в %s Ðеверное чиÑло байт в %s Ðеверное чиÑло байт в файле %s Ðеверное чиÑло дней в параметре -d Ðеверное чиÑло меÑÑцев в параметре -d Ðеверное чиÑло неделей в параметре -d Ðеверный путь (%s). ПожалуйÑта, иÑпользуйте только абÑолютные пути. Ðеверный IP иÑточника в файле %s Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Ðеверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Ðеверное Ñуммарное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² %s Ðеверный Ñуммарный размер в %s Ðеверный пользователь в файле %s Январь,Февраль,Март,Ðпрель,Май,Июнь,Июль,ÐвгуÑÑ‚,СентÑбрь,ОктÑбрь,ÐоÑбрь,ДекабрьЗагрузка таблицы пользователей: %s Загрузка конфигурации из %s Загрузка файла иÑключений из: %s Загрузка иÑключённых адреÑов из файла: %s Загрузка файла паролей из %s Ðеверный формат журнала МиллиÑекундМеÑÑцСоздание файла: %s/%s Создание index.html Создание отчёта: %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ IP-Ð°Ð´Ñ€ÐµÑ Ð² файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ IP-Ð°Ð´Ñ€ÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð° в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день в файле %s%s/sarg-date Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть загрузки в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ размер загрузки в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ меÑÑц в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ меÑÑц в файле %s%s/sarg-date Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ или муÑор в параметре "date_format" Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ запиÑи или муÑор в файле %s Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ запиÑи или муÑор в файйле %s Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ или муÑор в Ñтроке иÑключений Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ правила в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ размер в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s%s/sarg-date Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ Ð² файле access.log file Возможно, имютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ URL в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ IP Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день недели в файле %s%s/sarg-date Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ год в файле %s Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ год в файле %s%s/sarg-date ОтÑутÑтвуют двойные ковычки поÑле параметра "%s" ОтÑутÑтвуют двойные ковычки поÑле параметра "%s" или значение более чем %d байт ОтÑутÑтвует второе Ñлово параметра "%s" №Слишком длинное имÑ, чтобы удалить файл: %s/%s ÐетЗапиÑи не найдены Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° %s Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‚Ð¾Ð² доÑтупа Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° загрузок Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð½Ñ‹Ñ… файлов. Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° %s Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых URL Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых адреÑов Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ URL Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s Слишком длинное Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла: %s/%s/%s.html Слишком длинный выходной файл: %s/%s/d%s.html Параметры: Слишком длинный путь %s/%s.ip ПериодОхватываемый период отчёта: %s-%s Период: %sПериод: %s Чтение файла журнала DansGuardian: %s Чтение файла журнала доÑтупа: %s Реальное времÑУдаление Ñтарого отчёта %s ВерÑÐ¸Ñ SARG: %s Отчёт SARGОтчёты SARGОтчёт SARG за %sSARG, SARG: SARG: тег: %s SARG: ÐеизвеÑтный параметр %s SARG: отчёт за %04dSARG: отчёты за %04dSARG: отчёт за %04d/%02dSARG: отчёты за %04d/%02dРазмерФормат журнала Sarg Отчёт доÑтупаСайты и пользователиSmartFilterОтÑортировано: %s, %sОтÑортировано: %s, %sСортировка файла: %s Отчёт доÑтупа пользователей в интернет(Squid)Формат журнала Squid Отчёт Ñгенерирован уÑпешно и отправлен %s УÑÐ¿ÐµÑˆÐ½Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° %s ВремениВÑегоТипСлишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° шаблона в параметре "AuthUserTemplateFile" Слишком длинное Ð¸Ð¼Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ файла: %s/%s.utmp Ðеверный параметр "byte_cost" файла конфигурации ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s Первое Ñлово параметра "%s" более чем %d байт Ðеверное чиÑловое значение параметра "%s" Ðеверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s Второе Ñлово параметра "%s" более чем %d байт Слишком длинное Ñтроковое значение параметра "%s" Ошибочное Ñуммарное чиÑло доÑтупа в файле %s Ошибочный IP в файле %s Ошибочный код доÑтупа в файле %s ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s Ошибочный размер загрузок в файле %s Ошибочное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Ошибочный Ñтолбец in-cache в файле %s Ошибочный объём in-cache в файле %s Ошибочное чиÑло доÑтупа в файле %s Ошибочное чиÑло байт в файле %s Ошибочный Ñтолбец cache-out в файле %s (%d) Ошибочный объём out-cache в файле %s ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ или муÑор в файле %s ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ smart Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² файле %s Ошибочное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Ошибочный URL в файле %s Ошибочный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s Ðеверный пользователь в файле %s Ошибочный IP в файле %s Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s Ðеверное чиÑло доÑтупа в файле %s Ðеверное чиÑло байт в файле %s ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ smart Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² файле %s Ðеверный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s Ошибочный useragent в файле %s Слишком много кодов Ð´Ð»Ñ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² файле %s Слишком много ÑуффикÑов загрузок Слишком много файлов журналов в файле конфигурации Топ %d ÑайтовТоп ÑайтовТоп пользователейURL неверный или Ñлишком длинный в %s ПользовательПользователиÐеизвеÑтный формат входного файла журнала ÐеизвеÑтный порÑдок Ñортировки "%s" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° "%s" ÐеизвеÑтный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s в файле %s ÐеизвеÑтное значение "%s" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° "%s" ИÑпользование: %s [параметры...] ПользовательПользователь %s превыÑел лимит (%d MB). Добавлен в файл %s Слишком длинный ID пользователÑ: %s Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ или Ñлишком длинное в %s Отчёт по пользователюПользователь: %sUseragentЗначение "%s" конфликтует Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ значениÑми параметра "%s" Ошибка запиÑи в файл %s Ошибка запиÑи в Ð¸Ð½Ð´ÐµÐºÑ %s Ошибка запиÑи в файл журнала Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s ГодДапо байтамÐе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи Команда вернула ÑоÑтоÑние %d Команда: %s по подключениÑмОтчёт по дате/времениСлишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° раÑпаковки Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° журнала %s Слишком длинное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ: %s/%s Слишком длинное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°: %s Ðе удалоÑÑŒ Ñоздать ÑÑылку "%s" на "%s" - %s по возраÑтаниюÐе хватает памÑти Ð´Ð»Ñ Ñортировки индекÑа . Дата/Ð’Ñ€ÐµÐ¼Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ - по убываниюВерÑÐ¸Ñ sarg: %s по ÑайтамКоманда sort вернула ÑоÑтоÑние %d Команда sort: %s по времениÐеизвеÑтный тип пути %s по пользователюСлишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ %s/%s.day Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ %s/%s/%s sarg-2.3.6/po/Rules-quot0000644000000000000000000000340012105453133013567 0ustar rootroot# 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"; 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) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 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.6/po/ru.po0000644000000000000000000026717412135004006012570 0ustar rootroot# Russian translation for sarg. # Copyright (C) 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the SARG package. # Leonid Pushkarev , 2011. # msgid "" msgstr "" "Project-Id-Version: sarg 2.3.1\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: 2011-02-21 17:35+0300\n" "Last-Translator: Leonid Pushkarev \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" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s/.htaccess\n" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "(auth) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: %s - %s\n" #: auth.c:51 #, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "(auth) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл шаблона: %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] "" msgstr[1] "" #: authfail.c:75 authfail.c:97 authfail.c:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "Команда sort вернула ÑоÑтоÑние %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "Команда sort: %s\n" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "(authfail) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "Ошибки проверки подлинноÑти" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "Период: %s" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "Пользователь" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "IP/ИмÑ" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "Дата/ВремÑ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "ÐдреÑ" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° %s\n" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s\n" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "Ошибочное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "Ошибочный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s\n" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "Ошибочный IP в файле %s\n" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "Ошибочный URL в файле %s\n" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "ÐеизвеÑтный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s в файле %s\n" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "Ошибка запиÑи в файл %s\n" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "Ðе удалоÑÑŒ закрыть файл %s - %s\n" #: convlog.c:48 #, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "(convlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s - %s\n" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° %s\n" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ запиÑи или муÑор в файле %s\n" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации DansGuardian: %s\n" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "(dansguardian) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала: %s\n" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ запиÑи или муÑор в файйле %s\n" #: dansguardian_log.c:80 #, fuzzy, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "Слишком много файлов журналов в файле конфигурации\n" #: dansguardian_log.c:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Чтение файла журнала DansGuardian: %s\n" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "Возможно, имютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ URL в файле %s\n" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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] "" msgstr[1] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "(dansguardian_report) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: dansguardian_report.c:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "(dansguardian_report) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "Причина" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ðµ правила в файле %s\n" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "(datafile) Слишком длинный путь до каталога: %s/%s\n" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "(datafile) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð½Ñ‹Ñ… файлов.\n" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ или муÑор в файле %s\n" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ smart Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² файле %s\n" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ URL\n" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, c-format msgid "File not found: %s\n" msgstr "Файл не найден: %s\n" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "РаÑпаковка файла журнала \"%s\" (zcat)\n" #: decomp.c:44 decomp.c:54 decomp.c:64 #, c-format msgid "decompression command too long for log file %s\n" msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° раÑпаковки Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° журнала %s\n" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "РаÑпаковка файла журнала \"%s\" (bzcat)\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] "" msgstr[1] "" #: denied.c:69 msgid "Denied report not produced because it is empty\n" msgstr "" #: denied.c:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "(denied) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "Отказ в доÑтупе" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‚Ð¾Ð² доÑтупа\n" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, fuzzy, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "Слишком длинный путь %s/%s.utmp\n" #: download.c:114 #, fuzzy msgid "No downloaded files to report\n" msgstr "Слишком длинный ÑпиÑок ÑуффикÑов загрузок\n" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "(download) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "Загрузки" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° загрузок\n" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "Слишком длинный ÑпиÑок ÑуффикÑов загрузок\n" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "Слишком много ÑуффикÑов загрузок\n" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "(email) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° раÑпаковки Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° журнала %s\n" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "Отчёт доÑтупа пользователей в интернет(Squid)" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "Снижение доÑтупа (байт)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "Период" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "â„–" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "Подключений" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "Байт" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "Затраченное времÑ" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "МиллиÑекунд" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "Времени" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "Ðеверный ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s\n" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "Ðеверное чиÑло байт в файле %s\n" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "Ðеверное чиÑло доÑтупа в файле %s\n" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "Ð’Ñего" #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "Среднее" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "Отчёт SARG за %s" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер диÑка командой %s\n" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "Команда вернула ÑоÑтоÑние %d\n" #: email.c:285 index.c:583 log.c:1685 #, 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 "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых URL\n" #: exclude.c:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл иÑключённых адреÑов: %s - %s\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "Загрузка иÑключённых адреÑов из файла: %s\n" #: exclude.c:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "(gethexclude) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ размер файла %s\n" #: exclude.c:332 #, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Ðе удалоÑÑŒ промотать файл иÑключённых пользователей %s: %s\n" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\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 #, 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 "ÐеизвеÑтный порÑдок Ñортировки \"%s\" Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\"\n" #: getconf.c:422 #, c-format msgid "SARG: TAG: %s\n" msgstr "SARG: тег: %s\n" #: getconf.c:471 #, c-format msgid "" "Maybe you have a broken record or garbage in \"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 "" #: 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 "" #: 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 "Ðеверный параметр \"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" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "(getconf) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "SARG, " #: grepday.c:561 #, c-format msgid "User: %s" msgstr "Пользователь: %s" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ %s/%s/%s\n" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "(grepday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "(grepday) Ðе найдено Ð¸Ð¼Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð° %s\n" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "(grepday) iconv не удаётÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ из %s в UTF-8 - %s\n" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ %s/%s.day\n" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s\n" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле %s\n" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "Ðеверное чиÑло байт в файле %s\n" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: grepday.c:738 #, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "(grepday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ выходной файл %s\n" #: grepday.c:741 msgid "Graph report" msgstr "ГрафичеÑкий отчёт" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "Дни" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "Слишком длинный каталог назначениÑ: %s/%s\n" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Ðе удалоÑÑŒ открыть каталог %s - %s\n" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла: %s/%s\n" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "(html3) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла: %s/%s/%s.html\n" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s/denied_%s.html\n" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "Ошибочное чиÑло доÑтупа в файле %s\n" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "Ошибочный размер загрузок в файле %s\n" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "Ошибочный код доÑтупа в файле %s\n" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "Ошибочное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "Ошибочный объём in-cache в файле %s\n" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "Ошибочный объём out-cache в файле %s\n" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "(html5) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:181 html.c:187 msgid "User report" msgstr "Отчёт по пользователю" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "Пользователь" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "ОтÑортировано: %s, %s" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "IN-CACHE-OUT" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "Создание отчёта: %s\n" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "Ошибочное чиÑло байт в файле %s\n" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "Ошибочный Ñтолбец in-cache в файле %s\n" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "Ошибочный Ñтолбец cache-out в файле %s (%d)\n" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "Отчёт по дате/времени" #: html.c:321 msgid "DENIED" msgstr "Запрещён" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "(html6) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "(html7) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ IP Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s\n" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день в файле %s\n" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ размер в файле %s\n" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "(html8) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "(html9) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "(html10) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "Ðе удалоÑÑŒ открыть каталог %s - %s\n" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "(index) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s\n" #: index.c:146 index.c:427 msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "Отчёт SARG" msgstr[1] "Отчёты 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 "" #: index.c:198 #, c-format msgid "SARG: report for %04d" msgid_plural "SARG: reports for %04d" msgstr[0] "SARG: отчёт за %04d" msgstr[1] "SARG: отчёты за %04d" #: index.c:202 index.c:263 msgid "MONTH" 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] "SARG: отчёт за %04d/%02d" msgstr[1] "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:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Ðе удалоÑÑŒ закрыть индекÑный файл%s - %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 #, c-format msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день недели в файле %s%s/sarg-date\n" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ меÑÑц в файле %s%s/sarg-date\n" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ день в файле %s%s/sarg-date\n" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s%s/sarg-date\n" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\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 "" #: index.c:424 #, c-format msgid "(index) Cannot open file %s\n" msgstr "(index) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %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:101 topsites.c:258 msgid "USERS" msgstr "Пользователи" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" msgstr "(index) Ошибка Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ \"%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 "" #: 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 "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñключённых адреÑов\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_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 "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 "Команда sort: %s\n" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Команда: %s\n" #: lastlog.c:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "(lastlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ временный файл %s\n" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "Ðе удалоÑÑŒ получить дату ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ %s\n" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "Удаление Ñтарого отчёта %s\n" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "Слишком длинное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°: %s%s\n" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации: %s - %s\n" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Ðе удалоÑÑŒ открыть каталог %s - %s\n" #: log.c:677 log.c:710 #, c-format msgid "Parameters:\n" msgstr "Параметры:\n" #: log.c:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Ð˜Ð¼Ñ Ñ…Ð¾Ñта или IP-Ð°Ð´Ñ€ÐµÑ (-a) = %s\n" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Журнал Useragent (-b) = %s\n" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Файл иÑключений (-c) = %s\n" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " Период (от-до) (-d) = %s\n" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr " Файл конфигурации (-f) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " Формат даты (-g) = Европа (дд/мм/гггг)\n" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " Формат даты (-g) = СШР(мм/дд/гггг)\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" " Формат даты (-g) = Сайты и пользователи (гггг/мм)\n" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr " Отчёт по IP (-i) = %s\n" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "Да" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "Ðет" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " Временный каталог (-w) = %s\n" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr " Входной файл журнала (-l) = %s\n" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr "" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Выходной каталог (-o) = %s\n" #: log.c:698 log.c:731 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " ПоÑещённые Ñайты (-s) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr " Ð’Ñ€ÐµÐ¼Ñ (-t) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr " Пользователь (-u) = %s\n" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " Временный каталог (-w) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "ВерÑÐ¸Ñ sarg: %s\n" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала\n" #: log.c:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "(log) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: %s - %s\n" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "Игнорирование Ñтарого файла журнала %s\n" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "(log) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала: %s - %s\n" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "Чтение файла журнала доÑтупа: %s\n" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "Ðеверное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s\n" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "Возможно, имеютÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ или муÑор в Ñтроке иÑключений\n" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ Ð² файле access.log file\n" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s\n" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ IP-Ð°Ð´Ñ€ÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð° в файле %s\n" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ ID Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² файле %s\n" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ IP-Ð°Ð´Ñ€ÐµÑ Ð² файле %s\n" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть загрузки в файле %s\n" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ размер загрузки в файле %s\n" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ год в файле %s\n" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "Возможно, имеетÑÑ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ñ‹Ð¹ меÑÑц в файле %s\n" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "ÐеизвеÑтный формат входного файла журнала\n" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "Слишком длинный ID пользователÑ: %s\n" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "ИÑключённый код: %s\n" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "ИÑключённый Ñайт: %s\n" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "ИÑключённый пользователь: %s\n" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Ðе удалоÑÑŒ закрыть файл журнала Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s - %s\n" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ пользовательÑкого файла: %s/%s.unsort\n" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "(log) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ временный файл: %s - %s\n" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "Ошибка запиÑи в файл журнала Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s\n" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" #: log.c:1606 #, c-format msgid "Common log format\n" msgstr "" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "Формат журнала Squid\n" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "Формат журнала Sarg\n" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "Ðеверный формат журнала\n" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "ЗапиÑи не найдены\n" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Охватываемый период отчёта: %s-%s\n" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Период: %s\n" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "Период: %s\n" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Слишком длинный путь %s/%s.ip\n" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, c-format msgid "Loading password file from %s\n" msgstr "Загрузка файла паролей из %s\n" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "(getusers) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s\n" #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° журнала\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 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "(realtime) Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s - %s\n" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: realtime.c:236 redirector.c:494 #, c-format msgid "Invalid IP address in file %s\n" msgstr "" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Ðеверный пользователь в файле %s\n" #: realtime.c:245 redirector.c:163 redirector.c:498 #, c-format msgid "Invalid URL in file %s\n" msgstr "Ðеверный URL в файле %s\n" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° в файле %s\n" #: realtime.c:312 msgid "Realtime" msgstr "Реальное времÑ" #: realtime.c:313 msgid "Auto refresh" msgstr "Ðвтообновление" #: realtime.c:314 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:140 splitlog.c:97 #, c-format msgid "Invalid date found in file %s\n" msgstr "" #: redirector.c:148 #, c-format msgid "Invalid time found in file %s\n" msgstr "Ðайдено неверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: 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 "Ðеверный IP иÑточника в файле %s\n" #: redirector.c:173 redirector.c:482 #, c-format msgid "Invalid user in file %s\n" msgstr "Ðеверный пользователь в файле %s\n" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "(squidguard) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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 "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл конфигурации squidGuard: %s\n" #: redirector.c:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 msgid "RULE" msgstr "" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "Ðеверное Ð²Ñ€ÐµÐ¼Ñ Ð² файле %s\n" #: redirector.c:502 #, c-format msgid "Invalid rule in file %s\n" msgstr "" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "Слишком длинный выходной файл: %s/%s/d%s.html\n" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "(repday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "Ч:М:С" #: repday.c:237 #, 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 #, c-format msgid "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "(report) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "(datafile) Слишком длинный путь до каталога: %s/%s\n" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ smart Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² файле %s\n" #: report.c:257 msgid "Site access report" msgstr "Отчёт доÑтупа" #: report.c:267 #, fuzzy msgid "DATE" msgstr "Дата/ВремÑ" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Ðе удалоÑÑŒ закрыть файл журнала Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s - %s\n" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, c-format msgid "Successful report generated on %s\n" msgstr "УÑÐ¿ÐµÑˆÐ½Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° %s\n" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "Отчёт Ñгенерирован уÑпешно и отправлен %s\n" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "Создание файла: %s/%s\n" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ файла: %s/%s.utmp\n" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "Слишком длинный путь %s/%s.ip\n" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Ðе удалоÑÑŒ запиÑать дату в %s\n" #: report.c:513 #, c-format msgid "Failed to write the total line in %s\n" msgstr "" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "Ðеверный Ñуммарный размер в %s\n" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "Ðеверное Ñуммарное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² %s\n" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ðµ или Ñлишком длинное в %s\n" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "Ðеверное чиÑло доÑтупов в %s\n" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "Ðеверное чиÑло байт в %s\n" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "URL неверный или Ñлишком длинный в %s\n" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "IP-Ð°Ð´Ñ€ÐµÑ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ или Ñлишком длинный %s\n" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "Ðеверное затраченное Ð²Ñ€ÐµÐ¼Ñ Ð² %s\n" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "(siteuser) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "Сайты и пользователи" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s/denied_%s.html\n" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "(smartfilter) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "Сгенерирован" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr ". Дата/Ð’Ñ€ÐµÐ¼Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ - " #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "(smartfilter) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: %s/%s.ip\n" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла: %s/%s\n" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Сортировка файла: %s\n" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ %s/%s/%s\n" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "по подключениÑм" #: sort.c:158 msgid "site" msgstr "по Ñайтам" #: sort.c:160 topuser.c:174 msgid "time" msgstr "по времени" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "по байтам" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "по возраÑтанию" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "по убыванию" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "(splitlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s - %s\n" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "(splitlog) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s - %s\n" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "(topsites) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "Топ Ñайтов" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "Топ %d Ñайтов" #: topsites.c:280 #, fuzzy, c-format msgid "The number of users is invalid in file %s\n" msgstr "Ðеверный пользователь в файле %s\n" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "(topuser) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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:215 #, c-format msgid "SARG report for %s" msgstr "Отчёт SARG за %s" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "ОтÑортировано: %s, %s" #: topuser.c:224 msgid "Top users" msgstr "Топ пользователей" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "Отказы в доÑтупе" #: topuser.c:243 msgid "Useragent" msgstr "Useragent" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 msgid "Graphic" msgstr "График" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "" #: totday.c:53 #, fuzzy, c-format msgid "Not enough memory to store the daily statistics\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ 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:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "(totday) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл журнала %s\n" #: totday.c:166 #, 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 "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ URL\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\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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° загрузок\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 "mkdir %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 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 #, fuzzy 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 "" #: 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=Европа -> дд/мм/гггг, u=СШР-> мм/дд/гггг]" #: 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 " Временный каталог (-w) = %s\n" #: 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 " ПоÑещённые Ñайты (-s) = %s\n" #: usage.c:49 msgid " -n Resolve IP addresses using RDNS" msgstr "" #: 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 " ПоÑещённые Ñайты (-s) = %s\n" #: 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 #, fuzzy msgid " -w DIR Temporary directory" msgstr " -w Временный каталог" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr " ПоÑещённые Ñайты (-s) = %s\n" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr " ПоÑещённые Ñайты (-s) = %s\n" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "(useragent) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "Ошибочный IP в файле %s\n" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "Ошибочный useragent в файле %s\n" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ\n" #: usertab.c:64 #, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "(usertab) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s - %s\n" #: usertab.c:68 #, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "Загрузка таблицы пользователей: %s\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "Ðеверный путь (%s). ПожалуйÑта, иÑпользуйте только абÑолютные пути.\n" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "Слишком длинное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°: %s\n" #: util.c:358 #, 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:433 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" "Январь,Февраль,Март,Ðпрель,Май,Июнь,Июль,ÐвгуÑÑ‚,СентÑбрь,ОктÑбрь,ÐоÑбрь," "Декабрь" #: util.c:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "SARG: " #: util.c:475 #, fuzzy msgid "SARG: (info) " msgstr "SARG: " #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "Ðе удалоÑÑŒ прочитать дату в %s\n" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "Ðе удалоÑÑŒ прочитать чиÑло пользователей в %s\n" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "Ðеверный пользователь в файле %s\n" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "Ошибочное Ñуммарное чиÑло доÑтупа в файле %s\n" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "(util) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ каталог %s: %s\n" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "Ðе удалоÑÑŒ Ñкопировать изображение %s в %s\n" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл" #: util.c:1054 util.c:1077 #, c-format msgid "File %s already exists, moved to %s\n" msgstr "Файл %s уже ÑущеÑтвует, перемещён в %s\n" #: util.c:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи\n" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "Ðе удалоÑÑŒ запиÑать дату в %s\n" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, c-format msgid "Failed to get the current time\n" msgstr "Ðе удалоÑÑŒ получить текущее времÑ\n" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "Ðеверное чиÑло дней в параметре -d\n" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе удаётÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ локальное времÑ: %s\n" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "Ðеверное чиÑло неделей в параметре -d\n" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "Ðеверное чиÑло меÑÑцев в параметре -d\n" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "(removetmp) Слишком длинный каталог Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s/sarg-period\n" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "(removetmp) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #: util.c:1387 #, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "(util) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s (exclude_codes)\n" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "Слишком много кодов Ð´Ð»Ñ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² файле %s\n" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке, Ñ‚.к. Ñлишком длинный путь %s" "%s\n" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ Ñвободное меÑто на диÑке командой %s\n" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ размер диÑка командой %s\n" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s\n" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "ВерÑÐ¸Ñ SARG: %s\n" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "Слишком длинное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ: %s/%s\n" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "ÐеизвеÑтный тип пути %s\n" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ %s - %s\n" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #~ msgid "H" #~ msgstr "Ч" #, 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:" #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Ðе удалоÑÑŒ удалить файл \"%s\" поÑле его обработки - %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 " -b Useragent log" #~ msgstr " -b Журнал Useragent" #~ msgid " -c Exclude file" #~ msgstr " -c Файл иÑключений" #~ msgid " -o Output dir" #~ msgstr " -o Выходной каталог" #~ msgid " -t Time [HH, HH:MM]" #~ msgstr " -t Ð’Ñ€ÐµÐ¼Ñ [ЧЧ, ЧЧ:ММ]" #~ msgid " -u User" #~ msgstr " -u Пользователь" #~ 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 "Cannot delete temporary file %s - %s\n" #~ msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ временный файл %s - %s\n" #~ msgid "Cannot get the size of file %s" #~ msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ размер файла %s" #, 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 не поддерживаютÑÑ (найдено в %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 "(totger) Cannot open file %s\n" #~ msgstr "(totger) Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл %s\n" #~ msgid "Not enough memory to read the temporary file %s\n" #~ msgstr "Ðе хватает памÑти Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ файла %s\n" sarg-2.3.6/po/sarg.pot0000644000000000000000000020115212135004005013241 0ustar rootroot# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3.6\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "" #: auth.c:51 #, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "" #: convlog.c:48 #, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "" #: dansguardian_log.c:100 #, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "" #: dansguardian_log.c:104 #, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "" #: dansguardian_log.c:108 #, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "" #: dansguardian_log.c:112 #, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, c-format msgid "File not found: %s\n" msgstr "" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "" #: decomp.c:44 decomp.c:54 decomp.c:64 #, c-format msgid "decompression command too long for log file %s\n" msgstr "" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\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:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "" #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, c-format msgid "SARG report, %c" msgstr "" #: email.c:281 #, c-format msgid "Sending mail with command: %s\n" msgstr "" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "" #: exclude.c:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "" #: exclude.c:332 #, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\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 "" "Maybe you have a broken record or garbage in \"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 "" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "" #: grepday.c:144 #, c-format msgid "realloc error (% bytes required)\n" msgstr "" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, c-format msgid "User: %s" msgstr "" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "" #: grepday.c:738 #, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "" #: grepday.c:741 msgid "Graph report" msgstr "" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "" #: html.c:64 #, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "" #: html.c:69 #, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, c-format msgid "Cannot create directory %s - %s\n" msgstr "" #: html.c:105 #, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 msgid "SmartFilter report" msgstr "" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 msgid "DENIED" msgstr "" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, c-format msgid "(index) Cannot open file %s\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:101 topsites.c:258 msgid "USERS" msgstr "" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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_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:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "" #: log.c:677 log.c:710 #, c-format msgid "Parameters:\n" msgstr "" #: log.c:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "" #: log.c:691 log.c:724 #, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr "" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, c-format msgid "Invalid time found in %s\n" msgstr "" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "" #: log.c:1497 #, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "" #: log.c:1606 #, c-format msgid "Common log format\n" msgstr "" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, c-format msgid "period=%s\n" msgstr "" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "" #: log.c:1665 #, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, c-format msgid "Command too long: %s \"%s\"\n" msgstr "" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, c-format msgid "Loading password file from %s\n" msgstr "" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "" #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, c-format msgid "Invalid time column in file %s\n" msgstr "" #: realtime.c:236 redirector.c:494 #, c-format msgid "Invalid IP address in file %s\n" msgstr "" #: realtime.c:240 #, c-format msgid "Invalid user name in file %s\n" msgstr "" #: realtime.c:245 redirector.c:163 redirector.c:498 #, c-format msgid "Invalid URL in file %s\n" msgstr "" #: realtime.c:249 #, c-format msgid "Invalid access type in file %s\n" msgstr "" #: realtime.c:312 msgid "Realtime" msgstr "" #: realtime.c:313 msgid "Auto refresh" msgstr "" #: realtime.c:314 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:140 splitlog.c:97 #, c-format msgid "Invalid date found in file %s\n" msgstr "" #: redirector.c:148 #, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 msgid "RULE" msgstr "" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "" #: redirector.c:502 #, c-format msgid "Invalid rule in file %s\n" msgstr "" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "" #: report.c:120 #, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 msgid "DATE" msgstr "" #: report.c:331 #, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, c-format msgid "Successful report generated on %s\n" msgstr "" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, c-format msgid "Failed to write a line in %s\n" msgstr "" #: report.c:513 #, c-format msgid "Failed to write the total line in %s\n" msgstr "" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "" #: smartfilter.c:57 #, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "" #: smartfilter.c:61 #, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "" #: smartfilter.c:65 #, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "" #: smartfilter.c:69 #, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr "" #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "" #: sort.c:66 #, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "" #: sort.c:70 #, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "" #: sort.c:118 #, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 msgid "site" msgstr "" #: sort.c:160 topuser.c:174 msgid "time" msgstr "" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "" #: splitlog.c:124 #, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 msgid "Top users" msgstr "" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 msgid "Graphic" msgstr "" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, c-format msgid "Failed to close the top user list %s - %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:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "" #: totday.c:166 #, 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr "" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "" #: usertab.c:68 #, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "" #: util.c:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "" #: util.c:1054 util.c:1077 #, c-format msgid "File %s already exists, moved to %s\n" msgstr "" #: util.c:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, c-format msgid "Failed to get the current time\n" msgstr "" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "" #: util.c:1387 #, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, c-format msgid "cannot stat \"%s\"\n" msgstr "" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" sarg-2.3.6/po/sk.gmo0000644000000000000000000000062312135004007012704 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/sk.po0000644000000000000000000023501412135004006012543 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication Failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Obdobie" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "ID UŽÃVATEĽA" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/MÉNO" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "dátum/Äas" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "NAVÅ TÃVENà SERVER" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Triedim súbor" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nemôžem otvoríť žurnál" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Nemôžem otvoríť žurnál" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Čítam prístupový žurnál" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Súbor nebol nájdený" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Súbor nebol nájdený" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Balím žurnálový súbor" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Rozbaľujem žurnálový súbor" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Balím ž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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Rozbaľujem žurnálový súbor" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Prehľad o využití Squidu podľa uživatelov" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Klesajúcí prístup (bytov)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Obdobie" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "PORADIE" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "SPOJENÃ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTOV" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "POUŽITà ČAS" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEC" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ÄŒAS" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "CELKOM" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "PRIEMER" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "prehľady" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Súbor nebol nájdený" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: 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:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Nemôžem otvoríť žurnál" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "chyba malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "chyba malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Užívateľ" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Nemôžem otvoríť žurnál" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "prehľady" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Súbor nebol nájdený" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Súbor nebol nájdený" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Súbor nebol nájdený" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Súbor nebol nájdený" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Užívateľ" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Vytváram správu" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "Zakázané" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "UŽÃVATELIA" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Rozbaľujem žurnálový súbor" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Rozbaľujem žurnálový súbor" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Súbor nebol nájdený" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Triedim súbor" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Nemôžem otvoríť žurnál" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Odstraňujem starý súbor s prehľadom" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nemôžem otvoríť žurnál" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametre" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Meno hostiteľa alebo IP adresa" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Emailová adresa, na ktorú sa majú odoslaÅ¥ prehľady" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Ãno" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Nie" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Meno hostiteľa alebo IP adresa" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Meno hostiteľa alebo IP adresa" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, 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:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Čítam prístupový žurnál" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Balím žurnálový súbor" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Čítam prístupový žurnál" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Súbor nebol nájdený" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Súbor nebol nájdený" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "VÅ¡eobecný formát žurnálu" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid formát žurnálu" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Žurnál s neplatným formátom" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "NenaÅ¡iel som žiadne záznamy" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Koniec" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Čítam prístupový žurnál" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Obdobie" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Obdobie" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Súbor nebol nájdený" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Súbor nebol nájdený" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "NaÄítávam heslo zo súboru" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "chyba malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Nemôžem otvoríť žurnál" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Súbor nebol nájdený" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Rozbaľujem žurnálový súbor" #: 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 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Rozbaľujem žurnálový súbor" #: 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Nemôžem otvoríť žurnál" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Súbor nebol nájdený" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "dátum/Äas" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Prehľad úspeÅ¡ne vygenerovaný" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Prehľad úspeÅ¡ne vygenerovaný a zaslaný na adresu" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Vytváram súbor" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Súbor nebol nájdený" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Týždne" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Súbor nebol nájdený" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Súbor nebol nájdený" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Súbor nebol nájdený" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Súbor nebol nájdený" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Generoval" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "dňa" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Nemôžem otvoríť žurnál" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Súbor nebol nájdený" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Súbor nebol nájdený" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Triedim súbor" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Súbor nebol nájdený" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "ÄŒas" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "serverov" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Užívateľ" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Súbor nebol nájdený" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Nemôžem otvoríť žurnál" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Ladiaca zprávy" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "DoÄasný adresár" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Prehľady podľa užívatela a IP adresy" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: 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 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Záznamov naÄítano" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Vytváram prehľad o klientoch" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Prehľad o použitých klientech pre Squid" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "KLIENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Nemôžem otvoríť žurnál" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "už existuje, presúvám do" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Odstraňujem prechodný súbor" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Nedá sa otvoriÅ¥ súbor" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Nemôžem otvoríť žurnál" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Report" #~ msgstr "Prehľad" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Failed to delete the 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 "(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 "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(html11) Cannot open file %s - %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Nemôžem otvoríť žurnál" #, fuzzy #~ msgid "Sort" #~ msgstr "Triedenie" #, fuzzy #~ msgid "USER" #~ msgstr "UŽÃVATELIA" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Rozbaľujem žurnálový súbor" #, fuzzy #~ msgid "(convlog) Cannot open log 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 "Reading squidGuard log file %s\n" #~ msgstr "Čítam prístupový žurnál" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "chyba malloc" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Nedá sa otvoriÅ¥ súbor" #, 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 "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 "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 "sarg version: %s" #~ msgstr "verzia" #, fuzzy #~ msgid "written" #~ msgstr "zapísane" #, fuzzy #~ msgid "excluded" #~ msgstr "vyňaté" #, fuzzy #~ msgid "IP report" #~ msgstr "IP správa" sarg-2.3.6/po/sr.gmo0000644000000000000000000000062312135004007012713 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: LANGUAGE Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sarg-2.3.6/po/sr.po0000644000000000000000000024045412135004006012556 0ustar rootroot# Serbian translations for sarg package. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the sarg package. # Radovan Drobnjakovic , 2010 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: sarg 2.3\n" "Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net\n" "POT-Creation-Date: 2013-04-21 17:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, fuzzy, c-format msgid "Cannot delete \"%s\": %s\n" msgstr "Nemoguce otvoriti log datoteku" #: authfail.c:77 msgid "Authentication failures report not produced because it is empty\n" msgstr "" #: authfail.c:87 dansguardian_log.c:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Period" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "KORISNIK" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/IME" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "DATUM/VREME" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "POSECENE ADRESE NA INTERNET-u" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Sortiranje datoteke" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Nemoguce otvoriti log datoteku" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Nemoguce otvoriti log datoteku" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Citanje access log datoteke" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 useragent.c:132 #, fuzzy, c-format msgid "Sorting file: %s\n" msgstr "Sortiranje datoteke" #: 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 "Nemoguce otvoriti log datoteku" #: dansguardian_report.c:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 report.c:114 #, fuzzy, c-format msgid "Cannot enumerate the user list\n" msgstr "Nemoguce otvoriti log datoteku" #: datafile.c:83 #, fuzzy, c-format msgid "Reading user file: %s/%s\n" msgstr "Pravljenje datoteke" #: datafile.c:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Kompresija log datoteke" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Decompresija log datoteke" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Kompresija log datoteke" #: 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Decompresija log datoteke" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Izvestaj o pristupu Squid korisnika" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Smanjivanje pristupa (bajtova)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Period" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "BROJ" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "BROJ KONEKCIJA" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BAJTOVA" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "UPOTREBLJENO VREME" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISEKUNDE" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "VREME" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "UKUPNO" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "PROCENTUALNO" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "izvestaj" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Ucitavanje exclude datoteke iz" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: 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 "Ucitavanje exclude datoteke iz" #: exclude.c:322 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc greska" #: 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 "" "Maybe you have a broken record or garbage in \"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 "Ucitavanje exclude datoteke iz" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc greska" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Korisnik" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "izvestaj" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Korisnik" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Pravljenje izvestaja" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "ODBIJA SE" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: html.c:555 #, 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 "Pravljenje datoteke index.html" #: index.c:58 index.c:112 index.c:167 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: index.c:146 index.c:427 #, fuzzy msgid "SARG report" msgid_plural "SARG reports" msgstr[0] "izvestaj" msgstr[1] "izvestaj" #: 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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: index.c:432 #, fuzzy msgid "FILE/PERIOD" msgstr "DATOTEKA/PERIOD" #: index.c:432 #, fuzzy msgid "CREATION DATE" msgstr "DATUM KREIRANJA" #. 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "KORISNICI" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, fuzzy, c-format msgid "Cannot resolve host name %s: %s\n" msgstr "Nemoguce otvoriti log datoteku" #: 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_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 "Decompresija log datoteke" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Decompresija log datoteke" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Sortiranje datoteke" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Sklonjen stari izvestaj" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Nemoguce otvoriti log datoteku" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametri" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Racunar ili njegova IP adresa" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-mail adresa za slanje izvestaja" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Yes" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "No" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Racunar ili njegova IP adresa" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Racunar ili njegova IP adresa" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Upotrebi IP adresu umesto korisnicke identifikacije" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Citanje access log datoteke" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Kompresija log datoteke" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Citanje access log datoteke" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Log ima pomesan format podataka (squid i common log)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Common log format" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid log format" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Log sa pogresnim formatom" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Podaci nisu pronadjeni" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Kraj" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Citanje access log datoteke" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Period" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Period" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Ucitavanje datoteke sa lozinkama iz" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc greska" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Nemoguce otvoriti log datoteku" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "Nemoguce otvoriti datoteku ili je los putokaz" #: realtime.c:84 #, fuzzy, c-format msgid "tail command: %s\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Decompresija log datoteke" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Decompresija log datoteke" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Decompresija log datoteke" #: 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 "Decompresija log datoteke" #: redirector.c:123 #, fuzzy, c-format msgid "User ID too long in redirector log file %s\n" msgstr "Decompresija log datoteke" #: redirector.c:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:230 #, fuzzy, c-format msgid "Reading redirector log file %s\n" msgstr "Citanje access log datoteke" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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 "Nemoguce otvoriti log datoteku" #: redirector.c:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "DATUM/VREME" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Uspesno je generisan izvestaj" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Izvestaj je uspesno generisan i upucen na" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Pravljenje datoteke" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Sites & Users" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Generisano od" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "on" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Sortiranje datoteke" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Vreme" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "sajtovi" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Korisnik" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Datoteka nije nadjena ili je los putokaz" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: 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 "Nemoguce otvoriti datoteku ili je los putokaz" #: 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 "Citanje access log datoteke" #: url.c:583 #, fuzzy, c-format msgid "Cannot read host name alias file \"%s\" - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: url.c:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "Racunar ili njegova 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 "Prevodjenje access.log datoteke u ? 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 "E-mail adresa za slanje izvestaja" #: 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 poruke" #: usage.c:43 msgid " --help This help" msgstr "" #: usage.c:44 #, fuzzy msgid " -i Reports by user and IP address" msgstr "Izvaestaj po korisniku i IP adresi" #: usage.c:45 msgid " --keeplogs Keep every previously generated report" msgstr "" #: usage.c:46 #, fuzzy msgid " -l FILE Input log" msgstr "Ulazni 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 "Obradi poruke" #: usage.c:49 #, fuzzy msgid " -n Resolve IP addresses using RDNS" msgstr "Razresi IP Adresu" #: usage.c:50 #, fuzzy msgid " -o DIR Report output directory" msgstr "Privremeni direktorijum" #: usage.c:51 #, fuzzy msgid " -p Use Ip Address instead of userid (reports)" msgstr "Upotrebi IP adresu umesto korisnicke identifikacije" #: 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 "Razdvajanje log datoteke preko -d parametra" #: 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 "Izvaestaj po korisniku i IP adresi" #: usage.c:60 #, fuzzy msgid " -w DIR Temporary directory" msgstr "Privremeni direktorijum" #: usage.c:61 #, fuzzy msgid " -x Debug messages" msgstr "Debug poruke" #: usage.c:62 #, fuzzy msgid " -z Process messages" msgstr "Obradi poruke" #: useragent.c:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Citanje useragent log-a" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Podaci procitani" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Pravljenje Useragent izvestaja" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent izvestaj" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Cannot load. Memory fault" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Loading User table" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Nemoguce otvoriti log datoteku" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "Vec postoji, preseljeno na" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Nemoguce otvoriti log datoteku" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Sklonjen privremeni izvestaj" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Nemoguce otvoriti log datoteku" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Nemoguce otvoriti log datoteku" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Nemoguce otvoriti log datoteku" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Nemoguce otvoriti log datoteku" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Report" #~ msgstr "Izvestaj" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Failed to delete the file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid " -b Useragent log" #~ msgstr "Useragent log" #, fuzzy #~ msgid " -c Exclude file" #~ msgstr "Iskljuci datoteku" #, fuzzy #~ msgid " -o Output dir" #~ msgstr "Izlazni dir" #, fuzzy #~ msgid "(report-1) Cannot open file %s - %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "(report-2) Cannot open file %s - %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary file %s - %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "Cannot get the size of file %s" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "ERROR: Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "(html11) Cannot open file %s - %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "Sort" #~ msgstr "Sortiranje" #, fuzzy #~ msgid "USER" #~ msgstr "KORISNICI" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Decompresija log datoteke" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Decompresija log datoteke" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "Citanje access log datoteke" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc greska" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(email) read error in %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(html1) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(siteuser) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "(squidguard) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(topsites) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "(topsites) read error in %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Making period file\n" #~ msgstr "Pravljenje datoteke za period" #, fuzzy #~ msgid "Cannot open file %s for writing\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "IN" #~ msgstr "USLO" #, fuzzy #~ msgid "CACHE" #~ msgstr "CACHE" #, fuzzy #~ msgid "OUT" #~ msgstr "IZASLO" #, fuzzy #~ msgid "Cannot open log file" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "Cannot load. Memory fault" #~ msgstr "Cannot load. Memory fault" #, fuzzy #~ msgid "malloc error" #~ msgstr "malloc greska" #, fuzzy #~ msgid "SARG: (useragent) Cannot open file %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "(useragent) Cannot open file: %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "Usage" #~ msgstr "Upotreba" #, fuzzy #~ msgid "options" #~ msgstr "izbor" #, fuzzy #~ msgid "Date from-until" #~ msgstr "Datum od-do" #, fuzzy #~ msgid "Email address to send reports" #~ msgstr "E-mail adresa za slanje izvestaja" #, fuzzy #~ msgid "stdout for console" #~ msgstr "stdout za konzolu" #, fuzzy #~ msgid "Config file" #~ msgstr "Konfiguraciona datoteka" #, fuzzy #~ msgid "Date format" #~ msgstr "Format datuma" #, fuzzy #~ msgid "Europe" #~ msgstr "Evropski" #, fuzzy #~ msgid "USA" #~ msgstr "USA" #, fuzzy #~ msgid "Accessed site" #~ msgstr "Posecene adrese na internetu" #, fuzzy #~ msgid "SARG: (totday) Cannot open log file: %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "(squidguard) Cannot open log file: %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "Top" #~ msgstr "Vrh" #, fuzzy #~ msgid "SARG: (log) Cannot open log file: %s - %s\n" #~ msgstr "Nemoguce otvoriti log datoteku" #, fuzzy #~ msgid "Cannot open temporary file" #~ msgstr "Nemoguce otvoriti privremanu datoteku" #, fuzzy #~ msgid "Reading access log file" #~ msgstr "Citanje access log datoteke" #, fuzzy #~ msgid "SARG: (email) Cannot open file: %s\n" #~ msgstr "Nemoguce otvoriti datoteku ili je los putokaz" #, fuzzy #~ msgid "End" #~ msgstr "Kraj" #, fuzzy #~ msgid "File" #~ msgstr "Datoteka" #, fuzzy #~ msgid "limit exceeded" #~ msgstr "limit prekoracen" #, fuzzy #~ msgid "Added to file" #~ msgstr "Dodato datoteci" #, fuzzy #~ msgid "SARG: Hostname or IP address (-a) = %s\n" #~ msgstr "Racunar ili njegova IP adresa" #, fuzzy #~ msgid "SARG: Email address to send reports (-e) = %s\n" #~ msgstr "E-mail adresa za slanje izvestaja" #, fuzzy #~ msgid "SARG: Use Ip Address instead of userid (-p) = %s\n" #~ msgstr "Upotrebi IP adresu umesto korisnicke identifikacije" #, fuzzy #~ msgid "sarg version: %s" #~ msgstr "verzija" #, fuzzy #~ msgid "written" #~ msgstr "upisano" #, fuzzy #~ msgid "excluded" #~ msgstr "iskljuceno" #, fuzzy #~ msgid "IP report" #~ msgstr "IP izvestaj" sarg-2.3.6/po/tr.gmo0000644000000000000000000000062312135004007012714 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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.6/po/tr.po0000644000000000000000000023213412135004006012553 0ustar rootroot# 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: 2013-04-21 17:38+0200\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 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Dosya acilamiyor" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Authentication failures" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Periyod" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "KULLANICI ADI" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/ISIM" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "TARIH/SAAT" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "SITE" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Dosya siralaniyor" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: convlog.c:53 splitlog.c:89 #, c-format msgid "Not enough memory to read the log file %s\n" msgstr "" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Kutuk dosyasi acilamadi" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Kutuk dosyasi acilamadi" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "erisim kutuk dosyasi okunuyor" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Dosya acilamiyor" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Dosya acilamiyor" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Dosya acilamiyor" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Dosya acilamiyor" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 #, fuzzy msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Dosya bulunamadi" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Dosya bulunamadi" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "Kutuk dosyasi sikistiriliyor" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Kutuk dosyasi aciliyor" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "Kutuk dosyasi sikistiriliyor" #: 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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Denied" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Dosya acilamiyor" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Kutuk dosyasi aciliyor" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Squid Kullanicilari Erisim Raporu" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "Azalan erisim (byte)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Periyod" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "USERID" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "BAGLANTI" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "BYTE" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "HARCANAN ZAMAN" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "MILISANIYE" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ZAMAN" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "TOPLAM" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "ORTALAMA" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "raporlar" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Dosya bulunamadi" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Exclude dosyasi okunuyor" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: 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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Kutuk dosyasi acilamadi" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Dosya acilamiyor" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "malloc hatasi" #: 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 "" "Maybe you have a broken record or garbage in \"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" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "malloc hatasi" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Dosya acilamiyor" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "Kullanici" #: grepday.c:617 grepday.c:734 #, c-format msgid "user name too long for %s/%s/%s\n" msgstr "" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Dosya acilamiyor" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Dosya acilamiyor" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Dosya acilamiyor" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Kutuk dosyasi acilamadi" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "raporlar" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Dosya bulunamadi" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Dosya bulunamadi" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Dosya bulunamadi" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Dosya bulunamadi" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "Kullanici" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "SmartFilter" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Rapor yaratiliyor" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "IZIN YOK" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %s\n" msgstr "Dosya acilamiyor" #: 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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: 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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "KULLANICILAR" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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 "Kutuk dosyasi aciliyor" #: ip2name_exec.c:103 #, fuzzy, c-format msgid "IP address \"%.*s\" too long for the command to run\n" msgstr "Kutuk dosyasi aciliyor" #: ip2name_exec.c:113 #, fuzzy, c-format msgid "Cannot run command %s\n" msgstr "Dosya bulunamadi" #: ip2name_exec.c:120 #, fuzzy, c-format msgid "Command failed: %s\n" msgstr "Dosya siralaniyor" #: lastlog.c:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Kutuk dosyasi acilamadi" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Eski rapor dosya(lar) siliniyor" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Kutuk dosyasi acilamadi" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Parametreler" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "Host ismi veya IP adresi" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "Raporlari gondermek icin e-posta adresi" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Evet" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "Hayir" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "Host ismi veya IP adresi" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "Host ismi veya IP adresi" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "Userid yerine IP Adresi kullan" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "erisim kutuk dosyasi okunuyor" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "Kutuk dosyasi sikistiriliyor" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "erisim kutuk dosyasi okunuyor" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Dosya bulunamadi" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Dosya acilamiyor" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Dosya acilamiyor" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Dosya bulunamadi" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, 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:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Common kutuk bicimi" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Squid kutuk bicimi" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Gecersiz bicimdeki kutuk" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "Kayit bulunamadi" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Son" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "erisim kutuk dosyasi okunuyor" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Periyod" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Periyod" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Dosya bulunamadi" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Dosya bulunamadi" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Password dosyasinin yuklendigi yer" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Dosya acilamiyor" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Dosya acilamiyor" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "malloc hatasi" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, fuzzy, c-format msgid "Cannot create a temporary file name to produce the report: %s\n" msgstr "Kutuk dosyasi acilamadi" #: realtime.c:71 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Dosya bulunamadi" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Dosya acilamiyor" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Dosya acilamiyor" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Dosya acilamiyor" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Dosya acilamiyor" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Dosya acilamiyor" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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 "Kutuk dosyasi aciliyor" #: redirector.c:95 #, fuzzy, c-format msgid "Hour string too long in redirector log file %s\n" msgstr "Kutuk dosyasi aciliyor" #: redirector.c:102 #, fuzzy, c-format msgid "Banning source name too long in redirector log file %s\n" msgstr "Kutuk dosyasi aciliyor" #: 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:153 #, fuzzy, c-format msgid "Invalid redirected source in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:158 #, fuzzy, c-format msgid "Invalid redirected list in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:168 #, fuzzy, c-format msgid "Invalid source IP in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user in file %s\n" msgstr "Dosya acilamiyor" #: 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: redirector.c:272 #, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Dosya acilamiyor" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Kutuk dosyasi acilamadi" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Dosya bulunamadi" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "TARIH/SAAT" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Dosya acilamiyor" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Raporun basari ile yaratildigi yer" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Rapor basari ile yaratildi ve gonderildigi yer" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Dosya yaratiliyor" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Dosya acilamiyor" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Dosya acilamiyor" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Dosya bulunamadi" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Siteler & Kullanicilar" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Dosya bulunamadi" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Dosya bulunamadi" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Dosya bulunamadi" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Dosya bulunamadi" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "SmartFilter" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Yaratilma Tarihi" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "ile" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Kutuk dosyasi acilamadi" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Dosya bulunamadi" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Dosya bulunamadi" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Dosya siralaniyor" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Dosya bulunamadi" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Topsites" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "Zaman" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "siteler" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Topsites" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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 "Kullanici" #: topuser.c:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "Dosya acilamiyor" #: 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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Dosya bulunamadi" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Kutuk dosyasi acilamadi" #: totday.c:166 #, fuzzy, c-format msgid "Invalid day index found in the hourly statistics\n" msgstr "Dosya acilamiyor" #: 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 #, fuzzy, c-format msgid "Invalid NUL character found in regular expression\n" msgstr "Dosya acilamiyor" #: 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:588 #, c-format msgid "Not enough memory to read the host name aliases\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 "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 #, fuzzy msgid " -h This help" msgstr "Debug mesajlari" #: 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 #, fuzzy msgid " -o DIR Report output directory" msgstr "Gecici dizin" #: 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 #, fuzzy msgid " -u USER Report only that user's activity" msgstr "Kullanici ve IP adresi ile raporlar" #: 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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Dosya acilamiyor" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "useragent kutugu okunuyor" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "Okunan kayitlar" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Useragent raporu yaratiliyor" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Squid Useragent'in Raporu" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "AGENT" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Kutuk dosyasi acilamadi" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Dosya acilamiyor" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Dosya acilamiyor" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Yuklenemiyor. Hafiza hatasi" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Kullanici tablosu yukleniyor" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Dosya acilamiyor" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "zaten var, tasindigi yer" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Dosya acilamiyor" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Dosya acilamiyor" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Dosya acilamiyor" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Gecici dosya(lar) siliniyor" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Dosya acilamiyor" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Kutuk dosyasi acilamadi" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #, fuzzy #~ msgid "Failed to delete the file \"%s\" after processing it - %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Report" #~ msgstr "Rapor" #, fuzzy #~ msgid "Cannot delete unused file \"%s\" - %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Failed to remove the file %s: %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Failed to delete the 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 "(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 "pre-sorting files\n" #~ msgstr "pre-sorting files" #, fuzzy #~ msgid "Cannot delete temporary 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 "(html11) Cannot open file %s - %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(html2) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "(totger) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Failed to move to the end of %s - %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Failed to rewind to the beginning of the file %s: %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Failed to write the total line in %s - %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Failed to truncate %s: %s\n" #~ msgstr "Kutuk dosyasi acilamadi" #, fuzzy #~ msgid "Sort" #~ msgstr "Siralama" #, fuzzy #~ msgid "USER" #~ msgstr "KULLANICILAR" #, fuzzy #~ msgid "Month string too long in redirector log file %s\n" #~ msgstr "Kutuk dosyasi aciliyor" #, fuzzy #~ msgid "(convlog) Cannot open log file %s\n" #~ msgstr "Dosya acilamiyor" #, fuzzy #~ msgid "Decompressing log file: %s (uncompress)\n" #~ msgstr "Kutuk dosyasi aciliyor" #, fuzzy #~ msgid "Reading squidGuard log file %s\n" #~ msgstr "erisim kutuk dosyasi okunuyor" #, fuzzy #~ msgid "SQUIDGUARD" #~ msgstr "SQUIDGUARD" #, fuzzy #~ msgid "squidGuard" #~ msgstr "squidGuard" #, fuzzy #~ msgid "malloc error (1024)\n" #~ msgstr "malloc hatasi" #, fuzzy #~ msgid "(download) Cannot open file %s\n" #~ msgstr "Dosya acilamiyor" #, 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 "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 "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 "sarg version: %s" #~ msgstr "surum" #, fuzzy #~ msgid "written" #~ msgstr "yazilan" #, fuzzy #~ msgid "excluded" #~ msgstr "exclude yapildi" #, fuzzy #~ msgid "IP report" #~ msgstr "IP raporu" sarg-2.3.6/po/uk.gmo0000644000000000000000000000062312135004007012706 0ustar rootrootÞ•$,8Y9Project-Id-Version: sarg 2.3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 sarg-2.3.6/po/uk.po0000644000000000000000000025002412135004006012543 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "" #: auth.c:46 #, fuzzy, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "Ðе можу відкрити файл" #: auth.c:51 #, fuzzy, c-format msgid "(auth) Cannot open template 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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "" #: authfail.c:92 authfail.c:102 #, fuzzy, c-format msgid "(authfail) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: authfail.c:106 authfail.c:110 topuser.c:241 #, fuzzy msgid "Authentication Failures" msgstr "Помилка аутентифікації" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, fuzzy, c-format msgid "Period: %s" msgstr "Період" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 #, fuzzy msgid "USERID" msgstr "КориÑтувач" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "IP/NAME" msgstr "IP/ХоÑÑ‚" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 #, fuzzy msgid "DATE/TIME" msgstr "Дата/ЧаÑ" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 #, fuzzy msgid "ACCESSED SITE" msgstr "ÐдреÑа" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, fuzzy, c-format msgid "Write error in file %s\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, fuzzy, c-format msgid "Failed to close file %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "" #: dansguardian_log.c:56 #, fuzzy, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "Ðе можу відкрити файл журналу" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, fuzzy, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "Ðе можу відкрити файл журналу" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "" #: dansguardian_log.c:80 #, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "" #: dansguardian_log.c:87 #, fuzzy, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "Ðе можу відкрити файл" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "Ðе можу відкрити файл" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "Ðе можу відкрити файл" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "Ðе можу відкрити файл" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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:72 dansguardian_report.c:77 #, fuzzy, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "" #: dansguardian_report.c:89 #, fuzzy msgid "CAUSE" msgstr "CAUSE" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "Файл не знайдений" #: datafile.c:92 datafile.c:148 #, fuzzy, c-format msgid "(datafile) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "" #: decomp.c:36 #, fuzzy, c-format msgid "File not found: %s\n" msgstr "Файл не знайдений" #: decomp.c:42 decomp.c:62 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: decomp.c:44 decomp.c:54 decomp.c:64 #, fuzzy, c-format msgid "decompression command too long for log file %s\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: decomp.c:52 #, fuzzy, c-format msgid "Decompressing log file \"%s\" with bzcat\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:76 denied.c:81 #, fuzzy, c-format msgid "(denied) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: denied.c:85 denied.c:89 #, fuzzy msgid "Denied" msgstr "Заборонені" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "" #: dichotomic.c:161 dichotomic.c:176 #, fuzzy, c-format msgid "Not enough memory to store the key/value pair %s/%s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "" #: download.c:114 msgid "No downloaded files to report\n" msgstr "" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, fuzzy, c-format msgid "(download) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл" #: download.c:142 download.c:146 topuser.c:239 #, fuzzy msgid "Downloads" msgstr "Downloads" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, fuzzy, c-format msgid "(email) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: email.c:161 log.c:379 #, fuzzy msgid "Squid User Access Report" msgstr "Звіт про роботу кориÑтувачів через Squid" #: email.c:165 #, fuzzy msgid "Decreasing Access (bytes)" msgstr "По Ñпаданню (байти)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 #, fuzzy msgid "Period" msgstr "Період" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 #, fuzzy msgid "NUM" msgstr "â„–" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 #, fuzzy msgid "CONNECT" msgstr "ПідключеннÑ" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 #, fuzzy msgid "BYTES" msgstr "Байт" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 #, fuzzy msgid "ELAPSED TIME" msgstr "ВикориÑтаний чаÑ" #: email.c:183 html.c:215 topuser.c:282 #, fuzzy msgid "MILLISEC" msgstr "МіліÑек." #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 #, fuzzy msgid "TIME" msgstr "ЧаÑ" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 #, fuzzy msgid "TOTAL" msgstr "Ð’Ñього" #: email.c:247 html.c:564 index.c:432 topuser.c:460 #, fuzzy msgid "AVERAGE" msgstr "Середній" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "звіти" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "Файл не знайдений" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, fuzzy, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: exclude.c:200 #, fuzzy, c-format msgid "Loading exclude host file from: %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ їз" #: exclude.c:203 exclude.c:317 #, fuzzy, c-format msgid "(gethexclude) Cannot open file %s - %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 #, fuzzy, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "Ðе можу відкрити файл" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, fuzzy, c-format msgid "Cannot get the size of file %s\n" msgstr "Ðе можу відкрити файл журналу" #: exclude.c:332 #, fuzzy, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "Ðе можу відкрити файл" #: exclude.c:337 #, fuzzy, c-format msgid "malloc error (%ld bytes required)\n" msgstr "Помилка malloc" #: 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 "" "Maybe you have a broken record or garbage in \"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 "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½ÑŒ їз" #: getconf.c:787 #, fuzzy, c-format msgid "(getconf) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "Помилка malloc" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:170 #, fuzzy, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:237 #, fuzzy, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:296 #, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:300 #, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "" #: grepday.c:557 msgid "SARG, " msgstr "" #: grepday.c:561 #, fuzzy, c-format msgid "User: %s" msgstr "КориÑтувач" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "Файл не знайдений" #: grepday.c:621 grepday.c:692 #, fuzzy, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "" #: grepday.c:702 redirector.c:486 repday.c:81 #, fuzzy, c-format msgid "Invalid date in file %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:708 #, fuzzy, c-format msgid "Invalid entry in file %s\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "" #: grepday.c:721 repday.c:113 #, fuzzy, c-format msgid "Invalid elapsed time in file %s\n" msgstr "Ðе можу відкрити файл" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "Ðе можу відкрити файл журналу" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "звіти" #: grepday.c:748 grepday.c:761 index.c:263 #, fuzzy msgid "DAYS" msgstr "DAYS" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "Файл не знайдений" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "Файл не знайдений" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "Файл не знайдений" #: html.c:110 #, fuzzy, c-format msgid "(html3) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "Файл не знайдений" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "" #: html.c:177 #, fuzzy, c-format msgid "(html5) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:181 html.c:187 msgid "User report" msgstr "" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 #, fuzzy msgid "User" msgstr "КориÑтувач" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "СмартФільтр" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "" #: html.c:222 #, fuzzy, c-format msgid "Making report: %s\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð²Ñ–Ñ‚Ñƒ" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "" #: html.c:321 #, fuzzy msgid "DENIED" msgstr "ЗÐБОРОÐÐ" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "" #: html.c:340 #, fuzzy, c-format msgid "(html6) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:345 #, fuzzy, c-format msgid "(html7) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "" #: html.c:399 #, fuzzy, c-format msgid "(html8) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:533 #, fuzzy, c-format msgid "(html9) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:548 #, fuzzy, c-format msgid "(html10) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, fuzzy, c-format msgid "Failed to open directory %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: index.c:143 index.c:195 index.c:256 #, fuzzy, c-format msgid "(index) Cannot open file %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: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:282 index.c:288 index.c:295 index.c:458 #, fuzzy, c-format msgid "Failed to close the index file %s - %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 "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\n" msgstr "" #: index.c:397 #, c-format msgid "Not enough memory to store the directory name \"%s\" in the index\n" msgstr "" #: index.c:424 #, fuzzy, c-format msgid "(index) Cannot open file %s\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:101 topsites.c:258 #, fuzzy msgid "USERS" msgstr "КориÑтувачі" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%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 #, 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_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:51 lastlog.c:106 #, fuzzy, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "Ðе можу відкрити файл журналу" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "" #: lastlog.c:119 #, fuzzy, c-format msgid "Removing old report file %s\n" msgstr "Знищую Ñтарий файл звіту" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "" #: log.c:476 #, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "" #: log.c:484 #, c-format msgid "" "Time range passed on the command line with option -t must be HH:MM-HH:MM\n" msgstr "" #: log.c:512 #, c-format msgid "Option -%c requires an argument\n" msgstr "" #: log.c:530 #, c-format msgid "Too many log files passed on command line.\n" msgstr "" #: log.c:534 #, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "" #: log.c:543 #, c-format msgid "Init\n" msgstr "" #: log.c:547 #, fuzzy, c-format msgid "Cannot open config file: %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:677 log.c:710 #, fuzzy, c-format msgid "Parameters:\n" msgstr "Параметри" #: log.c:678 log.c:711 #, fuzzy, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr "ХоÑÑ‚ або IP-адреÑа" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr "" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr "" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr "" #: log.c:682 log.c:715 #, fuzzy, c-format msgid " Email address to send reports (-e) = %s\n" msgstr "E-mail адреÑа Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²ÐºÐ¸ звіту" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr "" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr "" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr "" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr "" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr "" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "Yes" msgstr "Так" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 #, fuzzy msgid "No" msgstr "ÐÑ–" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr "ХоÑÑ‚ або IP-адреÑа" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr "" #: log.c:695 log.c:728 #, fuzzy, c-format msgid " Redirector log (-L) = %s\n" msgstr "ХоÑÑ‚ або IP-адреÑа" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr "" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr "" #: log.c:698 log.c:731 #, fuzzy, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ВикориÑтовувати Ip-адреÑу заміÑть імені кориÑтувача" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr "" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr "" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr "" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr "" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr "" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr "" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "" #: log.c:796 log.c:803 #, fuzzy, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:817 #, fuzzy, c-format msgid "Reading access log file: from stdin\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "" #: log.c:827 #, fuzzy, c-format msgid "Ignoring old log file %s\n" msgstr "ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:834 log.c:906 #, fuzzy, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:837 #, fuzzy, c-format msgid "Reading access log file: %s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "" #: log.c:880 #, fuzzy, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "Log is from Microsoft ISA" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "Файл не знайдений" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "Ðе можу відкрити файл" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "" #: log.c:1487 #, fuzzy, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "Ðе можу відкрити файл" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "Файл не знайдений" #: log.c:1501 log.c:1522 #, fuzzy, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:1507 #, fuzzy, c-format msgid "Write error in the log file of user %s\n" msgstr "Ðе можу відкрити файл" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "" #: log.c:1603 #, fuzzy, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "Журнал міÑтить запиÑи різних форматів (squid Ñ– ін.)" #: log.c:1606 #, fuzzy, c-format msgid "Common log format\n" msgstr "Журнал іншого формату" #: log.c:1609 #, fuzzy, c-format msgid "Squid log format\n" msgstr "Журнал в Squid-форматі" #: log.c:1612 #, fuzzy, c-format msgid "Sarg log format\n" msgstr "Sarg log format" #: log.c:1615 #, fuzzy, c-format msgid "Log with invalid format\n" msgstr "Журнал в невірному форматі" #: log.c:1619 #, fuzzy, c-format msgid "No records found\n" msgstr "ЗапиÑи не знайдені" #: log.c:1620 log.c:1750 #, fuzzy, c-format msgid "End\n" msgstr "Зроблено" #: log.c:1634 #, fuzzy, c-format msgid "Period covered by log files: %s-%s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "Період" #: log.c:1648 #, fuzzy, c-format msgid "Period: %s\n" msgstr "Період" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "Файл не знайдений" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "Файл не знайдений" #: log.c:1691 #, fuzzy, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg parsed log saved as" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, fuzzy, c-format msgid "Loading password file from %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ паролів із" #: log.c:1767 #, fuzzy, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: log.c:1772 #, fuzzy, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "Ðе можу відкрити файл" #: log.c:1782 #, fuzzy, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "Ðе можу відкрити файл" #: log.c:1787 util.c:1424 #, fuzzy, c-format msgid "malloc error (%ld)\n" msgstr "Помилка malloc" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 "(realtime) mkstemp error - %s\n" msgstr "" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "Файл не знайдений" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "" #: realtime.c:130 #, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "Ðе можу відкрити файл" #: realtime.c:312 #, fuzzy msgid "Realtime" msgstr "Realtime" #: realtime.c:313 #, fuzzy msgid "Auto refresh" msgstr "Auto refresh" #: realtime.c:314 #, 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:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "Ðе можу відкрити файл" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, fuzzy, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\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:413 #, 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:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ журналу" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "" #: redirector.c:477 #, fuzzy msgid "RULE" msgstr "RULE" #: redirector.c:490 repday.c:97 #, fuzzy, c-format msgid "Invalid time in file %s\n" msgstr "Ðе можу відкрити файл" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "Ðе можу відкрити файл" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "" #: repday.c:69 repday.c:122 #, fuzzy, c-format msgid "(repday) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "" #: repday.c:126 msgid "Day report" msgstr "" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "" #: repday.c:237 #, 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 "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, fuzzy, c-format msgid "(report) Cannot open file %s\n" msgstr "Ðе можу відкрити файл журналу" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "Файл не знайдений" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "" #: report.c:257 msgid "Site access report" msgstr "" #: report.c:267 #, fuzzy msgid "DATE" msgstr "Дата/ЧаÑ" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "Ðе можу відкрити файл" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, fuzzy, c-format msgid "Successful report generated on %s\n" msgstr "Звіт уÑпішно Ñгенерований в:" #: report.c:403 #, fuzzy, c-format msgid "Successful report generated and sent to %s\n" msgstr "Звіт уÑпішно Ñгенерований Ñ– надіÑланий" #: report.c:420 #, fuzzy, c-format msgid "Making file: %s/%s\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "Ðе можу відкрити файл" #: report.c:513 #, fuzzy, c-format msgid "Failed to write the total line in %s\n" msgstr "Ðе можу відкрити файл" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "Файл не знайдений" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, fuzzy, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: siteuser.c:84 siteuser.c:88 topuser.c:236 #, fuzzy msgid "Sites & Users" msgstr "Сайти Ñ– КориÑтувачі" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "Файл не знайдений" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "Файл не знайдений" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "Файл не знайдений" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "Файл не знайдений" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "" #: smartfilter.c:84 smartfilter.c:94 #, fuzzy, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: smartfilter.c:109 topuser.c:242 #, fuzzy msgid "SmartFilter" msgstr "СмартФільтр" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "Generated by" msgstr "Згенерований" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 #, fuzzy msgid "on" msgstr "на" #: smartfilter.c:146 #, fuzzy, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "Ðе можу відкрити файл журналу" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "Файл не знайдений" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "Файл не знайдений" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Файл не знайдений" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "Топ Ñайти" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "ЧаÑ" #: sort.c:162 topuser.c:176 #, fuzzy msgid "bytes" msgstr "Сайти" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, fuzzy, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "" #: topsites.c:237 #, fuzzy, c-format msgid "Top %d sites" msgstr "Топ Ñайти" #: topsites.c:280 #, c-format msgid "The number of users is invalid in file %s\n" msgstr "" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, fuzzy, c-format msgid "(topuser) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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:215 #, c-format msgid "SARG report for %s" msgstr "" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 #, 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:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "" #: topuser.c:240 msgid "Denied accesses" msgstr "" #: topuser.c:243 msgid "Useragent" msgstr "" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "" #: topuser.c:352 #, fuzzy msgid "Graphic" msgstr "Graphic" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "" #: topuser.c:483 #, fuzzy, c-format msgid "Failed to close the top user list %s - %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:153 #, fuzzy, c-format msgid "File name too long: %s/%s%s\n" msgstr "Файл не знайдений" #: totday.c:158 #, fuzzy, c-format msgid "(totday) Cannot open log file %s\n" msgstr "Ðе можу відкрити файл журналу" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, fuzzy, c-format msgid "(useragent) Cannot open file %s\n" msgstr "Ðе можу відкрити файл" #: useragent.c:75 #, fuzzy, c-format msgid "Reading useragent log: %s\n" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ броузерів" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "" #: useragent.c:122 #, fuzzy, c-format msgid " Records read: %ld\n" msgstr "ЗапиÑів прочитано" #: useragent.c:163 #, fuzzy, c-format msgid "Making Useragent report\n" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð²Ñ–Ñ‚Ñƒ по броузерах" #: useragent.c:165 useragent.c:166 #, fuzzy msgid "Squid Useragent's Report" msgstr "Звіт Squid по броузерах" #: useragent.c:175 useragent.c:311 #, fuzzy msgid "AGENT" msgstr "Броузер" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "" #: usertab.c:64 #, fuzzy, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "Ðе можу відкрити файл журналу" #: usertab.c:68 #, fuzzy, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "Ðе можу відкрити файл" #: usertab.c:78 #, fuzzy, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "Ðе можу відкрити файл" #: usertab.c:82 #, fuzzy, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "Ðе можу завантажити. Помилка пам'Ñті" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, fuzzy, c-format msgid "Loading User table: %s\n" msgstr "Завантажую таблицю кориÑтувача" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "" #: util.c:358 #, 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:433 #, 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:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "" #: util.c:475 msgid "SARG: (info) " msgstr "" #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "" #: util.c:939 #, fuzzy, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "" #: util.c:964 util.c:967 #, fuzzy msgid "Cannot open file" msgstr "Ðе можу відкрити файл" #: util.c:1054 util.c:1077 #, fuzzy, c-format msgid "File %s already exists, moved to %s\n" msgstr "вже Ñ–Ñнує, перенеÑений в" #: util.c:1095 #, fuzzy, c-format msgid "cannot open %s for writing\n" msgstr "Ðе можу відкрити файл" #: util.c:1104 util.c:1109 #, fuzzy, c-format msgid "Failed to write the date in %s\n" msgstr "Ðе можу відкрити файл" #: util.c:1130 #, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, fuzzy, c-format msgid "Failed to get the current time\n" msgstr "Ðе можу відкрити файл" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, fuzzy, c-format msgid "Cannot convert local time: %s\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "" #: util.c:1324 #, c-format msgid "Invalid date range passed on command line\n" msgstr "" #: util.c:1375 #, fuzzy, c-format msgid "Purging temporary file sarg-general\n" msgstr "Знищую тимчаÑові файли" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "" #: util.c:1382 #, fuzzy, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1387 #, fuzzy, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1404 #, fuzzy, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1409 #, fuzzy, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "Ðе можу відкрити файл" #: util.c:1418 #, fuzzy, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "Ðе можу відкрити файл" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "Ðе можу відкрити файл журналу" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\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 remove the 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 "sarg version: %s" #~ msgstr "верÑÑ–Ñ" #, fuzzy #~ msgid "written" #~ msgstr "запиÑано" #, fuzzy #~ msgid "excluded" #~ msgstr "виключені" #, fuzzy #~ msgid "IP report" #~ msgstr "IP звіт" sarg-2.3.6/po/zh_CN.gmo0000644000000000000000000010537512135004007013302 0ustar rootrootÞ•  -Ð"+Ñ"+ý"+)#+U#+#+­#<Ù#@$9W$+‘$+½$+é$+%+A%+m%+™%+Å%+ñ%+&+I&u&2‹&!¾&*à& '(+'.T'ƒ'!£'#Å'é'('%($M("r( •(5¶(Dì(1)O)l)‰)¦)Ã)à)ý)!*,<*(i* ’*$³**Ø*+"+ A+8b+!›+½+#Û+"ÿ+&",%I,#o,“,!², Ô,#õ,#-+=- i-w-}-…- -ª-5°-æ-ì- ô-.".5A.0w.R¨.%û.8!/&Z/Q/Ó/)ó/!0(?0h0'y0/¡0Ñ0è0'û0 #1-121 91!F1h1 ˆ1'“1&»1â1ü12&2:2Y2 x2 ‚2!2±2$¶2'Û233)3 <3<H35…3»3'Ù3-4*/4Z4&y4 4>À4>ÿ45>57t5!¬5Î5)í5060H6'y6)¡6Ë6%ë6$767S7$q7–7 ª7·7¿7/Å7 õ7.8%18W8_8y8%8¥8Ã8â8û8 989!R9t9#“9'·9)ß9( :42:g:€:Ÿ:!¿:'á: ;U#;!y;›;³;Ë;ê;# <-<AL<Ž<­<5Æ<ü<= =$=8=K=4^=+“=4¿=7ô=:,>-g>,•>8Â>:û>66?5m?.£?:Ò?E @5S@:‰@CÄ@7A4@A-uA-£A-ÑA9ÿA59B,oB0œB0ÍB8þB=7C-uC9£C*ÝCND'WDD.ƒD²DµD%ÇD"íD.E/?E0oE& E'ÇE@ïE-0F6^FN•F#äF$G'-G)UG*G ªG·GÏG#ÖG úG H$H6H";H^H${H HÀHÛH äHKïH;IMIjI|I•I¨I¯I,¶I-ãI-J?JNJ,gJ6”JËJÐJáJþJ K K+K=KVKoK+K"­KÐKÕKÛKCàK)$L?NL'ŽL ¶L#×LûL0M!CMSeMY¹M<N/PN3€N$´NbÙN=‡ f‡‡‡—‡°‡¹‡‡*ˇö‡ ˆ ˆAˆ\ˆ_ˆ!bˆ„ˆ£ˆ »ˆȈ Ùˆãˆòˆ ‰*‰<‰\‰v‰#…‰©‰ ȉé‰ý‰ŠŠ)Š>Š SŠ[aŠ½ŠЊæŠ @6“µ…›_1KS\y¯å<›ã3H‡Ï.z¾:·Ãa÷0«Ú5Í•Ø$—6m9Å)xÙq£>»%𽈌A]í˜2¬‹Z@&i¦‘]7FU/I¹rwAÐ|ª¿³$ Q¶‚‡MUþßT8цÄ"ç­Y+ ˆ Ÿ–Ì™QOóHý  ËÜMÉP#¨ÖhvY N4bŒ="ûJ„TX©jæÈ–Àì“=>×*o;ucÛžCÒšgPŽÔD¤r-’wRüõsE'øcFÓD ŠR‹&!Wœ*(Ê•ôL„fñ?ödb(8BòE 3 s²5”àeS e+ƒGd.)Vh ¼nj†’0/§9ág€}^CL¢ŽNk[î'бélužOmÇÆ:ú#;ù?%y2‘,}Õz°~{fÁ`‰”ÝXWKJ4t‰ivB¸˜ïâp~ Gš^t1,7Îlœ!—pÿŸè{Þ®ºI륀q™ ¡Zƒx\´_…ä<n`oV[|k‚-aê 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 (auth) Cannot open file: %s - %s (auth) Cannot open template file: %s - %s (authfail) Cannot open file %s (dansguardian) Cannot open log file: %s (dansguardian_report) Cannot open log file %s (datafile) Cannot open file %s (denied) Cannot open log file %s (download) Cannot open log file %s (email) Cannot open file %s (getconf) Cannot open file %s (gethexclude) Cannot open file %s - %s (getusers) Cannot open file %s - %s (grepday) Cannot open log file %s (grepday) Fontname %s not found (grepday) iconv cannot convert from %s to UTF-8 - %s (grepday) iconv failed to convert string "%s" from %s to UTF-8 - %s (html10) Cannot open file %s (html3) Cannot open file %s (html5) Cannot open file %s (html6) Cannot open file %s (html7) Cannot open file %s (html8) Cannot open file %s (html9) Cannot open file %s (index) Cannot open file %s (index) Cannot open file %s - %s (index) rename error from "%s" to "%s" - %s (lastlog) Cannot open temporary file %s (log) Cannot open file: %s - %s (log) Cannot open log file: %s - %s (log) Cannot open temporary file: %s - %s (realtime) mkstemp error - %s (realtime) open error %s - %s (removetmp) Cannot open file %s (removetmp) directory too long to remove %s/sarg-period (repday) Cannot open log file %s (report) Cannot open file %s (siteuser) Cannot open log file %s (smartfilter) Cannot open file %s (smartfilter) Cannot open log file %s (squidguard) Cannot open log file %s (topsites) Cannot open log file %s (topuser) Cannot open file %s (totday) Cannot open log file %s (useragent) Cannot open file %s (usertab) Cannot open file %s - %s (util) Can't open directory %s: %s (util) Cannot open file %s (exclude_codes) 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 copy images to target directory %simages 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 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 Cannot open DansGuardian config file: %s Cannot open config file: %s - %s Cannot open exclude_hosts file: %s - %s Cannot open fileCannot open squidGuard config file: %s Cannot parse again the line as it was modified Cannot stat "%s" - %s Common log format Could not set LDAP protocol version %d DATE/TIMEDAYSDENIEDDansGuardianDatafile %s written successfully Date too long or invalid in %s Day reportDecompressing log file "%s" with bzcat Decompressing log file "%s" with zcat Decreasing Access (bytes)DeniedDenied accessesDestination directory too long: %s/%s Directory name too long: %s%s Download suffix list too long DownloadsELAPSED TIMEERROR: Cannot load. Memory fault End 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 close %s after writing the total line - %s Failed to close file %s - %s Failed to close the index file %s - %s Failed to close the log file of user %s - %s Failed to close the top user list %s - %s Failed to copy image %s to %s Failed to get the creation time of %s Failed to get the current time Failed to move till the end of the excluded codes file %s: %s Failed to move till the end of the excluded users file %s: %s Failed to move till the end of the users file %s: %s Failed to move till the end of the usertab 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 rewind the excluded codes file %s: %s Failed to rewind the excluded users file %s: %s Failed to rewind the users file %s: %s Failed to rewind the usertab file %s: %s Failed to write the date in %s Failed to write the total line in %s File %s already exists, moved to %s File name too long: %s/%s%s File name too long: %s/%s.ip File name too long: %s/%s/.htaccess File not found: %s Generated byGraphicH:M:SHour string too long in redirector log file %s IN-CACHE-OUTIP address too long in redirector log file %s IP address too long or invalid in %s IP/NAMEIgnoring old log file %s Init Invalid buffer passed to getword_ptr Invalid cache hit size in %s Invalid cache miss size in %s Invalid date in file %s Invalid elapsed time in %s Invalid elapsed time in file %s Invalid entry in file %s Invalid number of accesses in %s Invalid number of bytes in %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 weeks in -d parameter Invalid path (%s). Please, use absolute paths only. Invalid time in file %s Invalid total cache hit in %s Invalid total cache miss in %s Invalid total elapsed time in %s Invalid total number of accesses in %s Invalid total size in %s 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 file name too long passed on command line with option -l: %s Log is from Microsoft ISA: %s Log with invalid format Log with mixed records format (squid and common log) MILLISECMONTHMaking Useragent report Making file: %s/%s Making index.html Making report: %s Maybe a broken record or garbage was returned by %s Maybe you have a broken IP in your %s file Maybe you have a broken access code in your %s file Maybe you have a broken amount of data in your %s file Maybe you have a broken client IP address in your %s file Maybe you have a broken date in your %s file Maybe you have a broken day in your %s file Maybe you have a broken day in your %s%s/sarg-date file Maybe you have a broken download duration in your %s file Maybe you have a broken download size in your %s file Maybe you have a broken elapsed time in your %s file Maybe you have a broken month in your %s file Maybe you have a broken month in your %s%s/sarg-date file Maybe you have a broken record or garbage in "date_format" parameter Maybe you have a broken record or garbage in file %s Maybe you have a broken record or garbage in your %s file Maybe you have a broken record or garbage in your exclusion string Maybe you have a broken request method in your %s file Maybe you have a broken result code in your %s file Maybe you have a broken rule in your %s file Maybe you have a broken size in your %s file Maybe you have a broken time in your %s file Maybe you have a broken time in your %s%s/sarg-date file Maybe you have a broken time in your access.log file Maybe you have a broken url in your %s file Maybe you have a broken user ID in your %s file Maybe you have a broken user IP in your %s file Maybe you have a broken useragent entry in your %s file Maybe you have a broken week day in your %s%s/sarg-date file Maybe you have a broken year in your %s file Maybe you have a broken year in your %s%s/sarg-date file 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 file %s Not enough memory to read the denied accesses Not enough memory to read the downloaded files Not enough memory to read the downloaded files. Not enough memory to read the file %s 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 Not enough memory to store the user %s Output file name too long: %s/%s/%s.html Output file name too long: %s/%s/d%s.html Parameters: Path too long %s/%s.ip PeriodPeriod covered by log files: %s-%s Period: %sPeriod: %s Purging temporary file sarg-general RULEReading DansGuardian log file: %s Reading access log file: %s Reading access log file: from stdin Reading redirector log file %s Reading useragent log: %s RealtimeRedirectorRedirector log file name too long passed on command line with opton -L: %s Redirector reportRemoving old report file %s SARG Version: %s SARG reportSARG reportsSARG report for %sSARG, SARG: SARG: Records in file: %lu, reading: %3.2f%%SARG: Records in file: %lu, reading: %3.2f%% 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 & UsersSmartFilterSorting file: %s Squid 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" Temporary file name too long: %s/%s.utmp 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 %s failed 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 list of the users is too long in your %s file. 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 url is invalid in file %s The user ID at column 8 is too long The user at column 9 is too long There a broken total number of access in file %s There is a broken IP address in file %s There is a broken access code in file %s There is a broken date in file %s There is a broken downloaded size in file %s There is a broken elapsed time in file %s There is a broken elpased time in file %s There is a broken in cache column in file %s There is a broken in-cache size in file %s There is a broken in-cache volume in file %s There is a broken number of access in file %s There is a broken number of bytes in file %s There is a broken out of cache column in file %s (%d) There is a broken out-cache volume in file %s There is a broken out-of-cache size in file %s There is a broken record or garbage in file %s There is a broken smart info in file %s There is a broken time in file %s There is a broken url in file %s There is a broken user ID in file %s There is a broken user in file %s There is a invalid user in file %s There is an invalid IP address in file %s There is an invalid elapsed time in file %s There is an invalid number of access in file %s There is an invalid number of bytes in file %s There is an invalid smart info in file %s There is an invalid user ID in file %s There is an invalid useragent in file %s 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 in %s Too many download suffixes Too many log files in configuration file Too many log files passed on command line with option -l. Too many month directories in %s Supernumerary entries are ignored Too many redirector log files in configuration file Too many redirector logs passed on command line with option -L. Top %d sitesTop sitesTop usersURL too long or invalid in %s USERIDUSERSUnknown color "%s" requested for the graph. Using orange instead Unknown input log file format Unknown type %d for Y axis scale Unknown user ID %s in file %s Unknown value "%s" for parameter "%s" 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 reportUser: %sUseragentValue "%s" conflicts with other selected values for parameter "%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 YEARYesYou have an invalid user in your %s file cannot build the sort command to sort file %s cannot open %s for writing cannot stat %s command return status %d command: %s date/time reportdecompression command too long for log file %s directory name to delete too long: %s/%s directory name too long: %s failed to create link "%s" to "%s" - %s failed to rename %s to %s - %s getword backtrace: libgd failed to calculate the bounding box of the text "%s": %s libgd failed to render the text "%s": %s malloc error (%ld bytes required) malloc error (%ld) not enough memory to sort the index onsarg version: %s setrlimit error - %s 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. unknown path type %s user name too long for %s/%s.day user name too long to sort %s Project-Id-Version: sarg 2.3-pre3 Report-Msgid-Bugs-To: fmarchal@users.sourceforge.net POT-Creation-Date: 2013-04-21 17:38+0200 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 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 (auth) ²»ÄÜ´ò¿ªÎļþ: %s - %s (auth) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s (authfail) ²»ÄÜ´ò¿ªÎļþ %s (dansguardian) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s (dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (datafile) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (email)²»ÄÜ´ò¿ªÎļþ %s (getconf) ²»ÄÜ´ò¿ªÎļþ %s (gethexclude)²»ÄÜ´ò¿ªÎļþ %s - %s (getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s (grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (grepday) ×ÖÌåÃû³Æ %s ÕÒ²»µ½ (grepday) iconv ²»ÄÜת»»´Ó %s µ½ UTF-8 - %s (grepday) iconvת»»×Ö·û´®Ê§°Ü "%s" ´Ó %s µ½ UTF-8 - %s (html10) ²»ÄÜ´ò¿ªÎļþ %s (html3) ²»ÄÜ´ò¿ªÎļþ %s (html5) ²»ÄÜ´ò¿ªÎļþ %s (html6)²»ÄÜ´ò¿ªÎļþ %s (html7) ²»ÄÜ´ò¿ªÎļþ %s (html8) ²»ÄÜ´ò¿ªÎļþ %s (html9) ²»ÄÜ´ò¿ªÎļþ %s (index) ²»ÄÜ´ò¿ªÎļþ %s (index) ²»ÄÜ´ò¿ªÎļþ %s - %s (index)ÖØÃüÃû´íÎó´Ó "%s" ÖÁ "%s" - %s (lastlog) ²»ÄÜ´ò¿ªÁÙʱÎļþ %s (log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s (log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s (log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s (realtime)mkstemp ´íÎó - %s (realtime)´ò¿ª´íÎó %s - %s (removetmp) ²»ÄÜ´ò¿ªÎļþ %s (removetmp) Îļþ¼ÐÌ«³¤²»Äܱ»É¾³ý %s/sarg-period (repday) ²»ÄÜ´ò¿ªÎļþ %s (report) ²»ÄÜ´ò¿ªÎļþ %s (siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (smartfilter) ²»ÄÜ´ò¿ªÎļþ %s (smartfilter)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (topuser) ²»ÄÜ´ò¿ªÎļþ %s (today) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s (useragent) ²»ÄÜ´ò¿ªÎļþ %s (usertab) ²»ÄÜ´ò¿ªÎļþ %s - %s (util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s (util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes) ·ÃÎÊÕ¾µã´úÀíÆ½¾ùÖµÈÏ֤ʧ°Ü×Ô¶¯Ë¢ÐÂ×Ö½ÚÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐ×èÖ¹ÁбíÃû¹ý³¤ %s Ô­ÒòÁ¬½Ó´´½¨ÈÕÆÚ²»Äܰó¶¨ÖÁLDAP·þÎñÆ÷: %s ²»ÄÜת»»±¾µØÊ±¼ä: %s ²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ ²»ÄÜ¿½±´¾µÏñµ½Ä¿±êÎļþ¼Ð %simages ²»ÄÜ´´½¨Êä³öÎļþ¼ÐÃû°üº¬ÆÚ¼äµÄ²¿·ÖÃû³Æ ²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s ²»ÄÜ»ñÈ¡´ÅÅ̿ռäÒòΪ·¾¶ %s%s ¹ý³¤ ²»Äܵõ½´ÅÅ̿ռäʹÓÃÃüÁî %s ²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø ²»Äܵõ½ÎļþµÄ´óС %s ²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %s ²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s ²»ÄÜ´ò¿ªexclude_hostsÎļþ: %s-%s ²»ÄÜ´ò¿ªÎļþ²»ÄÜ´ò¿ªsauidGuard ÅäÖÃÎļþ: %s ²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä ²»ÄÜ¿ªÊ¼ "%s" - %s ÆÕͨÈÕÖ¾¸ñʽ ²»ÄÜÉèÖÃLDAPЭÒé°æ±¾ %d ÈÕÆÚ/ʱ¼äÈÕ×èÖ¹DansGuardianÊý¾ÝÎļþ %s дÈë³É¹¦ ÈÕÆÚ¹ý³¤»ò²»´æÔÚz %s ÈÕ±¨½âѹËõÎļþ "%s" ʹÓÃbzcat ½âѹËõÈÕÖ¾Îļþ "%s" ʹÓÃzcat ½µµÍ·ÃÎÊ(bytes)ÉùÃ÷×èÖ¹·ÃÎÊÄ¿±êĿ¼¹ý³¤: %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 תÏòÅųýÓû§Îļþʱʧ°Ü %s: %s ת´æÓû§Îļþʱʧ°Ü %s: %s ÎÞ·¨×ª»ØÓû§±íÎļþ %s: %s дÈëʱ¼äʱʧ°ÜÔÚw %s дÈëµÚÒ»ÐÐʱʧ°Ü %s Îļþ %s ÒѾ­´æÔÚ, ÒÆ¶¯ÖÁ %s ÎļþÃû¹ý³¤: %s/%s%s ÎļþÃû¹ý³¤: %s/%s.ip ÎļþÃû¹ý³¤: %s/%s/.htaccess δÕÒµ½Îļþ: %s ÓÉ Éú³ÉÊÓͼH:M:SÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐСʱ×Ö·û´®Ì«³¤ %s IN-CACHE-OUTÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐIPµØÖ·¹ý³¤ %s IPµØÖ·¹ý³¤»ò²»´æÔÚ %s IP/ÐÕÃûºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s Init ²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr ²»´æÔڵĻº´æÃüÖдóСÔÚ %s ²»´æÔÚ»º´æÎ´ÃüÖдóСÔÚ %s ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s ²»´æÔڵĵĹýȥʱ¼äÔÚ %s ÔÚÎļþÖдæÔÚÎÞЧµÄʱ¼ä¶Î %s ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s ²»´æÔڵķÃÎÊÊý %s ²»´æÔÚ×Ö½ÚÊýz %s ÔÚÎļþÖдæÔÚÎÞЧµÄÊý×Ö×Ö½Ú %s ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà -d ²ÎÊýʱ ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà -d ²ÎÊýʱ ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà -d ²ÎÊýʱ ²»´æÔڵķ¾¶ (%s). Çë½öʹÓþø¶Ô·¾¶. ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s ²»´æÔڵĻº´æÃüÖÐ×ÜÊý %s ²»´æÔڵĻº´æÎ´ÃüÖÐ×ÜÊý %s ²»´æÔÚ×ܵĹýȥʱ¼äÔÚ %s ²»´æÔڵķÃÎÊ×ÜÊýÔÚ %s ²»´æÔÚµÄ×Ü´óСÔÚ %s Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂLDAPÄ£¿éûÓбàÒëÔÚsargÖÐ LDAPËÑË÷ʧ°Ü: %s ÔØÈëÓû§±í: %s ÔØÈëÅäÖÃ´Ó %s ÔØÈëÅųýÎļþ´Ó: %s ÔØÈë¾Ü¾øÖ÷»úÎļþ´Ó: %s ¼ÓÔØÃÜÂë´ÓÎļþ %s ´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s ÈÕÖ¾À´×Ô΢ÈíISA: %s ²»´æÔÚµÄÈÕÖ¾¸ñʽ ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log) ºÁÃëÔ·ݱê¼ÇµÄÓû§´úÀí±¨¸æ Éú³ÉÎļþ: %s/%s ±ê¼Ç index.html ±ê¼Ç±¨¸æ: %s ¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø·µ»Ø´Ó %s ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ³ÖÐøÊ±¼äÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚ "date_format" ²ÎÊýÖÐ ¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s ¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´® ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄ¹æÔòÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄ´óСÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ ¿ÉÄÜÄãÓв»ÍêÕûµÄÁ¬½ÓÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§IPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§´úÀíÔÚÄãµÄ %s Îļþ ¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ ¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ ¿ÉÄÜÄãÓв»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ"%s" ÔÚ²ÎÊýÖ®ºóȱÉÙË«ÒýºÅ "%s" »òÕßÊýÖµ´óÓÚ %d ×Ö½Ú³¤ ²ÎÊýȱÉÙµÚ¶þ¸ö´Ê "%s" Êý×ÖÒÆ³ýµÄÎļþÃû¹ý³¤: %s/%s ·ñûÓÐÕÒµ½¼Í¼ ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶Áȡһ¸öÈÕÖ¾Îļþ ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡Îļþ %s ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡×èÖ¹·ÃÎÊ Ã»ÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÒÑÏÂÔØÎļþ. ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡Îļþ %s ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢ÎļþÃûÔÚ "%s" ÔÚË÷ÒýÖРûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄÁ¬½Ó ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢±»ÅųýµÄIPµØÖ· ¶ÁȡеÄÖØ¶¨ÏòÈÕÖ¾ÎļþÃûʱûÓеÄ×ã¹»µÄÄÚ´æ - %s ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s Êä³öÎļþÃû¹ý³¤: %s/%s/%s.html Êä³öÎļþÃû¹ý³¤ %s/%s/d%s.html ²ÎÊý: ·¾¶¹ý³¤ %s/%s.ip ÆÚ¼äÆÚ¼ä±»ÈÕÖ¾Îļþ¸²¸Ç: %s - %s Çø¼ä: %sÆÚ¼ä: %s Çå³þÁÙʱÎļþsarg-general ¹æÔò¶ÁÈ¡ DansGuardian ÈÕÖ¾Îļþ: %s ¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s ¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin ¶ÁÈ¡ÖØ¶¨ÏòÈÕÖ¾Îļþ %s ¶ÁÈ¡Óû§´úÀíÈÕÖ¾: %s Ê±ÊµÖØ¶¨Ïò´«ÈëÃüÁîÐвÎÊý -L µÄÖØ¶¨ÏòÈÕÖ¾ÎļþÃû¹ý³¤: %s ÖØ¶¨Ïò±¨¸æÒƶ¯¾ÉµÄ±¨¸æÎļþ %s SARG°æ±¾: %s SARG ±¨¸æSARG ±¨¸æ %sSARG,SARG: SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2f%%SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%% SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%SARG: TAG: %s SARG: δ֪µÄÑ¡Ïî %s SARG report %04dSARG ±¨¸æ %04d/%02d´óСSargÈÕÖ¾¸ñʽ Sarg½âÎöÈÕÖ¾Áí´æÎª %s Õ¾µã·ÃÎʱ¨¸æÕ¾µã & Óû§ÖÇÄܹýÂËÕýÔÚÅÅÐòÎļþ: %s SquidÓû§·ÃÎʱ¨¸æSquidÓû§´úÀíµÄ±¨¸æSquidÈÕÖ¾¸ñʽ ³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s ³É¹¦µÄÉú³É±¨¸æÔÚ %s ʱ¼ä×ÜÖµÀàÐÍÔÚ²ÎÊýÖÐÁÙʱÎļþÃû¹ý³¤"AuthUserTemplateFile" ÁÙʱÎļþÃû¹ý³¤: %s/%s.utmp "byte_cost" ÅäÖÃÎļþµÄ²ÎÊý²»´æÔÚ ÔÚÁÐ3µÄIPµØÖ·¹ý³¤ ÁÐ7µÄÁ¬½Ó¹ý³¤ ÁÐ6µÄ×÷Óùý³¤ ÃüÁî %s ʧ°Ü Á¬½Ó³ÖÐøÊ±¼äÔÚÁÐ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 Îļþ. ÎļþÃû²»´æÔÚ: %s ´«µÝ¸ømy_lltoa (%d) ÊýλҪÇó´óÓÚÊä³ö»º´æ´óС (%d) µÚ¶þ¸ö²ÎÊý "%s" ´óÓÚ %d ×Ö½Ú³¤ ÁÐ5µÄ´óС¹ý³¤ ÔÚÁÐ4µÄ״̬̫³¤ ²ÎÊýµÄ×Ö·û´®Öµ"%s" Ì«³¤ ʱ¼ä´ÁÔÚÁÐ1Ì«³¤ Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s ÁÐ8µÄÓû§ID¹ý³¤ ÁÐ9µÄÓû§¹ý³¤ Óв»ÍêÕûµÄ·ÃÎÊ×ÜÊýÔÚÎļþ %s Óв»ÍêÕûµÄIPµØÖ·ÔÚÎļþÖÐ %s Óв»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÎļþ %s Óв»ÍêÕûµÄÈÕÆÚÔÚÎļþ %s Óв»ÍêÕûµÄÏÂÔØ´óСÔÚÎļþ %s Óв»ÍêÕûµÄʱ¼äÔÚÎļþ %s Óв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÎļþ %s ÖжÏÔÚ»º´æÁÐÄÚÔÚÎļþ %s Óв»ÍêÕûµÄ in-cache ´óСÔÚÎļþ %s Óв»ÍêÕûµÄin-cache¾íÔÚÎļþ %s Óв»ÍêÕûµÄ·ÃÎÊÊý×ÖÔÚÎļþ %s Óв»ÍêÕûµÄ×Ö½ÚÊý×ÖÔÚÎļþ %s ÖжÏÔÚ»º´æÁÐÍâÔÚÎļþ %s(%d) Óв»ÍêÕûµÄout-cache¾íÔÚÎļþ %s Óв»ÍêÕûµÄ out-of-cache ´óСÔÚÎļþ %s Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÎļþ %s Óв»ÍêÕûµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s Óв»ÍêÕûµÄʱ¼äÔÚÎļþÖÐ %s Óв»ÍêÕûµÄÁ¬½ÓÔÚÎļþÖÐ %s Óв»ÍêÕûµÄÓû§IDÔÚÎļþÖÐ %s Óв»ÍêÕûµÄÓû§ÔÚÎļþ %s Óв»´æÔÚµÄÓû§ÔÚÎļþ %s ÓÐÒ»¸öÎÞЧµÄIPµØÖ·ÔÚÎļþ %s ÓÐÒ»¸öÎÞЧµÄʱ¼äÖµ %s ÓÐÒ»¸ö²»´æÔڵķÃÎÊÊýÔÚÎļþ %s Óв»´æÔÚµÄ×Ö½ÚÊýÔÚÎļþ %s ÓÐÎÞЧµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s ÓÐÒ»¸ö²»´æÔÚµÄÓû§IDÔÚÎļþ %s ÓÐÒ»¸öÎÞЧµÄÓû§´úÀíÔÚÎļþ %s ʱ¼ä¹ý³¤»ò²»´æÔÚ %s ÔÚÎļþÖйý¶àµÄ±àÂë±»Åųý %s ¹ý¶àµÄÈÕÆÚÎļþ¼ÐÔÚ %s ¶àÓàÊä³ö±»Ìø¹ý ²»Í¬µÄÈÕÆÚÔÚ %s ¹ý¶àµÄÏÂÔØºó׺ ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ ´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l. Ì«¶àÔ·ÝÎļþ¼ÐÔÚ %s ¶àÓàµÄÊäÈë±»ºöÂÔ ÔÚÅäÖÃÎļþÖÐÓжàÓàµÄÖØ¶¨ÏòÈÕÖ¾Îļþ ´«ÈëÃüÁîÐвÎÊý -LµÄÖØ¶¨ÏòÈÕÖ¾Îļþ¹ý¶à. ÈÈÃÅ %d Õ¾µãÈÈÃÅÕ¾µãÈÈÃÅÓû§Á¬½Ó¹ý³¤»ò²»´æÔÚ %s Óû§IDÓû§Î´ÖªµÄÑÕÉ« "%s" ¶ÔÓÚ¸ÃͼÐÎ, ÇëʹÓóÈÉ«Ìæ´ú δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ δ֪ÀàÐÍ %d ¶ÔÓÚYÖá±ÈÀý δ֪µÄÓû§ID %s ÔÚÎļþ %s ²»´æÔÚµÄÊýÖµ "%s" ²ÎÊý "%s" ʹÓÃ: %s [Ñ¡Ïî...] ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s Óû§Óû§%s ³¬³öÏÞÖÆ (%d MB). Ôö¼Óµ½Îļþ %s ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÓû§Ãû¹ý³¤ %s Óû§ID¹ý³¤: %s Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s Óû§±¨¸æÓû§: %sÓû§´úÀíÊýÖµ "%s" ³åÍ»ÓëÆäËü±»Ñ¡¶¨µÄ²ÎÊýÊýÖµ "%s" ÔÚÎļþÖÐÓÐдÈë´íÎó %s дÈë´íÎóµÄË÷Òý %s ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s ÄêÊÇÓÐÒ»¸ö²»´æÔÚµÄÓû§ÔÚÄãµÄ %s Îļþ ²»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %s ²»ÄÜ´ò¿ªÎļþ %s À´Ð´Èë ²»ÄÜ¿ªÊ¼ %s ÃüÁî·µ»Ø×´Ì¬ %d ÃüÁî: %s ÈÕÆÚ/ʱ¼ä ±¨¸æ½âѹÈÕÖ¾ÎļþÃüÁî¹ý³¤ %s Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s Îļþ¼ÐÃû¹ý³¤: %s ´´½¨Á¬½Óʧ°Ü "%s" ÖÁ "%s" - %s ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s getword »ØËÝ: libgd ¼ÆËãÎı¾Öеı߽çʧ°Ü "%s":%s libgb Ìá½»Îı¾Ê±Ê§°Ü "%s": %s ÄÚ´æÒ²´íÎó (%ld bytes required) ÄÚ´æ·ÖÒ³´íÎó (%ld) ûÓÐ×ã¹»µÄÄÚ´æÈ¥ÅÅÐòË÷Òý onsarg °æ±¾: %s setrlimit ´íÎó - %s ÅÅÐòÃüÁî·µ»Ø×´Ì¬ %d ÅÅÐòÃüÁî: %s squidguard_log_formatÒÑʧЧ£¬²¢ÇÒÒѾ­±» redirector_log_format ËùÌæ´ú£¬Çë¸üÐÂÄúµÄÅäÖÃÎļþ¡£ δ֪µÄ·¾¶ÀàÐÍ %s Óû§Ãû¹ý³¤ %s/%s.day Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s sarg-2.3.6/po/zh_CN.po0000644000000000000000000026200412135004006013126 0ustar rootroot# 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: 2013-04-21 17:38+0200\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" "Plural-Forms: nplurals=1; plural=0;\n" #: auth.c:42 #, c-format msgid "File name too long: %s/%s/.htaccess\n" msgstr "ÎļþÃû¹ý³¤: %s/%s/.htaccess\n" #: auth.c:46 #, c-format msgid "(auth) Cannot open file: %s - %s\n" msgstr "(auth) ²»ÄÜ´ò¿ªÎļþ: %s - %s\n" #: auth.c:51 #, c-format msgid "(auth) Cannot open template file: %s - %s\n" msgstr "(auth) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %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:210 dansguardian_log.c:158 #: dansguardian_report.c:64 dansguardian_report.c:174 denied.c:68 denied.c:181 #: download.c:79 download.c:234 email.c:146 email.c:257 grepday.c:687 #: grepday.c:729 html.c:329 html.c:404 html.c:459 html.c:490 html.c:495 #: index.c:47 indexonly.c:50 lastlog.c:87 lastlog.c:95 lastlog.c:131 #: log.c:1706 log.c:1721 realtime.c:108 realtime.c:292 redirector.c:403 #: redirector.c:447 redirector.c:579 report.c:335 siteuser.c:185 #: smartfilter.c:89 smartfilter.c:211 sort.c:89 sort.c:139 topsites.c:185 #: topsites.c:223 topuser.c:205 topuser.c:359 topuser.c:415 useragent.c:152 #: useragent.c:235 useragent.c:283 useragent.c:304 useragent.c:337 util.c:1832 #: util.c:1845 util.c:1965 #, 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:153 download.c:70 email.c:140 html.c:393 #: lastlog.c:81 log.c:1701 realtime.c:103 redirector.c:397 siteuser.c:68 #: smartfilter.c:79 sort.c:84 sort.c:130 topsites.c:89 topsites.c:212 #: topuser.c:194 useragent.c:141 useragent.c:224 useragent.c:293 #, c-format msgid "sort command return status %d\n" msgstr "ÅÅÐòÃüÁî·µ»Ø×´Ì¬ %d\n" #: authfail.c:88 authfail.c:93 dansguardian_log.c:154 download.c:71 #: email.c:141 html.c:394 lastlog.c:82 log.c:1702 realtime.c:104 #: redirector.c:398 siteuser.c:69 siteuser.c:75 smartfilter.c:80 #: smartfilter.c:85 sort.c:85 sort.c:131 topsites.c:90 topsites.c:96 #: topsites.c:213 topsites.c:218 topuser.c:195 useragent.c:142 useragent.c:147 #: useragent.c:225 useragent.c:230 useragent.c:294 useragent.c:299 #, c-format msgid "sort command: %s\n" msgstr "ÅÅÐòÃüÁî: %s\n" #: authfail.c:92 authfail.c:102 #, c-format msgid "(authfail) Cannot open file %s\n" msgstr "(authfail) ²»ÄÜ´ò¿ªÎļþ %s\n" #: authfail.c:106 authfail.c:110 topuser.c:241 msgid "Authentication Failures" msgstr "ÈÏ֤ʧ°Ü" #: authfail.c:108 dansguardian_report.c:83 denied.c:87 download.c:144 #: grepday.c:559 redirector.c:471 siteuser.c:86 smartfilter.c:107 #: smartfilter.c:175 topsites.c:234 topuser.c:218 #, c-format msgid "Period: %s" msgstr "Çø¼ä: %s" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: email.c:175 realtime.c:314 redirector.c:477 smartfilter.c:116 #: smartfilter.c:183 topuser.c:269 useragent.c:175 msgid "USERID" msgstr "Óû§ID" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "IP/NAME" msgstr "IP/ÐÕÃû" #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: realtime.c:314 redirector.c:477 smartfilter.c:116 smartfilter.c:183 msgid "DATE/TIME" msgstr "ÈÕÆÚ/ʱ¼ä" #. TRANSLATORS: This is a column header showing the URL of the visited sites. #: authfail.c:114 dansguardian_report.c:89 denied.c:93 download.c:150 #: html.c:202 realtime.c:314 redirector.c:477 report.c:267 siteuser.c:95 #: smartfilter.c:116 smartfilter.c:183 topsites.c:250 msgid "ACCESSED SITE" msgstr "·ÃÎÊÕ¾µã" #: authfail.c:117 email.c:81 html.c:128 html.c:350 html.c:411 siteuser.c:110 #: topsites.c:106 topsites.c:264 #, c-format msgid "Not enough memory to read file %s\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡Îļþ %s\n" #: authfail.c:124 #, c-format msgid "There is a broken date in file %s\n" msgstr "Óв»ÍêÕûµÄÈÕÆÚÔÚÎļþ %s\n" #: authfail.c:128 #, c-format msgid "There is a broken time in file %s\n" msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþÖÐ %s\n" #: authfail.c:132 #, c-format msgid "There is a broken user ID in file %s\n" msgstr "Óв»ÍêÕûµÄÓû§IDÔÚÎļþÖÐ %s\n" #: authfail.c:136 #, c-format msgid "There is a broken IP address in file %s\n" msgstr "Óв»ÍêÕûµÄIPµØÖ·ÔÚÎļþÖÐ %s\n" #: authfail.c:140 denied.c:108 download.c:165 html.c:150 html.c:238 #, c-format msgid "There is a broken url in file %s\n" msgstr "Óв»ÍêÕûµÄÁ¬½ÓÔÚÎļþÖÐ %s\n" #: authfail.c:149 denied.c:117 download.c:174 email.c:212 redirector.c:508 #: siteuser.c:119 smartfilter.c:129 topuser.c:332 #, c-format msgid "Unknown user ID %s in file %s\n" msgstr "δ֪µÄÓû§ID %s ÔÚÎļþ %s\n" #: authfail.c:205 dansguardian_report.c:169 denied.c:176 download.c:229 #: grepday.c:773 html.c:586 redirector.c:574 repday.c:245 siteuser.c:191 #: topsites.c:319 useragent.c:332 #, c-format msgid "Write error in file %s\n" msgstr "ÔÚÎļþÖÐÓÐдÈë´íÎó %s\n" #: authfail.c:207 convlog.c:82 dansguardian_report.c:171 denied.c:178 #: download.c:231 grepday.c:775 html.c:588 redirector.c:576 repday.c:247 #: siteuser.c:193 splitlog.c:114 splitlog.c:145 splitlog.c:149 topsites.c:321 #: topuser.c:50 totday.c:181 useragent.c:127 useragent.c:278 useragent.c:334 #, c-format msgid "Failed to close file %s - %s\n" msgstr "¹Ø±ÕÎļþʱʧ°Ü %s - %s\n" #: convlog.c:48 #, fuzzy, c-format msgid "(convlog) Cannot open log file %s - %s\n" msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n" #: convlog.c:53 splitlog.c:89 #, fuzzy, c-format msgid "Not enough memory to read the log file %s\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n" #: convlog.c:60 #, c-format msgid "Maybe you have a broken record or garbage in file %s\n" msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø´æÔÚÎļþ %s\n" #: dansguardian_log.c:56 #, c-format msgid "Cannot open DansGuardian config file: %s\n" msgstr "²»ÄÜ´ò¿ª DansGuardian ÅäÖÃÎļþ: %s\n" #: dansguardian_log.c:61 dansguardian_log.c:66 dansguardian_log.c:90 #, c-format msgid "(dansguardian) Cannot open log file: %s\n" msgstr "(dansguardian) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s\n" #: dansguardian_log.c:77 dansguardian_log.c:116 dansguardian_log.c:125 #: dansguardian_report.c:95 lastlog.c:114 log.c:960 log.c:965 log.c:971 #: log.c:979 log.c:983 log.c:987 log.c:992 log.c:997 log.c:1098 log.c:1102 #: log.c:1106 log.c:1110 log.c:1114 log.c:1118 log.c:1122 log.c:1126 #: log.c:1130 log.c:1163 log.c:1170 log.c:1194 topsites.c:271 topsites.c:276 #: useragent.c:83 useragent.c:106 #, c-format msgid "Maybe you have a broken record or garbage in your %s file\n" msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ %s ÎļþÖÐ \n" #: dansguardian_log.c:80 #, fuzzy, c-format msgid "" "Using the dansguardian log file \"%s\" found in your configuration file \"%s" "\"\n" msgstr "ÔÚÅäÖÃÎļþÖдæÔÚ¹ý¶àµÄÈÕÖ¾Îļþ\n" #: dansguardian_log.c:87 #, c-format msgid "Reading DansGuardian log file: %s\n" msgstr "¶ÁÈ¡ DansGuardian ÈÕÖ¾Îļþ: %s\n" #: dansguardian_log.c:100 #, fuzzy, c-format msgid "Invalid date found in your dansguardian log file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: dansguardian_log.c:104 #, fuzzy, c-format msgid "Invalid time found in your dansguardian log file %s\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: dansguardian_log.c:108 #, fuzzy, c-format msgid "Invalid user found in your dansguardian log file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: dansguardian_log.c:112 #, fuzzy, c-format msgid "Invalid IP address found in your dansguardian log file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: dansguardian_log.c:120 dansguardian_report.c:99 html.c:360 log.c:975 #: log.c:1073 #, c-format msgid "Maybe you have a broken url in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÁ¬½ÓÔÚÄãµÄ %s ÎļþÖÐ\n" #: dansguardian_log.c:148 redirector.c:388 sort.c:75 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] "" #: dansguardian_report.c:65 #, fuzzy msgid "Dansguardian report not generated because it is empty\n" msgstr "£¨dansguardian_report£©ÎÞ·¨´ò¿ªÎļþ%s\n" #: dansguardian_report.c:72 dansguardian_report.c:77 #, c-format msgid "(dansguardian_report) Cannot open log file %s\n" msgstr "(dansguardian_report) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: dansguardian_report.c:81 dansguardian_report.c:85 topuser.c:237 msgid "DansGuardian" msgstr "DansGuardian" #: dansguardian_report.c:89 msgid "CAUSE" msgstr "Ô­Òò" #: dansguardian_report.c:103 #, c-format msgid "Maybe you have a broken rule in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹æÔòÔÚÄãµÄ %s ÎļþÖÐ\n" #: datafile.c:72 html.c:82 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:87 #, fuzzy, c-format msgid "(datafile) directory path too long: %s/%s.user_log\n" msgstr "(datafile) Îļþ¼Ð·¾¶Ì«³¤: %s/%s\n" #: datafile.c:92 datafile.c:148 #, c-format msgid "(datafile) Cannot open file %s\n" msgstr "(datafile) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: datafile.c:97 #, c-format msgid "Not enough memory to read the downloaded files.\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶ÁÈ¡ÒÑÏÂÔØÎļþ. \n" #: datafile.c:109 denied.c:104 download.c:161 report.c:166 smartfilter.c:123 #, c-format msgid "There is a broken record or garbage in file %s\n" msgstr "Óв»ÍêÕûµÄ¼Í¼»òÀ¬»øÔÚÎļþ %s\n" #: datafile.c:113 #, c-format msgid "There is an invalid smart info in file %s\n" msgstr "ÓÐÎÞЧµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n" #: datafile.c:132 datafile.c:177 realtime.c:280 report.c:203 report.c:279 #: report.c:304 siteuser.c:139 topsites.c:120 topsites.c:139 #, c-format msgid "Not enough memory to store the url\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥´æ´¢Á¬½Ó\n" #: datafile.c:198 #, c-format msgid "Datafile %s written successfully\n" msgstr "Êý¾ÝÎļþ %s дÈë³É¹¦\n" #: decomp.c:36 #, c-format msgid "File not found: %s\n" msgstr "δÕÒµ½Îļþ: %s\n" #: decomp.c:42 decomp.c:62 #, c-format msgid "Decompressing log file \"%s\" with zcat\n" msgstr "½âѹËõÈÕÖ¾Îļþ \"%s\" ʹÓÃzcat\n" #: decomp.c:44 decomp.c:54 decomp.c:64 #, c-format msgid "decompression command too long for log file %s\n" msgstr "½âѹÈÕÖ¾ÎļþÃüÁî¹ý³¤ %s\n" #: decomp.c:52 #, c-format msgid "Decompressing log file \"%s\" with bzcat\n" msgstr "½âѹËõÎļþ \"%s\" ʹÓÃbzcat\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:76 denied.c:81 #, c-format msgid "(denied) Cannot open log file %s\n" msgstr "(denied)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: denied.c:85 denied.c:89 msgid "Denied" msgstr "ÉùÃ÷" #: denied.c:96 #, c-format msgid "Not enough memory to read the denied accesses\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡×èÖ¹·ÃÎÊ\n" #: 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" #: download.c:65 #, c-format msgid "Path too long to sort the file: %s/download.int_unsort\n" msgstr "" #: download.c:75 #, fuzzy, c-format msgid "Path too long for %s/download.int_unsort\n" msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n" #: download.c:114 #, fuzzy msgid "No downloaded files to report\n" msgstr "ÏÂÔØºó׺Áбí¹ý³¤\n" #: download.c:125 msgid "Sorted file doesn't exist (to produce the download report)\n" msgstr "" #: download.c:133 download.c:138 #, c-format msgid "(download) Cannot open log file %s\n" msgstr "(download) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: download.c:142 download.c:146 topuser.c:239 msgid "Downloads" msgstr "ÏÂÔØ" #: download.c:153 report.c:156 topuser.c:293 #, c-format msgid "Not enough memory to read the downloaded files\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\n" #: download.c:275 #, c-format msgid "Download suffix list too long\n" msgstr "ÏÂÔØºó׺Áбí¹ý³¤\n" #: download.c:283 #, c-format msgid "Too many download suffixes\n" msgstr "¹ý¶àµÄÏÂÔØºó׺\n" #: email.c:61 email.c:67 email.c:73 email.c:151 email.c:157 email.c:269 #, c-format msgid "(email) Cannot open file %s\n" msgstr "(email)²»ÄÜ´ò¿ªÎļþ %s\n" #: email.c:129 #, c-format msgid "Total statistics mismatch when reading %s to produce the email report\n" msgstr "" #: email.c:135 html.c:388 log.c:1696 realtime.c:98 redirector.c:392 #: siteuser.c:63 sort.c:79 topsites.c:84 topsites.c:207 topuser.c:189 #: useragent.c:136 useragent.c:219 useragent.c:288 #, fuzzy, c-format msgid "Sort command too long when sorting file \"%s\" to \"%s\"\n" msgstr "ѹËõÃüÃî¶ÔÓÚÈÕÖ¾Îļþ¹ý³¤ %s\n" #: email.c:161 log.c:379 msgid "Squid User Access Report" msgstr "SquidÓû§·ÃÎʱ¨¸æ" #: email.c:165 msgid "Decreasing Access (bytes)" msgstr "½µµÍ·ÃÎÊ(bytes)" #: email.c:169 html.c:182 repday.c:127 report.c:258 useragent.c:167 msgid "Period" msgstr "ÆÚ¼ä" #. TRANSLATORS: This is a column header showing the position of the entry in the sorted list. #: email.c:173 siteuser.c:93 topsites.c:246 topuser.c:260 msgid "NUM" msgstr "Êý×Ö" #. TRANSLATORS: This is a column header showing the number of connections to a visited site. #: email.c:177 html.c:205 topsites.c:252 topuser.c:272 msgid "CONNECT" msgstr "Á¬½Ó" #. TRANSLATORS: This is a column header showing the number of transfered bytes. #: email.c:179 grepday.c:752 html.c:207 html.c:209 index.c:432 repday.c:140 #: siteuser.c:97 topsites.c:254 topuser.c:274 topuser.c:276 msgid "BYTES" msgstr "×Ö½Ú" #: email.c:181 grepday.c:765 html.c:213 topuser.c:280 msgid "ELAPSED TIME" msgstr "ÒÑʹÓÃʱ¼ä" #: email.c:183 html.c:215 topuser.c:282 msgid "MILLISEC" msgstr "ºÁÃë" #. TRANSLATORS: This is a column header showing the time spent by the proxy processing the requests. #: email.c:185 html.c:217 report.c:267 topsites.c:256 topuser.c:284 msgid "TIME" msgstr "ʱ¼ä" #: email.c:194 useragent.c:197 #, c-format msgid "There is an invalid user ID in file %s\n" msgstr "ÓÐÒ»¸ö²»´æÔÚµÄÓû§IDÔÚÎļþ %s\n" #: email.c:198 #, c-format msgid "There is an invalid number of bytes in file %s\n" msgstr "Óв»´æÔÚµÄ×Ö½ÚÊýÔÚÎļþ %s\n" #: email.c:202 #, c-format msgid "There is an invalid number of access in file %s\n" msgstr "ÓÐÒ»¸ö²»´æÔڵķÃÎÊÊýÔÚÎļþ %s\n" #: email.c:206 #, c-format msgid "There is an invalid elapsed time in file %s\n" msgstr "ÓÐÒ»¸öÎÞЧµÄʱ¼äÖµ %s\n" #: email.c:231 email.c:233 html.c:503 repday.c:148 repday.c:172 repday.c:200 #: repday.c:224 topuser.c:426 useragent.c:311 msgid "TOTAL" msgstr "×ÜÖµ" #: email.c:247 html.c:564 index.c:432 topuser.c:460 msgid "AVERAGE" msgstr "ƽ¾ùÖµ" #. TRANSLATORS: The string is formatted using strftime. You can use #. any string formatting marker allowed by strftime. #: email.c:278 #, fuzzy, c-format msgid "SARG report, %c" msgstr "SARG ±¨¸æ %s" #: email.c:281 #, fuzzy, c-format msgid "Sending mail with command: %s\n" msgstr "ÃüÁî: %s\n" #: email.c:284 index.c:582 log.c:1684 #, c-format msgid "command return status %d\n" msgstr "ÃüÁî·µ»Ø×´Ì¬ %d\n" #: email.c:285 index.c:583 log.c:1685 #, 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:196 #, c-format msgid "Cannot open exclude_hosts file: %s - %s\n" msgstr "²»ÄÜ´ò¿ªexclude_hostsÎļþ: %s-%s\n" #: exclude.c:200 #, c-format msgid "Loading exclude host file from: %s\n" msgstr "ÔØÈë¾Ü¾øÖ÷»úÎļþ´Ó: %s\n" #: exclude.c:203 exclude.c:317 #, c-format msgid "(gethexclude) Cannot open file %s - %s\n" msgstr "(gethexclude)²»ÄÜ´ò¿ªÎļþ %s - %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 #, c-format msgid "Failed to move till the end of the excluded users file %s: %s\n" msgstr "ÔÚÅųýÓû§Îļþ֮ǰ²»ÄÜÒÆ¶¯¸ÃÎļþ %s: %s\n" #: exclude.c:327 log.c:1777 usertab.c:73 util.c:1414 #, c-format msgid "Cannot get the size of file %s\n" msgstr "²»Äܵõ½ÎļþµÄ´óС %s\n" #: exclude.c:332 #, c-format msgid "Failed to rewind the excluded users file %s: %s\n" msgstr "תÏòÅųýÓû§Îļþʱʧ°Ü %s: %s\n" #: exclude.c:337 #, c-format msgid "malloc error (%ld bytes required)\n" msgstr "ÄÚ´æÒ²´íÎó (%ld bytes required)\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 #, 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 #, c-format msgid "" "Maybe you have a broken record or garbage in \"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 "" #: 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" #: getconf.c:787 #, c-format msgid "(getconf) Cannot open file %s\n" msgstr "(getconf) ²»ÄÜ´ò¿ªÎļþ %s\n" #: grepday.c:144 #, fuzzy, c-format msgid "realloc error (% bytes required)\n" msgstr "ÖØÐ·ÖÅä´íÎó (%zu bytes required)\n" #: grepday.c:157 #, c-format msgid "(grepday) iconv failed to convert string \"%s\" from %s to UTF-8 - %s\n" msgstr "(grepday) iconvת»»×Ö·û´®Ê§°Ü \"%s\" ´Ó %s µ½ UTF-8 - %s \n" #: grepday.c:170 #, c-format msgid "libgd failed to calculate the bounding box of the text \"%s\": %s\n" msgstr "libgd ¼ÆËãÎı¾Öеı߽çʧ°Ü \"%s\":%s\n" #: grepday.c:237 #, c-format msgid "libgd failed to render the text \"%s\": %s\n" msgstr "libgb Ìá½»Îı¾Ê±Ê§°Ü \"%s\": %s\n" #: grepday.c:296 #, fuzzy, c-format msgid "Minimum for Y scale of the graph is out of range: %\n" msgstr "ÊÓͼµÄY±ÈÀý³¬³ö×îС·¶Î§: %lld\n" #: grepday.c:300 #, fuzzy, c-format msgid "Maximum for Y scale of the graph is out of range: %\n" msgstr "ÊÓͼµÄY±ÈÀý³¬³ö×î´ó·¶Î§: %lld\n" #: grepday.c:328 #, c-format msgid "Unknown type %d for Y axis scale\n" msgstr "δ֪ÀàÐÍ %d ¶ÔÓÚYÖá±ÈÀý\n" #: grepday.c:489 #, c-format msgid "Unknown color \"%s\" requested for the graph. Using orange instead\n" msgstr "δ֪µÄÑÕÉ« \"%s\" ¶ÔÓÚ¸ÃͼÐÎ, ÇëʹÓóÈÉ«Ìæ´ú\n" #: grepday.c:557 msgid "SARG, " msgstr "SARG," #: grepday.c:561 #, c-format msgid "User: %s" msgstr "Óû§: %s" #: grepday.c:617 grepday.c:734 #, fuzzy, c-format msgid "user name too long for %s/%s/%s\n" msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n" #: grepday.c:621 grepday.c:692 #, c-format msgid "(grepday) Cannot open log file %s\n" msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: grepday.c:638 #, c-format msgid "Graphs disabled as requested in %s\n" msgstr "" #: grepday.c:643 #, c-format msgid "Graphs disabled as no font names were provided in %s\n" msgstr "" #: grepday.c:648 #, c-format msgid "(grepday) Fontname %s not found\n" msgstr "(grepday) ×ÖÌåÃû³Æ %s ÕÒ²»µ½\n" #: grepday.c:655 #, c-format msgid "(grepday) iconv cannot convert from %s to UTF-8 - %s\n" msgstr "(grepday) iconv ²»ÄÜת»»´Ó %s µ½ UTF-8 - %s\n" #: grepday.c:679 #, c-format msgid "user name too long for %s/%s.day\n" msgstr "Óû§Ãû¹ý³¤ %s/%s.day\n" #: grepday.c:702 redirector.c:486 repday.c:81 #, c-format msgid "Invalid date in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: grepday.c:708 #, c-format msgid "Invalid entry in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: grepday.c:714 repday.c:106 #, c-format msgid "Invalid number of bytes in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÊý×Ö×Ö½Ú %s\n" #: grepday.c:721 repday.c:113 #, c-format msgid "Invalid elapsed time in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄʱ¼ä¶Î %s\n" #: grepday.c:738 #, fuzzy, c-format msgid "(grepday) Cannot open output file %s\n" msgstr "(grepday) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: grepday.c:741 #, fuzzy msgid "Graph report" msgstr "ÈÕ±¨" #: grepday.c:748 grepday.c:761 index.c:263 msgid "DAYS" msgstr "ÈÕ" #: html.c:64 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_unsort\n" msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #: html.c:69 #, fuzzy, c-format msgid "File name too long: %s/sargtmp.int_log\n" msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #: html.c:87 #, c-format msgid "Destination directory too long: %s/%s\n" msgstr "Ä¿±êĿ¼¹ý³¤: %s/%s\n" #: html.c:98 index.c:543 index.c:551 util.c:331 util.c:342 util.c:931 #, fuzzy, c-format msgid "Cannot create directory %s - %s\n" msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n" #: html.c:105 #, fuzzy, c-format msgid "Input file name too long: %s/htmlrel.txt\n" msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n" #: html.c:110 #, c-format msgid "(html3) Cannot open file %s\n" msgstr "(html3) ²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:115 #, c-format msgid "Output file name too long: %s/%s/%s.html\n" msgstr "Êä³öÎļþÃû¹ý³¤: %s/%s/%s.html\n" #: html.c:119 #, fuzzy, c-format msgid "File name too long: %s/denied_%s.html\n" msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n" #: html.c:140 html.c:230 topuser.c:308 #, c-format msgid "There is a broken number of access in file %s\n" msgstr "Óв»ÍêÕûµÄ·ÃÎÊÊý×ÖÔÚÎļþ %s\n" #: html.c:145 #, c-format msgid "There is a broken downloaded size in file %s\n" msgstr "Óв»ÍêÕûµÄÏÂÔØ´óСÔÚÎļþ %s\n" #: html.c:154 html.c:242 #, c-format msgid "There is a broken access code in file %s\n" msgstr "Óв»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÎļþ %s\n" #: html.c:158 html.c:246 report.c:171 #, c-format msgid "There is a broken elapsed time in file %s\n" msgstr "Óв»ÍêÕûµÄʱ¼äÔÚÎļþ %s\n" #: html.c:163 #, c-format msgid "There is a broken in-cache volume in file %s\n" msgstr "Óв»ÍêÕûµÄin-cache¾íÔÚÎļþ %s\n" #: html.c:168 #, c-format msgid "There is a broken out-cache volume in file %s\n" msgstr "Óв»ÍêÕûµÄout-cache¾íÔÚÎļþ %s\n" #: html.c:177 #, c-format msgid "(html5) Cannot open file %s\n" msgstr "(html5) ²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:181 html.c:187 msgid "User report" msgstr "Óû§±¨¸æ" #: html.c:183 repday.c:128 report.c:259 report.c:263 smartfilter.c:177 msgid "User" msgstr "Óû§" #: html.c:185 report.c:261 #, c-format msgid "Sort: %s, %s" msgstr "" #: html.c:192 #, fuzzy msgid "SmartFilter report" msgstr "ÖÇÄܹýÂË" #: html.c:211 topuser.c:278 msgid "IN-CACHE-OUT" msgstr "IN-CACHE-OUT" #: html.c:222 #, c-format msgid "Making report: %s\n" msgstr "±ê¼Ç±¨¸æ: %s\n" #: html.c:234 topuser.c:304 util.c:771 #, c-format msgid "There is a broken number of bytes in file %s\n" msgstr "Óв»ÍêÕûµÄ×Ö½ÚÊý×ÖÔÚÎļþ %s\n" #: html.c:250 #, c-format msgid "There is a broken in cache column in file %s\n" msgstr "ÖжÏÔÚ»º´æÁÐÄÚÔÚÎļþ %s\n" #: html.c:254 #, c-format msgid "There is a broken out of cache column in file %s (%d)\n" msgstr "ÖжÏÔÚ»º´æÁÐÍâÔÚÎļþ %s(%d)\n" #: html.c:268 topuser.c:355 msgid "date/time report" msgstr "ÈÕÆÚ/ʱ¼ä ±¨¸æ" #: html.c:321 msgid "DENIED" msgstr "×èÖ¹" #: html.c:335 #, c-format msgid "File name too long: %s/%s.ip\n" msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #: html.c:340 #, c-format msgid "(html6) Cannot open file %s\n" msgstr "(html6)²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:345 #, c-format msgid "(html7) Cannot open file %s\n" msgstr "(html7) ²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:356 html.c:417 #, c-format msgid "Maybe you have a broken user IP in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§IPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ \n" #: html.c:365 log.c:1258 #, c-format msgid "Maybe you have a broken day in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ \n" #: html.c:369 log.c:1217 #, c-format msgid "Maybe you have a broken time in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n" #: html.c:373 html.c:421 #, c-format msgid "Maybe you have a broken size in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ´óСÔÚÄãµÄ %s ÎļþÖÐ\n" #: html.c:377 html.c:425 log.c:1047 log.c:1052 #, c-format msgid "Maybe you have a broken elapsed time in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÄãµÄ %s ÎļþÖÐ\n" #: html.c:399 #, c-format msgid "(html8) Cannot open file %s\n" msgstr "(html8) ²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:533 #, c-format msgid "(html9) Cannot open file %s\n" msgstr "(html9) ²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:548 #, c-format msgid "(html10) Cannot open file %s\n" msgstr "(html10) ²»ÄÜ´ò¿ªÎļþ %s\n" #: html.c:555 #, 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 index.c:228 index.c:330 indexonly.c:38 #: lastlog.c:56 #, c-format msgid "Failed to open directory %s - %s\n" msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n" #: index.c:143 index.c:195 index.c:256 #, c-format msgid "(index) Cannot open file %s - %s\n" msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %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: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:282 index.c:288 index.c:295 index.c:458 #, c-format msgid "Failed to close the index file %s - %s\n" msgstr "À뿪Ë÷ÒýÎļþʱʧ°Ü %s - %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 #, c-format msgid "Maybe you have a broken week day in your %s%s/sarg-date file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #: index.c:371 #, c-format msgid "Maybe you have a broken month in your %s%s/sarg-date file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #: index.c:375 #, c-format msgid "Maybe you have a broken day in your %s%s/sarg-date file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #: index.c:379 index.c:389 #, c-format msgid "Maybe you have a broken time in your %s%s/sarg-date file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄʱ¼äÔÚÄãµÄ %s%s/sarg-date ÎļþÖÐ\n" #: index.c:384 #, c-format msgid "Maybe you have a broken year in your %s%s/sarg-date file\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:424 #, c-format msgid "(index) Cannot open file %s\n" msgstr "(index) ²»ÄÜ´ò¿ªÎļþ %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:101 topsites.c:258 msgid "USERS" msgstr "Óû§" #: index.c:561 index.c:663 #, c-format msgid "(index) rename error from \"%s\" to \"%s\" - %s\n" msgstr "(index)ÖØÃüÃû´íÎó´Ó \"%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 "" #: 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_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:51 lastlog.c:106 #, c-format msgid "(lastlog) Cannot open temporary file %s\n" msgstr "(lastlog) ²»ÄÜ´ò¿ªÁÙʱÎļþ %s\n" #: lastlog.c:65 #, c-format msgid "Failed to get the creation time of %s\n" msgstr "»ñÈ¡Îļþ´´½¨Ê±¼äʱʧ°Ü %s\n" #: lastlog.c:119 #, c-format msgid "Removing old report file %s\n" msgstr "ÒÆ¶¯¾ÉµÄ±¨¸æÎļþ %s\n" #: lastlog.c:121 #, c-format msgid "Directory name too long: %s%s\n" msgstr "Îļþ¼ÐÃû³Æ¹ý³¤: %s%s\n" #: log.c:425 #, c-format msgid "Too many log files passed on command line with option -l.\n" msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n" #: log.c:429 #, c-format msgid "Log file name too long passed on command line with option -l: %s\n" msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n" #: log.c:438 #, c-format msgid "Too many redirector logs passed on command line with option -L.\n" msgstr "´«ÈëÃüÁîÐвÎÊý -LµÄÖØ¶¨ÏòÈÕÖ¾Îļþ¹ý¶à.\n" #: log.c:442 #, c-format msgid "" "Redirector log file name too long passed on command line with opton -L: %s\n" msgstr "´«ÈëÃüÁîÐвÎÊý -L µÄÖØ¶¨ÏòÈÕÖ¾ÎļþÃû¹ý³¤: %s\n" #: log.c:476 #, fuzzy, c-format msgid "Time period passed on the command line with option -t must be HH:MM\n" msgstr "ʱ¼äÇø¼ä´«ÈëÃüÁîÐвÎÊý -t ²»´æÔÚ\n" #: log.c:484 #, 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:512 #, fuzzy, c-format msgid "Option -%c requires an argument\n" msgstr "Ñ¡Ïî -%c ÐèÒªÒ»¸öÅжÏ\n" #: log.c:530 #, fuzzy, c-format msgid "Too many log files passed on command line.\n" msgstr "´«ÈëÁ˹ý¶àµÄÈÕÖ¾ÎļþʹÓÃÃüÁîÐвÎÊý -l.\n" #: log.c:534 #, fuzzy, c-format msgid "Log file name too long passed on command line: %s\n" msgstr "´«ÈëÃüÁîÐвÎÊý -l µÄÈÕÖ¾ÎļþÃû¹ý³¤: %s\n" #: log.c:543 #, c-format msgid "Init\n" msgstr "Init\n" #: log.c:547 #, c-format msgid "Cannot open config file: %s - %s\n" msgstr "²»ÄÜ´ò¿ªÅäÖÃÎļþ: %s -%s\n" #: log.c:655 #, c-format msgid "" "The output directory \"%s\" must be outside of the temporary directory \"%s" "\"\n" msgstr "" #: log.c:668 #, fuzzy, c-format msgid "Deleting temporary directory \"%s\"\n" msgstr "´ò¿ªÎļþ¼Ðʱʧ°Ü %s - %s\n" #: log.c:677 log.c:710 #, c-format msgid "Parameters:\n" msgstr "²ÎÊý:\n" #: log.c:678 log.c:711 #, c-format msgid " Hostname or IP address (-a) = %s\n" msgstr " Ö÷»úÃû»òÕßIPµØÖ·(-a) = %s\n" #: log.c:679 log.c:712 #, c-format msgid " Useragent log (-b) = %s\n" msgstr " Óû§´úÀí ÈÕÖ¾w (-b) = %s\n" #: log.c:680 log.c:713 #, c-format msgid " Exclude file (-c) = %s\n" msgstr " Åųý Îļþ (-c) = %s\n" #: log.c:681 log.c:714 #, c-format msgid " Date from-until (-d) = %s\n" msgstr " ÈÕÆÚ ´Ó-ÖÁ (-d) = %s\n" #: log.c:682 log.c:715 #, c-format msgid " Email address to send reports (-e) = %s\n" msgstr " ÓʼþµØÖ·ÓÃÀ´·¢Ëͱ¨¸æ (-e) = %s\n" #: log.c:683 log.c:716 #, c-format msgid " Config file (-f) = %s\n" msgstr " ÅäÖÃÎļþ (-f) = %s\n" #: log.c:685 log.c:718 #, c-format msgid " Date format (-g) = Europe (dd/mm/yyyy)\n" msgstr " ÈÕÆÚ¸ñʽ (-g) = Å·ÖÞ (dd/mm/yyyy)\n" #: log.c:687 log.c:720 #, c-format msgid " Date format (-g) = USA (mm/dd/yyyy)\n" msgstr " ÈÕÆÚ¸ñʽ (-g) = ÃÀ¹ú (mm/dd/yyyy)\n" #: log.c:689 log.c:722 #, c-format msgid " Date format (-g) = Sites & Users (yyyy/ww)\n" msgstr " ÈÕÆÚ¸ñʽ (-g) = Õ¾µã & Óû§ (yyyy/ww)\n" #: log.c:690 log.c:723 #, c-format msgid " IP report (-i) = %s\n" msgstr " IP±¨¸æ (-i) = %s\n" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "Yes" msgstr "ÊÇ" #: log.c:690 log.c:691 log.c:696 log.c:698 log.c:703 log.c:704 log.c:723 #: log.c:724 log.c:729 log.c:731 log.c:736 log.c:737 msgid "No" msgstr "·ñ" #: log.c:691 log.c:724 #, fuzzy, c-format msgid " Keep temporary files (-k) = %s\n" msgstr " ÁÙʱÎļþĿ¼ (-w) = %s\n" #: log.c:693 log.c:726 #, c-format msgid " Input log (-l) = %s\n" msgstr " ÊäÈëµÄÈÕÖ¾ (-l) = %s\n" #: log.c:695 log.c:728 #, c-format msgid " Redirector log (-L) = %s\n" msgstr " ÖØ¶¨ÏòÈÕÖ¾ (-L) = %s\n" #: log.c:696 log.c:729 #, c-format msgid " Resolve IP Address (-n) = %s\n" msgstr " ת»»IPµØÖ· (-n) = %s\n" #: log.c:697 log.c:730 #, c-format msgid " Output dir (-o) = %s\n" msgstr " Êä³öĿ¼ (-o) = %s\n" #: log.c:698 log.c:731 #, c-format msgid "Use Ip Address instead of userid (-p) = %s\n" msgstr "ʹÓÃIPµØÖ·Ìæ´úÓû§ID (-p) = %s\n" #: log.c:699 log.c:732 #, c-format msgid " Accessed site (-s) = %s\n" msgstr " ·ÃÎÊÕ¾µã (-s) = %s\n" #: log.c:700 log.c:733 #, c-format msgid " Time (-t) = %s\n" msgstr " ʱ¼ä (-t) = %s\n" #: log.c:701 log.c:734 #, c-format msgid " User (-u) = %s\n" msgstr " Óû§ (-u) = %s\n" #: log.c:702 log.c:735 #, c-format msgid " Temporary dir (-w) = %s\n" msgstr " ÁÙʱÎļþĿ¼ (-w) = %s\n" #: log.c:703 log.c:736 #, c-format msgid " Debug messages (-x) = %s\n" msgstr " ¾À´íÐÅÏ¢ (-x) = %s\n" #: log.c:704 log.c:737 #, c-format msgid " Process messages (-z) = %s\n" msgstr " ½ø³ÌÐÅÏ¢ (-z) = %s\n" #: log.c:705 log.c:738 #, c-format msgid " Previous reports to keep (--lastlog) = %d\n" msgstr "" #: log.c:739 log.c:743 #, c-format msgid "sarg version: %s\n" msgstr "sarg °æ±¾: %s\n" #: log.c:746 #, c-format msgid "Sarg compiled to report warnings if the output is inconsistent\n" msgstr "" #: log.c:776 #, c-format msgid "setrlimit error - %s\n" msgstr "setrlimit ´íÎó - %s\n" #: log.c:787 #, c-format msgid "Not enough memory to read a log file\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÈ¥¶Áȡһ¸öÈÕÖ¾Îļþ\n" #: log.c:796 log.c:803 #, c-format msgid "(log) Cannot open file: %s - %s\n" msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n" #: log.c:817 #, c-format msgid "Reading access log file: from stdin\n" msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: ´Ó stdin\n" #: log.c:823 #, c-format msgid "" "Cannot get the modification time of input log file %s (%s). Processing it " "anyway\n" msgstr "²»Äܵõ½ÊäÈëÈÕÖ¾ÎļþµÄÐÞ¸Äʱ¼ä %s (%s). ½ø³ÌÕýÔÚ¼ÌÐø\n" #: log.c:827 #, c-format msgid "Ignoring old log file %s\n" msgstr "ºöÂԳ¾ɵÄÈÕÖ¾Îļþ %s\n" #: log.c:834 log.c:906 #, c-format msgid "(log) Cannot open log file: %s - %s\n" msgstr "(log) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ: %s - %s\n" #: log.c:837 #, c-format msgid "Reading access log file: %s\n" msgstr "¶ÁÈ¡·ÃÎÊÈÕÖ¾Îļþ: %s\n" #: log.c:865 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%" msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2f%%" #: log.c:880 #, c-format msgid "Log is from Microsoft ISA: %s\n" msgstr "ÈÕÖ¾À´×Ô΢ÈíISA: %s\n" #: log.c:888 #, c-format msgid "The name of the file is invalid: %s\n" msgstr "ÎļþÃû²»´æÔÚ: %s\n" #: log.c:902 #, fuzzy, c-format msgid "File name too long: %s/sarg_temp.log\n" msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #: log.c:915 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2lf%%" msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, ¶ÁÈ¡: %3.2lf%%" #: log.c:931 #, c-format msgid "Maybe you have a broken record or garbage in your exclusion string\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¼Í¼»òÕßÀ¬»øÔÚÄãµÄ½ûÖ¹×Ö·û´®\n" #: log.c:952 #, c-format msgid "Maybe you have a broken time in your access.log file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄʱ¼äÔÚÄãµÄaccess.logÎļþ\n" #: log.c:1013 log.c:1017 log.c:1022 log.c:1026 log.c:1030 log.c:1135 #: log.c:1139 log.c:1143 log.c:1211 useragent.c:89 #, c-format msgid "Maybe you have a broken date in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÈÕÆÚÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1039 log.c:1150 log.c:1267 #, fuzzy, c-format msgid "Invalid time found in %s\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: log.c:1057 #, c-format msgid "Maybe you have a broken client IP address in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ¿Í»§¶ËIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1061 #, c-format msgid "Maybe you have a broken result code in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ½á¹û´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1065 #, c-format msgid "Maybe you have a broken amount of data in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÊý¾Ý×ܺÍÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1069 #, c-format msgid "Maybe you have a broken request method in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÐèÇó·½·¨ÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1077 log.c:1205 #, c-format msgid "Maybe you have a broken user ID in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÓû§IDÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1086 #, c-format msgid "Cannot convert the timestamp from the squid log file\n" msgstr "²»ÄÜת»»Ê±¼ä´Á´ÓsquidÈÕÖ¾Îļþ\n" #: log.c:1199 #, c-format msgid "Maybe you have a broken IP in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄIPµØÖ·ÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1223 #, c-format msgid "Maybe you have a broken download duration in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ³ÖÐøÊ±¼äÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1229 #, c-format msgid "Maybe you have a broken download size in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÏÂÔØ´óСÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1237 #, c-format msgid "Maybe you have a broken access code in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄ·ÃÎÊ´úÂëÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1250 #, c-format msgid "Maybe you have a broken year in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÄê·ÝÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1254 #, c-format msgid "Maybe you have a broken month in your %s file\n" msgstr "¿ÉÄÜÄãÓÐÒ»¸ö²»ÍêÕûµÄÔ·ÝÔÚÄãµÄ %s ÎļþÖÐ\n" #: log.c:1274 #, c-format msgid "Unknown input log file format\n" msgstr "δ֪µÄÊäÈëÈÕÖ¾Îļþ¸ñʽ\n" #: log.c:1299 #, c-format msgid "User ID too long: %s\n" msgstr "Óû§ID¹ý³¤: %s\n" #: log.c:1312 #, c-format msgid "Excluded code: %s\n" msgstr "ÒÑÅųý´úÂë: %s\n" #: log.c:1372 #, c-format msgid "Excluded site: %s\n" msgstr "ÒÑÅųýÕ¾µã: %s\n" #: log.c:1424 #, c-format msgid "Excluded user: %s\n" msgstr "ÒÑÅųýÓû§: %s\n" #: log.c:1458 #, c-format msgid "Not enough memory to store the user %s\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ %s\n" #: log.c:1487 #, c-format msgid "Failed to close the log file of user %s - %s\n" msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n" #: log.c:1497 #, fuzzy, c-format msgid "Temporary user file name too long: %s/%s.user_unsort\n" msgstr "ÁÙʱÓû§ÎļþÃû¹ý³¤: %s/sarg/%s.unsort\n" #: log.c:1501 log.c:1522 #, c-format msgid "(log) Cannot open temporary file: %s - %s\n" msgstr "(log) ²»ÄÜ´ò¿ªÁÙʱÎļþ: %s - %s\n" #: log.c:1507 #, c-format msgid "Write error in the log file of user %s\n" msgstr "ÈÕÖ¾ÎļþÖеÄÓû§´æÔÚдÈë´íÎó %s\n" #: log.c:1573 #, c-format msgid "SARG: Records in file: %lu, reading: %3.2f%%\n" msgstr "SARG: ¼Í¼ÔÚÎļþ: %lu, reading: %3.2f%%\n" #: log.c:1581 #, c-format msgid " Records read: %ld, written: %ld, excluded: %ld\n" msgstr "¼Í¼ ¶ÁÈ¡: %ld, ÒÑдÈë: %ld, Åųý: %ld\n" #: log.c:1603 #, c-format msgid "Log with mixed records format (squid and common log)\n" msgstr "ÈÕÖ¾Óë¼Í¼»ìºÏ¸ñʽ(squid and common log)\n" #: log.c:1606 #, c-format msgid "Common log format\n" msgstr "ÆÕͨÈÕÖ¾¸ñʽ\n" #: log.c:1609 #, c-format msgid "Squid log format\n" msgstr "SquidÈÕÖ¾¸ñʽ\n" #: log.c:1612 #, c-format msgid "Sarg log format\n" msgstr "SargÈÕÖ¾¸ñʽ\n" #: log.c:1615 #, c-format msgid "Log with invalid format\n" msgstr "²»´æÔÚµÄÈÕÖ¾¸ñʽ\n" #: log.c:1619 #, c-format msgid "No records found\n" msgstr "ûÓÐÕÒµ½¼Í¼\n" #: log.c:1620 log.c:1750 #, c-format msgid "End\n" msgstr "½áÊø\n" #: log.c:1634 #, c-format msgid "Period covered by log files: %s-%s\n" msgstr "ÆÚ¼ä±»ÈÕÖ¾Îļþ¸²¸Ç: %s - %s\n" #: log.c:1638 #, c-format msgid "Failed to build the string representation of the date range\n" msgstr "½¨Á¢ÒÔ×Ö·û´®±íʾÈÕÆÚµÄ·¶Î§Ê±Ê§°Ü\n" #: log.c:1643 #, c-format msgid "date=%s\n" msgstr "" #: log.c:1644 #, fuzzy, c-format msgid "period=%s\n" msgstr "ÆÚ¼ä: %s\n" #: log.c:1648 #, c-format msgid "Period: %s\n" msgstr "ÆÚ¼ä: %s\n" #: log.c:1665 #, fuzzy, c-format msgid "File name too long: %s/sarg-%s_%s-%s_%s.log\n" msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #: log.c:1669 #, c-format msgid "failed to rename %s to %s - %s\n" msgstr "ÖØÃüÃûʧ°Ü %s ÖÁ %s - %s\n" #: log.c:1679 #, fuzzy, c-format msgid "Command too long: %s \"%s\"\n" msgstr "·¾¶¹ý³¤ %s/%s.ip\n" #: log.c:1691 #, c-format msgid "Sarg parsed log saved as %s\n" msgstr "Sarg½âÎöÈÕÖ¾Áí´æÎª %s\n" #: log.c:1739 #, c-format msgid "Total execution time: %.0lf seconds\n" msgstr "" #: log.c:1741 #, c-format msgid "Lines read: %lu lines in %.0lf seconds (%.0lf lines/s)\n" msgstr "" #: log.c:1744 #, c-format msgid "Processed records: %lu records in %.0lf seconds (%.0lf records/s)\n" msgstr "" #: log.c:1745 #, c-format msgid "Users: %lu users in %.0lf seconds (%.0lf users/s)\n" msgstr "" #: log.c:1764 #, c-format msgid "Loading password file from %s\n" msgstr "¼ÓÔØÃÜÂë´ÓÎļþ %s\n" #: log.c:1767 #, c-format msgid "(getusers) Cannot open file %s - %s\n" msgstr "(getusers) ²»ÄÜ´ò¿ªÎļþ %s - %s\n" #: log.c:1772 #, c-format msgid "Failed to move till the end of the users file %s: %s\n" msgstr "ÒÆ¶¯Óû§ÎļþÖÁĩβʱʧ°Ü%s: %s\n" #: log.c:1782 #, c-format msgid "Failed to rewind the users file %s: %s\n" msgstr "ת´æÓû§Îļþʱʧ°Ü %s: %s\n" #: log.c:1787 util.c:1424 #, c-format msgid "malloc error (%ld)\n" msgstr "ÄÚ´æ·ÖÒ³´íÎó (%ld)\n" #: log.c:1797 #, c-format msgid "You have an invalid user in your %s file\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 #, c-format msgid "(realtime) mkstemp error - %s\n" msgstr "(realtime)mkstemp ´íÎó - %s\n" #: realtime.c:76 realtime.c:224 #, 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 "tail command: %s\n" msgstr "ÃüÁî: %s\n" #: realtime.c:89 #, c-format msgid "Maybe a broken record or garbage was returned by %s\n" msgstr "¿ÉÄÜÓв»ÍêÕûµÄ¼Í¼»òÕßÀ¬»ø·µ»Ø´Ó %s\n" #: realtime.c:126 #, c-format msgid "The time stamp at column 1 is too long\n" msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n" #: realtime.c:130 #, fuzzy, c-format msgid "The time stamp decimal part at column 1 is too long\n" msgstr "ʱ¼ä´ÁÔÚÁÐ1Ì«³¤\n" #: realtime.c:134 #, c-format msgid "The connection duration at column 2 is too long\n" msgstr "Á¬½Ó³ÖÐøÊ±¼äÔÚÁÐ2¹ý³¤\n" #: realtime.c:142 #, c-format msgid "The IP address at column 3 is too long\n" msgstr "ÔÚÁÐ3µÄIPµØÖ·¹ý³¤\n" #: realtime.c:146 #, c-format msgid "The status at column 4 is too long\n" msgstr "ÔÚÁÐ4µÄ״̬̫³¤\n" #: realtime.c:150 #, c-format msgid "The size at column 5 is too long\n" msgstr "ÁÐ5µÄ´óС¹ý³¤\n" #: realtime.c:154 #, c-format msgid "The action at column 6 is too long\n" msgstr "ÁÐ6µÄ×÷Óùý³¤\n" #: realtime.c:159 realtime.c:168 realtime.c:172 realtime.c:176 #, c-format msgid "The URL at column 7 is too long\n" msgstr "ÁÐ7µÄÁ¬½Ó¹ý³¤\n" #: realtime.c:163 #, c-format msgid "The user ID at column 8 is too long\n" msgstr "ÁÐ8µÄÓû§ID¹ý³¤\n" #: realtime.c:180 #, c-format msgid "The data at column 8 is too long\n" msgstr "ÁÐ8µÄÊý¾Ý¹ý³¤\n" #: realtime.c:184 #, c-format msgid "The user at column 9 is too long\n" msgstr "ÁÐ9µÄÓû§¹ý³¤\n" #: realtime.c:217 #, c-format msgid "(realtime) open error %s - %s\n" msgstr "(realtime)´ò¿ª´íÎó %s - %s\n" #: realtime.c:232 #, fuzzy, c-format msgid "Invalid time column in file %s\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: realtime.c:236 redirector.c:494 #, fuzzy, c-format msgid "Invalid IP address in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: realtime.c:240 #, fuzzy, c-format msgid "Invalid user name in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧÊäÈë %s\n" #: realtime.c:245 redirector.c:163 redirector.c:498 #, fuzzy, c-format msgid "Invalid URL in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: realtime.c:249 #, fuzzy, c-format msgid "Invalid access type in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: realtime.c:312 msgid "Realtime" msgstr "ʱʵ" #: realtime.c:313 msgid "Auto refresh" msgstr "×Ô¶¯Ë¢ÐÂ" #: realtime.c:314 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 #, c-format msgid "User ID too long in redirector log file %s\n" msgstr "ÔÚÖØ¶¨ÏòÈÕÖ¾ÎļþÖÐÓû§Ãû¹ý³¤ %s\n" #: redirector.c:140 splitlog.c:97 #, fuzzy, c-format msgid "Invalid date found in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: redirector.c:148 #, fuzzy, c-format msgid "Invalid time found in 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:173 redirector.c:482 #, fuzzy, c-format msgid "Invalid user 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:267 redirector.c:310 redirector.c:327 redirector.c:455 #: redirector.c:460 #, c-format msgid "(squidguard) Cannot open log file %s\n" msgstr "(squidguard) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: redirector.c:272 #, fuzzy, c-format msgid "Not enough memory to read the redirector log\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:413 #, c-format msgid "%d more redirector entry not shown here…" msgid_plural "%d more redirector entries not shown here…" msgstr[0] "" #: redirector.c:448 msgid "Redirector report not generated because it is empty\n" msgstr "" #: redirector.c:465 #, fuzzy, c-format msgid "Not enough memory to read the processed redirector log\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÈÕÖ¾Îļþ\n" #: redirector.c:469 redirector.c:473 msgid "Redirector report" msgstr "ÖØ¶¨Ïò±¨¸æ" #: redirector.c:477 msgid "RULE" msgstr "¹æÔò" #: redirector.c:490 repday.c:97 #, c-format msgid "Invalid time in file %s\n" msgstr "ÎÞЧµÄʱ¼äÔÚÎļþÖÐ %s\n" #: redirector.c:502 #, fuzzy, c-format msgid "Invalid rule in file %s\n" msgstr "ÔÚÎļþÖдæÔÚÎÞЧµÄÈÕÆÚ %s\n" #: redirector.c:568 #, 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:64 #, c-format msgid "Output file name too long: %s/%s/d%s.html\n" msgstr "Êä³öÎļþÃû¹ý³¤ %s/%s/d%s.html\n" #: repday.c:69 repday.c:122 #, c-format msgid "(repday) Cannot open log file %s\n" msgstr "(repday) ²»ÄÜ´ò¿ªÎļþ %s\n" #: repday.c:90 #, c-format msgid "Too many different dates in %s\n" msgstr "²»Í¬µÄÈÕÆÚÔÚ %s\n" #: repday.c:126 msgid "Day report" msgstr "ÈÕ±¨" #. TRANSLATORS: It is an hour in the hourly report #: repday.c:145 repday.c:197 #, c-format msgid "%02dH" msgstr "" #: repday.c:185 #, c-format msgid "" "Total downloaded bytes is % instead of % in the hourly " "report of user %s\n" msgstr "" #: repday.c:193 msgid "H:M:S" msgstr "H:M:S" #: repday.c:237 #, 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 #, c-format msgid "outdirname=%s\n" msgstr "" #: report.c:100 report.c:124 report.c:245 report.c:427 report.c:468 #: report.c:752 #, c-format msgid "(report) Cannot open file %s\n" msgstr "(report) ²»ÄÜ´ò¿ªÎļþ %s\n" #: report.c:120 #, fuzzy, c-format msgid "(report) directory entry too long: %s/%s.user_log\n" msgstr "(report) Îļþ¼Ð¹ý³¤ %s/%s\n" #: report.c:175 #, c-format msgid "There is a broken smart info in file %s\n" msgstr "Óв»ÍêÕûµÄÖÇÄÜÐÅÏ¢ÔÚÎļþ %s\n" #: report.c:257 msgid "Site access report" msgstr "Õ¾µã·ÃÎʱ¨¸æ" #: report.c:267 #, fuzzy msgid "DATE" msgstr "ÈÕÆÚ/ʱ¼ä" #: report.c:331 #, fuzzy, c-format msgid "Failed to close temporary file for user %s - %s\n" msgstr "¹Ø±ÕÓû§ÈÕÖ¾Îļþʧ°Ü %s - %s\n" #: report.c:350 msgid "" "Dansguardian report not produced because no dansguardian configuration file " "was provided\n" msgstr "" #: report.c:361 msgid "Downloaded files report not requested in report_type\n" msgstr "" #: report.c:366 msgid "Top sites report not requested in report_type\n" msgstr "" #: report.c:371 msgid "Sites & users report not requested in report_type\n" msgstr "" #: report.c:376 msgid "Denied accesses report not requested in report_type\n" msgstr "" #: report.c:381 msgid "Authentication failures report not requested in report_type\n" msgstr "" #: report.c:393 msgid "User's detailed report not requested in report_type\n" msgstr "" #: report.c:398 #, c-format msgid "Successful report generated on %s\n" msgstr "³É¹¦µÄÉú³É±¨¸æÔÚ %s\n" #: report.c:403 #, c-format msgid "Successful report generated and sent to %s\n" msgstr "³É¹¦µÄ±¨¸æÉú³É²¢·¢ËÍÖÁ %s\n" #: report.c:420 #, c-format msgid "Making file: %s/%s\n" msgstr "Éú³ÉÎļþ: %s/%s\n" #: report.c:422 #, c-format msgid "Temporary file name too long: %s/%s.utmp\n" msgstr "ÁÙʱÎļþÃû¹ý³¤: %s/%s.utmp\n" #: report.c:463 #, c-format msgid "Path too long %s/%s.ip\n" msgstr "·¾¶¹ý³¤ %s/%s.ip\n" #: report.c:491 #, fuzzy, c-format msgid "Failed to write a line in %s\n" msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n" #: report.c:513 #, c-format msgid "Failed to write the total line in %s\n" msgstr "дÈëµÚÒ»ÐÐʱʧ°Ü %s\n" #: report.c:539 #, c-format msgid "Invalid total number of accesses in %s\n" msgstr "²»´æÔڵķÃÎÊ×ÜÊýÔÚ %s\n" #: report.c:556 #, c-format msgid "Invalid total size in %s\n" msgstr "²»´æÔÚµÄ×Ü´óСÔÚ %s\n" #: report.c:573 #, c-format msgid "Invalid total elapsed time in %s\n" msgstr "²»´æÔÚ×ܵĹýȥʱ¼äÔÚ %s\n" #: report.c:590 #, c-format msgid "Invalid total cache hit in %s\n" msgstr "²»´æÔڵĻº´æÃüÖÐ×ÜÊý %s\n" #: report.c:607 #, c-format msgid "Invalid total cache miss in %s\n" msgstr "²»´æÔڵĻº´æÎ´ÃüÖÐ×ÜÊý %s\n" #: report.c:617 #, c-format msgid "User name too long or invalid in %s\n" msgstr "Óû§Ãû¹ý³¤»òÕß²»´æÔÚ %s\n" #: report.c:633 #, c-format msgid "Invalid number of accesses in %s\n" msgstr "²»´æÔڵķÃÎÊÊý %s\n" #: report.c:650 #, c-format msgid "Invalid number of bytes in %s\n" msgstr "²»´æÔÚ×Ö½ÚÊýz %s\n" #: report.c:659 #, c-format msgid "URL too long or invalid in %s\n" msgstr "Á¬½Ó¹ý³¤»ò²»´æÔÚ %s\n" #: report.c:667 #, c-format msgid "IP address too long or invalid in %s\n" msgstr "IPµØÖ·¹ý³¤»ò²»´æÔÚ %s\n" #: report.c:675 #, c-format msgid "Time too long or invalid in %s\n" msgstr "ʱ¼ä¹ý³¤»ò²»´æÔÚ %s\n" #: report.c:683 #, c-format msgid "Date too long or invalid in %s\n" msgstr "ÈÕÆÚ¹ý³¤»ò²»´æÔÚz %s\n" #: report.c:699 #, c-format msgid "Invalid elapsed time in %s\n" msgstr "²»´æÔڵĵĹýȥʱ¼äÔÚ %s\n" #: report.c:716 #, c-format msgid "Invalid cache hit size in %s\n" msgstr "²»´æÔڵĻº´æÃüÖдóСÔÚ %s\n" #: report.c:733 #, c-format msgid "Invalid cache miss size in %s\n" msgstr "²»´æÔÚ»º´æÎ´ÃüÖдóСÔÚ %s\n" #: report.c:747 #, fuzzy, c-format msgid "File name too long for %s/smartfilter.int_unsort\n" msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #: siteuser.c:52 msgid "Sites and users report not generated because privacy option is on\n" msgstr "" #: siteuser.c:74 siteuser.c:80 #, c-format msgid "(siteuser) Cannot open log file %s\n" msgstr "(siteuser) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: siteuser.c:84 siteuser.c:88 topuser.c:236 msgid "Sites & Users" msgstr "Õ¾µã & Óû§" #: smartfilter.c:57 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_unsort\n" msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #: smartfilter.c:61 #, fuzzy, c-format msgid "File name too long: %s/sarg-sites\n" msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #: smartfilter.c:65 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.int_log\n" msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #: smartfilter.c:69 #, fuzzy, c-format msgid "File name too long: %s/smartfilter.html\n" msgstr "ÎļþÃû¹ý³¤: %s/%s/denied_%s.html\n" #: smartfilter.c:74 #, c-format msgid "cannot build the sort command to sort file %s\n" msgstr "²»Äܹ¹½¨ÅÅÐòÃüÁîÀ´ÅÅÐòÎļþ %s\n" #: smartfilter.c:84 smartfilter.c:94 #, c-format msgid "(smartfilter) Cannot open log file %s\n" msgstr "(smartfilter)²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: smartfilter.c:109 topuser.c:242 msgid "SmartFilter" msgstr "ÖÇÄܹýÂË" #: smartfilter.c:116 smartfilter.c:183 msgid "SMARTFILTER" msgstr "" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "Generated by" msgstr "ÓÉ Éú³É" #: smartfilter.c:140 smartfilter.c:194 smartfilter.c:204 util.c:1617 msgid "on" msgstr "on" #: smartfilter.c:146 #, c-format msgid "(smartfilter) Cannot open file %s\n" msgstr "(smartfilter) ²»ÄÜ´ò¿ªÎļþ %s\n" #: sort.c:66 #, fuzzy, c-format msgid "File name too long: %s/%s.utmp\n" msgstr "ÎļþÃû¹ý³¤: %s/%s.ip\n" #: sort.c:70 #, fuzzy, c-format msgid "File name too long: %s/htmlrel.txt\n" msgstr "ÊäÈëµÄÃû³Æ¹ý³¤: %s/%s\n" #: sort.c:118 #, fuzzy, c-format msgid "Sorting log %s/%s.user_unsort\n" msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n" #: sort.c:125 #, c-format msgid "user name too long to sort %s\n" msgstr "Óû§Ãû¹ý³¤ÎÞ·¨ÅÅÐò %s\n" #: sort.c:135 #, fuzzy, c-format msgid "user name too long for %s/%s.user_unsort\n" msgstr "Óû§Ãû¹ý³¤ %s/%s.unsort\n" #: sort.c:156 topuser.c:171 msgid "connect" msgstr "" #: sort.c:158 #, fuzzy msgid "site" msgstr "ÈÈÃÅÕ¾µã" #: sort.c:160 topuser.c:174 #, fuzzy msgid "time" msgstr "ʱʵ" #: sort.c:162 topuser.c:176 msgid "bytes" msgstr "" #: sort.c:166 topuser.c:181 msgid "normal" msgstr "" #: sort.c:168 topuser.c:184 msgid "reverse" msgstr "" #: splitlog.c:70 #, c-format msgid "(splitlog) Output path is too long: %s%s-YYYY-mm-dd\n" msgstr "" #: splitlog.c:84 #, fuzzy, c-format msgid "(splitlog) Cannot open log file %s - %s\n" msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n" #: splitlog.c:124 #, fuzzy, c-format msgid "(splitlog) Cannot open output log file %s - %s\n" msgstr "(splitlog) ÎÞ·¨´ò¿ªÈÕÖ¾Îļþ %s\n" #: topsites.c:72 msgid "Top sites report not produced because privacy option is on\n" msgstr "" #: topsites.c:95 topsites.c:101 topsites.c:217 topsites.c:228 #, c-format msgid "(topsites) Cannot open log file %s\n" msgstr "(topsites) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: topsites.c:179 #, c-format msgid "Total statistics mismatch when reading %s to produce the top sites\n" msgstr "" #: topsites.c:232 topuser.c:235 msgid "Top sites" msgstr "ÈÈÃÅÕ¾µã" #: topsites.c:237 #, c-format msgid "Top %d sites" msgstr "ÈÈÃÅ %d Õ¾µã" #: topsites.c:280 #, fuzzy, c-format msgid "The number of users is invalid in file %s\n" msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n" #: topsites.c:284 #, c-format msgid "The url is invalid in file %s\n" msgstr "Õâ¸öÁ¬½Ó²»´æÔÚÔÚÎļþ %s\n" #: topuser.c:45 topuser.c:87 topuser.c:93 topuser.c:200 topuser.c:211 #, c-format msgid "(topuser) Cannot open file %s\n" msgstr "(topuser) ²»ÄÜ´ò¿ªÎļþ %s\n" #: topuser.c:101 util.c:748 #, c-format msgid "Not enough memory to read the 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:215 #, c-format msgid "SARG report for %s" msgstr "SARG ±¨¸æ %s" #: topuser.c:222 #, c-format msgid "Sort: %s, %s" msgstr "" #: topuser.c:224 msgid "Top users" msgstr "ÈÈÃÅÓû§" #. TRANSLATORS: This is the title of the main report page when no #. * top users list are requested. #. #: topuser.c:229 msgid "Table of content" msgstr "" #: topuser.c:238 msgid "Redirector" msgstr "ÖØ¶¨Ïò" #: topuser.c:240 msgid "Denied accesses" msgstr "×èÖ¹·ÃÎÊ" #: topuser.c:243 msgid "Useragent" msgstr "Óû§´úÀí" #: topuser.c:250 msgid "No top users report because it is not configured in report_type\n" msgstr "" #: topuser.c:300 #, c-format msgid "There is a broken user in file %s\n" msgstr "Óв»ÍêÕûµÄÓû§ÔÚÎļþ %s\n" #: topuser.c:312 #, c-format msgid "There is a broken elpased time in file %s\n" msgstr "Óв»ÍêÕûµÄ¹ýȥʱ¼äÔÚÎļþ %s\n" #: topuser.c:316 #, c-format msgid "There is a broken in-cache size in file %s\n" msgstr "Óв»ÍêÕûµÄ in-cache ´óСÔÚÎļþ %s\n" #: topuser.c:320 #, c-format msgid "There is a broken out-of-cache size in file %s\n" msgstr "Óв»ÍêÕûµÄ out-of-cache ´óСÔÚÎļþ %s\n" #: topuser.c:352 msgid "Graphic" msgstr "ÊÓͼ" #: topuser.c:390 #, c-format msgid "" "The total of the in-cache and cache-miss is not 100%% at position %d (user " "%s)\n" msgstr "" #: topuser.c:441 #, c-format msgid "The total of the in-cache and cache-miss is not 100%%\n" msgstr "" #: topuser.c:481 #, c-format msgid "Write error in top user list %s\n" msgstr "дÈë´íÎóÔÚÈÈÃÅÓû§Áбí %s\n" #: topuser.c:483 #, c-format msgid "Failed to close the top user list %s - %s\n" msgstr "¹Ø±Õ»îÔ¾Óû§Áбíʱʧ°Ü %s - %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:153 #, c-format msgid "File name too long: %s/%s%s\n" msgstr "ÎļþÃû¹ý³¤: %s/%s%s\n" #: totday.c:158 #, c-format msgid "(totday) Cannot open log file %s\n" msgstr "(today) ²»ÄÜ´ò¿ªÈÕÖ¾Îļþ %s\n" #: totday.c:166 #, 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:588 #, fuzzy, c-format msgid "Not enough memory to read the host name aliases\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´¶ÁÈ¡ÏÂÔØÎļþ\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:65 useragent.c:70 useragent.c:146 useragent.c:158 #: useragent.c:229 useragent.c:240 useragent.c:298 #, c-format msgid "(useragent) Cannot open file %s\n" msgstr "(useragent) ²»ÄÜ´ò¿ªÎļþ %s\n" #: useragent.c:75 #, c-format msgid "Reading useragent log: %s\n" msgstr "¶ÁÈ¡Óû§´úÀíÈÕÖ¾: %s\n" #: useragent.c:100 #, c-format msgid "Maybe you have a broken useragent entry in your %s file\n" msgstr "¿ÉÄÜÄãÓв»ÍêÕûµÄÓû§´úÀíÔÚÄãµÄ %s Îļþ\n" #: useragent.c:122 #, c-format msgid " Records read: %ld\n" msgstr " ¼Í¼ ¶ÁÈ¡: %ld\n" #: useragent.c:163 #, c-format msgid "Making Useragent report\n" msgstr "±ê¼ÇµÄÓû§´úÀí±¨¸æ\n" #: useragent.c:165 useragent.c:166 msgid "Squid Useragent's Report" msgstr "SquidÓû§´úÀíµÄ±¨¸æ" #: useragent.c:175 useragent.c:311 msgid "AGENT" msgstr "´úÀí" #: useragent.c:180 useragent.c:250 #, c-format msgid "There is an invalid IP address in file %s\n" msgstr "ÓÐÒ»¸öÎÞЧµÄIPµØÖ·ÔÚÎļþ %s\n" #: useragent.c:193 useragent.c:254 useragent.c:318 #, c-format msgid "There is an invalid useragent in file %s\n" msgstr "ÓÐÒ»¸öÎÞЧµÄÓû§´úÀíÔÚÎļþ %s\n" #: userinfo.c:81 #, c-format msgid "Not enough memory to store the user\n" msgstr "ûÓÐ×ã¹»µÄÄÚ´æÀ´´æ´¢Óû§ \n" #: usertab.c:64 #, c-format msgid "(usertab) Cannot open file %s - %s\n" msgstr "(usertab) ²»ÄÜ´ò¿ªÎļþ %s - %s\n" #: usertab.c:68 #, c-format msgid "Failed to move till the end of the usertab file %s: %s\n" msgstr "ÎÞ·¨Òƶ¯Ö±µ½Óû§±íÎļþĩβ %s: %s\n" #: usertab.c:78 #, c-format msgid "Failed to rewind the usertab file %s: %s\n" msgstr "ÎÞ·¨×ª»ØÓû§±íÎļþ %s: %s\n" #: usertab.c:82 #, c-format msgid "ERROR: Cannot load. Memory fault\n" msgstr "´íÎó: ²»ÄÜÔØÈë. ÄÚ´æ´íÎó \n" #: usertab.c:93 usertab.c:102 #, c-format msgid "The list of the users is too long in your %s file.\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 usertab.c:276 #, c-format msgid "Loading User table: %s\n" msgstr "ÔØÈëÓû§±í: %s\n" #: usertab.c:271 #, c-format msgid "LDAP module not compiled in sarg\n" msgstr "LDAPÄ£¿éûÓбàÒëÔÚsargÖÐ\n" #: util.c:55 #, c-format msgid "getword backtrace:\n" msgstr "getword »ØËÝ:\n" #: util.c:74 #, c-format msgid "Cannot parse again the line as it was modified\n" msgstr "²»ÄÜÔٴνâÎöÒòΪËüÒѾ­±»ÐÞ¸Ä\n" #: util.c:86 #, c-format msgid "getword loop detected after %d bytes.\n" msgstr "" #: util.c:87 util.c:128 util.c:155 util.c:194 util.c:233 #, c-format msgid "Line=\"%s\"\n" msgstr "" #: util.c:88 util.c:129 util.c:156 util.c:195 util.c:234 #, c-format msgid "Record=\"%s\"\n" msgstr "" #: util.c:89 util.c:130 util.c:157 util.c:196 util.c:235 #, c-format msgid "searching for 'x%x'\n" msgstr "" #: util.c:127 #, c-format msgid "getword_multisep loop detected.\n" msgstr "" #: util.c:154 #, c-format msgid "getword_skip loop detected after %d bytes.\n" msgstr "" #: util.c:187 #, c-format msgid "Integer overflow detected in getword_atoll in line %s\n" msgstr "" #: util.c:193 #, c-format msgid "getword_atoll loop detected after %d bytes.\n" msgstr "" #: util.c:226 #, c-format msgid "Integer overflow detected in getword_atoi in line %s\n" msgstr "" #: util.c:232 #, c-format msgid "getword_atoi loop detected after %d bytes.\n" msgstr "" #: util.c:263 #, c-format msgid "Invalid buffer passed to getword_ptr\n" msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n" #: util.c:317 #, c-format msgid "Invalid path (%s). Please, use absolute paths only.\n" msgstr "" "²»´æÔڵķ¾¶ (%s).\n" " Çë½öʹÓþø¶Ô·¾¶.\n" #: util.c:324 #, c-format msgid "directory name too long: %s\n" msgstr "Îļþ¼ÐÃû¹ý³¤: %s\n" #: util.c:358 #, 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:433 msgid "" "January,February,March,April,May,June,July,August,September,October,November," "December" msgstr "Ò»ÔÂ,¶þÔÂ,ÈýÔÂ,ËÄÔÂ,ÎåÔÂ,ÁùÔÂ,ÆßÔÂ,°ËÔÂ,¾ÅÔÂ,Ê®ÔÂ,ʮһÔÂ,Ê®¶þÔÂ" #: util.c:438 util.c:442 #, c-format msgid "" "The internal list of month names is invalid. Please report this bug to the " "translator.\n" msgstr "" #: util.c:458 msgid "SARG: " msgstr "SARG: " #: util.c:475 #, fuzzy msgid "SARG: (info) " msgstr "SARG: " #: util.c:660 #, c-format msgid "Failed to read the date in %s\n" msgstr "¶ÁÈ¡ÈÕÆÚʧ°Ü %s\n" #: util.c:716 #, c-format msgid "Failed to read the number of users in %s\n" msgstr "¶ÁÈ¡Óû§Êýʧ°Ü %s\n" #: util.c:761 #, c-format msgid "There is a invalid user in file %s\n" msgstr "Óв»´æÔÚµÄÓû§ÔÚÎļþ %s\n" #: util.c:767 #, c-format msgid "There a broken total number of access in file %s\n" msgstr "Óв»ÍêÕûµÄ·ÃÎÊ×ÜÊýÔÚÎļþ %s\n" #: util.c:926 #, c-format msgid "Cannot copy images to target directory %simages\n" msgstr "²»ÄÜ¿½±´¾µÏñµ½Ä¿±êÎļþ¼Ð %simages\n" #: util.c:939 #, c-format msgid "(util) Can't open directory %s: %s\n" msgstr "(util) ²»ÄÜ´ò¿ªÎļþ¼Ð %s: %s\n" #: util.c:947 #, c-format msgid "Cannot stat \"%s\" - %s\n" msgstr "²»ÄÜ¿ªÊ¼ \"%s\" - %s\n" #: util.c:958 #, c-format msgid "Failed to copy image %s to %s\n" msgstr "¿½±´¾µÏñʧ°Ü %s µ½ %s\n" #: util.c:964 util.c:967 msgid "Cannot open file" msgstr "²»ÄÜ´ò¿ªÎļþ" #: util.c:1054 util.c:1077 #, c-format msgid "File %s already exists, moved to %s\n" msgstr "Îļþ %s ÒѾ­´æÔÚ, ÒÆ¶¯ÖÁ %s\n" #: util.c:1095 #, c-format msgid "cannot open %s for writing\n" msgstr "²»ÄÜ´ò¿ªÎļþ %s À´Ð´Èë\n" #: util.c:1104 util.c:1109 #, c-format msgid "Failed to write the date in %s\n" msgstr "дÈëʱ¼äʱʧ°ÜÔÚw %s\n" #: util.c:1130 #, fuzzy, c-format msgid "Invalid buffer length passed to the function to safely copy a string\n" msgstr "²»´æÔڵĻº³åÇø´«µÝ¸ø getword_ptr\n" #: util.c:1209 #, 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:1214 util.c:1218 #, 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:1231 #, c-format msgid "Failed to get the current time\n" msgstr "µÃµ½×¼È·Ê±¼äʱʧ°Ü\n" #: util.c:1236 #, c-format msgid "Invalid number of days in -d parameter\n" msgstr "ÎÞЧµÄÈÕÆÚÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: util.c:1242 util.c:1266 util.c:1273 util.c:1282 util.c:1295 #, c-format msgid "Cannot convert local time: %s\n" msgstr "²»ÄÜת»»±¾µØÊ±¼ä: %s\n" #: util.c:1261 #, c-format msgid "Invalid number of weeks in -d parameter\n" msgstr "ÎÞЧµÄÖÜÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: util.c:1290 #, c-format msgid "Invalid number of months in -d parameter\n" msgstr "ÎÞЧµÄÔ·ÝÊý×ÖÔÚʹÓà -d ²ÎÊýʱ\n" #: util.c:1324 #, fuzzy, c-format msgid "Invalid date range passed on command line\n" msgstr "±äÿ´«µÃµÄÈÕÆÚ·¶Î§ÎÞç\n" #: util.c:1375 #, c-format msgid "Purging temporary file sarg-general\n" msgstr "Çå³þÁÙʱÎļþsarg-general\n" #: util.c:1378 #, c-format msgid "(removetmp) directory too long to remove %s/sarg-period\n" msgstr "(removetmp) Îļþ¼ÐÌ«³¤²»Äܱ»É¾³ý %s/sarg-period\n" #: util.c:1382 #, c-format msgid "(removetmp) Cannot open file %s\n" msgstr "(removetmp) ²»ÄÜ´ò¿ªÎļþ %s\n" #: util.c:1387 #, c-format msgid "Failed to close %s after writing the total line - %s\n" msgstr "дÈëËùÓÐÐÐÖ®ºó¹Ø±Õ %s ʱʧ°Ü - %s\n" #: util.c:1404 #, c-format msgid "(util) Cannot open file %s (exclude_codes)\n" msgstr "(util)²»ÄÜ´ò¿ªÎļþ %s (exclude_codes)\n" #: util.c:1409 #, c-format msgid "Failed to move till the end of the excluded codes file %s: %s\n" msgstr "ÔÚÅųý´úÂëÎļþ֮ǰ²»ÄÜÒÆ¶¯¸ÃÎļþ %s: %s\n" #: util.c:1418 #, c-format msgid "Failed to rewind the excluded codes file %s: %s\n" msgstr "תÏòÅųý´úÂëÎļþʱʧ°Ü %s: %s\n" #: util.c:1435 #, c-format msgid "Too many codes to exclude in file %s\n" msgstr "ÔÚÎļþÖйý¶àµÄ±àÂë±»Åųý %s\n" #: util.c:1589 #, c-format msgid "Cannot get disk space because the path %s%s is too long\n" msgstr "²»ÄÜ»ñÈ¡´ÅÅ̿ռäÒòΪ·¾¶ %s%s ¹ý³¤\n" #: util.c:1593 #, c-format msgid "Cannot get disk space with command %s\n" msgstr "²»Äܵõ½´ÅÅ̿ռäʹÓÃÃüÁî %s\n" #: util.c:1597 #, c-format msgid "Cannot get disk size with command %s\n" msgstr "²»ÄÜ»ñÈ¡´ÅÅÌ´óСʹÓÃÃüÁî %s\n" #: util.c:1602 #, c-format msgid "The command %s failed\n" msgstr "ÃüÁî %s ʧ°Ü\n" #: util.c:1786 #, c-format msgid "SARG Version: %s\n" msgstr "SARG°æ±¾: %s\n" #: util.c:1818 util.c:1909 util.c:1951 #, c-format msgid "directory name to delete too long: %s/%s\n" msgstr "Îļþ¼ÐÃû³ÆÌ«³¤²»ÄÜɾ³ý: %s/%s\n" #: util.c:1827 #, c-format msgid "cannot stat %s\n" msgstr "²»ÄÜ¿ªÊ¼ %s\n" #: util.c:1838 util.c:1969 #, c-format msgid "unknown path type %s\n" msgstr "δ֪µÄ·¾¶ÀàÐÍ %s\n" #: util.c:1902 util.c:1944 #, 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:1919 util.c:1960 #, fuzzy, c-format msgid "cannot stat \"%s\"\n" msgstr "²»ÄÜ¿ªÊ¼ %s\n" #: util.c:1925 #, c-format msgid "Unknown path type \"%s\". Check your temporary directory\n" msgstr "" #~ 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 "Temporary directory name too long: %s\n" #~ msgstr "ÁÙʱÎļþ¼ÐÃû³Æ¹ý³¤: %s\n" #~ 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.6/PROGRAMMERS0000644000000000000000000000012712105453133012672 0ustar rootrootPedro Orso Frederic Marchal sarg-2.3.6/README0000644000000000000000000001557612105453430012047 0ustar rootrootSarg 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 Palamarchuk Eugen - Russian language Csaba Kabai - Hungarian language Evren Yurtesen - Turkish language Andreas Piek - German language Fred Pacquier - French language Leonardo A. D'Angelo - Spanish language Seth Mos - Dutch language Milos Prudek - Czech language Dima I. Allaverdov - Russian_windows1251 language V Gatut Harijiso - Indonesian language Ivan Minchev - Bulgarian_windows1251 language Akira Kitamura - Japanese language Radovan Drobnjakovic - Serbian language Pieter Kooistra - Dutch language fix Andrew Okhmat - Russian Koi8 language fixed Nikolai V. Ivanyushin - Russian and Bulgarian language fix Juris Valdovskis - Latvian language Jordan Kanev - Bulgarian language fix Wszebor Boksa - Polish language Adi Cretu - Romanian language Roman Vynar - Ukrainian_windows1251 language Andreu Sanchez - Catalan language Antonis Maglaras - Greek language Dusan Woletz - Slovak Language Jose Luis Hernandez - Spanish language fix Theo kastermans - Dutch language fix Alex Deiter - Russian UTF-8 language Josef Karliak - Czech UTF-8 Igor Ageikin - Russian UTF-8 fix Joe Hansen - Danish 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.6/README_cmake0000644000000000000000000001544112105453133013176 0ustar rootrootWHY 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.6/realtime.c0000644000000000000000000002227512105453430013127 0ustar rootroot/* * 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 */ debuga(_("(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(_("tail command: %s\n"),cmd); exit(EXIT_FAILURE); } while((buf=longline_read(fp,line)) != NULL ) if (getdata(buf,tmp)<0) { debuga(_("Maybe a broken record or garbage was 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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),template1,template2); 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) { debuga(_("(realtime) open error %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 name 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.6/redirector.c0000644000000000000000000004233212135001611013454 0ustar rootroot/* * 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 found 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 found 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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),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) { debuga(_("(squidguard) Cannot open log file %s\n"),redirector_sorted); exit(EXIT_FAILURE); } if((fp_ou=fopen(report,"w"))==NULL) { debuga(_("(squidguard) Cannot open log file %s\n"),report); exit(EXIT_FAILURE); } if ((line=longline_create())==NULL) { debuga(_("Not enough memory to read the processed redirector log\n")); 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 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.6/repday.c0000644000000000000000000002006412105453430012603 0ustar rootroot/* * 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(_("Output file name too long: %s/%s/d%s.html\n"),outdirname,uinfo->filename,uinfo->filename); exit(EXIT_FAILURE); } if((fp_in=fopen(wdirname,"r"))==NULL) { debuga(_("(repday) Cannot open log file %s\n"),wdirname); 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) { debuga(_("(repday) Cannot open log file %s\n"),arqout); 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.6/report.c0000644000000000000000000005272112105453430012637 0ustar rootroot/* * 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(_("outdirname=%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){ debuga(_("(report) Cannot open file %s\n"),wdirname); 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)) { debuga(_("(report) directory entry too long: %s/%s.user_log\n"),tmp,uinfo->filename); exit(EXIT_FAILURE); } if((fp_in=MY_FOPEN(tmp3,"r"))==NULL){ debuga(_("(report) Cannot open file %s\n"),tmp); 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 the downloaded files\n")); 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(_("There is a broken record or garbage 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(_("There is a broken elapsed time in file %s\n"),tmp3); exit(EXIT_FAILURE); } if (getword_skip(20000,&gwarea,'"')<0 || getword(accsmart,sizeof(accsmart),&gwarea,'"')<0) { debuga(_("There is a broken 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) { debuga(_("(report) Cannot open file %s\n"),arqtt); 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 temporary file for user %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(_("Temporary file name too long: %s/%s.utmp\n"),tmp,user); exit(EXIT_FAILURE); } if((fp_ou=fopen(wdirname,"w"))==NULL){ debuga(_("(report) Cannot open file %s\n"),wdirname); 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 %s/%s.ip\n"),tmp,uinfo->filename); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(wdirname,"a"))==NULL){ debuga(_("(report) Cannot open file %s\n"),wdirname); 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 %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 %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 %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 %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(_("File name too long for %s/smartfilter.int_unsort\n"),dirname); exit(EXIT_FAILURE); } if((fp_ou=MY_FOPEN(wdirname,"a"))==NULL){ debuga(_("(report) Cannot open file %s\n"),wdirname); 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.6/sarg.10000644000000000000000000002376312105453430012202 0ustar rootroot'\" 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.6/sarg.conf0000644000000000000000000006234112105453430012762 0ustar rootroot# 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/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.6/sarg_htaccess0000644000000000000000000000020712105453133013704 0ustar rootrootAuthUserFile /usr/local/sarg/passwd AuthName "SARG, Restricted Access" AuthType Basic Require user admin %u sarg-2.3.6/sarg_manpage.xml0000644000000000000000000003302112105453430014316 0ustar rootroot
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.6/sarg-php/COPYING0000644000000000000000000004307612105453133013737 0ustar rootroot 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.6/sarg-php/INSTALL0000644000000000000000000000046212105453133013725 0ustar rootroot* 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.6/sarg-php/language.php0000644000000000000000000000363112105453133015171 0ustar rootroot sarg-2.3.6/sarg-php/LANGUAGES0000644000000000000000000000101412105453133014117 0ustar rootrootThis 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.6/sarg-php/locale/en_EN/LC_MESSAGES/messages.mo0000644000000000000000000000056512105453133021054 0ustar rootrootÞ•$,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.6/sarg-php/locale/en_EN/LC_MESSAGES/messages.po0000644000000000000000000000213212105453133021047 0ustar rootroot# 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.6/sarg-php/locale/fr/LC_MESSAGES/messages.mo0000644000000000000000000000146512105453133020477 0ustar rootrootÞ• 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.6/sarg-php/locale/fr/LC_MESSAGES/messages.po0000644000000000000000000000203712105453133020476 0ustar rootrootmsgid "" 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.6/sarg-php/locale/pt_BR/LC_MESSAGES/messages.mo0000644000000000000000000000152212105453133021070 0ustar rootrootÞ• 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.6/sarg-php/locale/pt_BR/LC_MESSAGES/messages.po0000644000000000000000000000241112105453133021071 0ustar rootroot# 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.6/sarg-php/locale/ru/LC_MESSAGES/messages.mo0000644000000000000000000000145412105453133020514 0ustar rootrootÞ• 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.6/sarg-php/locale/ru/LC_MESSAGES/messages.po0000644000000000000000000000233712105453133020520 0ustar rootroot# 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.6/sarg-php/sarg-block-it.php0000644000000000000000000000323112105453133016040 0ustar rootroot
\n"; echo ""; print (gettext("Return")); echo " "; print (gettext (" to Sarg.")); } sarg-2.3.6/sarg-php/sarg-realtime.php0000644000000000000000000000003612105453133016136 0ustar rootroot sarg-2.3.6/sarg-php/sarg-squidguard-block2.php0000644000000000000000000000342512105453133017663 0ustar rootroot
\n"; echo ""; print (gettext("Return")); echo " "; print (gettext (" to Sarg.")); } sarg-2.3.6/sarg-php/sarg-squidguard-block.php0000644000000000000000000000546512105453133017607 0ustar rootroot\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.6/sarg-php/style.php0000644000000000000000000000404712105453133014550 0ustar rootroot"); 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.6/sarg-php/translate.this0000644000000000000000000000375312105453133015570 0ustar rootroot/* * 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.6/siteuser.c0000644000000000000000000001406212105453430013163 0ustar rootroot/* * 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[255]; 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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),general,general2); 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) { debuga(_("(siteuser) Cannot open log file %s\n"),general2); debuga(_("sort command: %s\n"),csort); exit(EXIT_FAILURE); } if((fp_ou=fopen(report,"w"))==NULL) { debuga(_("(siteuser) Cannot open log file %s\n"),report); 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.6/smartfilter.c0000644000000000000000000002415512105453430013660 0ustar rootroot/* * 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 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(_("File name too long: %s/smartfilter.int_unsort\n"),tmp); exit(EXIT_FAILURE); } if (snprintf(sites,sizeof(sites),"%s/sarg-sites",outdirname)>=sizeof(sites)) { debuga(_("File name too long: %s/sarg-sites\n"),outdirname); exit(EXIT_FAILURE); } if (snprintf(smart_ou,sizeof(smart_ou),"%s/smartfilter.int_log",tmp)>=sizeof(smart_ou)) { debuga(_("File name too long: %s/smartfilter.int_log\n"),tmp); exit(EXIT_FAILURE); } if (snprintf(report,sizeof(report),"%s/smartfilter.html",outdirname)>=sizeof(report)) { debuga(_("File name too long: %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) { debuga(_("(smartfilter) Cannot open log file %s\n"),smart_ou); 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) { debuga(_("(smartfilter) Cannot open log file %s\n"),report); 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")); 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(_("There is a broken record or garbage 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); fprintf(fp_user,"

%s %s-%s %s %s
\n",_("Generated by"),URL,PGM,VERSION,_("on"),ftime); } fputs("\n\n",fp_user); fclose(fp_user); } if ((fp_user = fopen(smartuser, "a")) == 0) { debuga(_("(smartfilter) Cannot open file %s\n"),smartuser); 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); fprintf(fp_ou,"

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

%s %s-%s %s %s
\n",_("Generated by"),URL,PGM,VERSION,_("on"),ftime); } 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.6/sort.c0000644000000000000000000001244612105453430012313 0ustar rootroot/* * 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(_("File name too long: %s/%s.utmp\n"),tmp,uinfo->filename); exit(EXIT_FAILURE); } if (snprintf(arqou,sizeof(arqou),"%s/htmlrel.txt",tmp)>=sizeof(arqou)) { debuga(_("File name too long: %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(_("Sort command too long when sorting file \"%s\" to \"%s\"\n"),arqin,arqou); 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)) { debuga(_("user name too long to sort %s\n"),csort); 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 for %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.6/sorttable/sorttable.js0000644000000000000000000004137612105453133015520 0ustar rootroot/* 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; id_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(_("directory name to delete too long: %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\n"),dname); 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(_("directory name to delete too long: %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\"\n"),dname); 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(_("directory name to delete too long: %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\"\n"),dname); 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; bool 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/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. 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 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" 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 : # 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. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} 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_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; } # 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 -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' 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 if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # 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.6' PACKAGE_STRING='sarg 2.3.6' 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 mkdir_p 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 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' 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 ;; -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 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 $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 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.6 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] --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.6:";; 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.6 generated by GNU Autoconf 2.67 Copyright (C) 2010 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 || $as_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; test "x$as_lineno_stack" = x && { as_lineno=; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; 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 "test \"\${$3+set}\"" = set; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 "test \"\${$3+set}\"" = set; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 "test \"\${$3+set}\"" = set; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 "test \"\${$4+set}\"" = set; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 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 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 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 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 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 "test \"\${$3+set}\"" = set; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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.6, which was generated by GNU Autoconf 2.67. 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 test "${ac_cv_build+set}" = set; 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 test "${ac_cv_host+set}" = set; 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 test "${ac_cv_prog_CC+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_prog_ac_ct_CC+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_prog_CC+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_prog_CC+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_prog_CC+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_prog_ac_ct_CC+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_objext+set}" = set; 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 test "${ac_cv_c_compiler_gnu+set}" = set; 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 test "${ac_cv_prog_cc_g+set}" = set; 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 test "${ac_cv_prog_cc_c89+set}" = set; 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 #include #include /* 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 test "${ac_cv_prog_cc_c99+set}" = set; 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 -xc99=all -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 "test \"\${$as_ac_Header+set}\"" = set; 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 test "${ac_cv_search_opendir+set}" = set; 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 test "${ac_cv_search_opendir+set}" = set; then : break fi done if test "${ac_cv_search_opendir+set}" = set; 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 test "${ac_cv_search_opendir+set}" = set; 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 test "${ac_cv_search_opendir+set}" = set; then : break fi done if test "${ac_cv_search_opendir+set}" = set; 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 test "${ac_cv_prog_CPP+set}" = set; 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 test "${ac_cv_path_GREP+set}" = set; 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" { test -f "$ac_path_GREP" && $as_test_x "$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 test "${ac_cv_path_EGREP+set}" = set; 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" { test -f "$ac_path_EGREP" && $as_test_x "$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 test "${ac_cv_header_stdc+set}" = set; 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 test "${ac_cv_lib_gd_gdImagePng+set}" = set; 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" = x""yes; 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" = x""yes; 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 test "${ac_cv_lib_ldap_ldap_init+set}" = set; 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" = x""yes; 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 echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&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. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path 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 test "${acl_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do 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 GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&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 test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's 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 test "${acl_cv_rpath+set}" = set; 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 test "${gl_cv_solaris_64bit+set}" = set; 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 test "${am_cv_func_iconv+set}" = set; 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 test "${am_cv_func_iconv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi 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 int main () { /* 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 const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* 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 const char input[] = "\263"; char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #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 const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #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)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi 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 test "${am_cv_proto_iconv+set}" = set; 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(__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" = x""yes; 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" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PCRE_H 1 _ACEOF fi done if ( test "x$ac_cv_header_pcre_h" == "xyes" ) ; then LDFLAGS="$LDFLAGS $(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 test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* 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. */ char *t; 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 saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; 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 test "${ac_cv_struct_tm+set}" = set; 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 "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; 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 test "${ac_cv_path_install+set}" = set; 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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 test "${ac_cv_path_mkdir+set}" = set; 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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac { $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.18 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 test "${ac_cv_path_MSGFMT+set}" = set; 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 test "${ac_cv_path_GMSGFMT+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 test "${ac_cv_path_XGETTEXT+set}" = set; 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 echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 test "${ac_cv_path_MSGMERGE+set}" = set; 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 test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; 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 test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; 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 "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; 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 test "${am_cv_func_iconv+set}" = set; 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 test "${am_cv_func_iconv_works+set}" = set; then : $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi 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 int main () { /* 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 const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* 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 const char input[] = "\263"; char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #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 const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #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)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi 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 "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; 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 $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; 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 $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; 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 test "${ac_cv_sys_largefile_CC+set}" = set; 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 << 62) - 1 + ((off_t) 1 << 62)) 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 test "${ac_cv_sys_file_offset_bits+set}" = set; 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 << 62) - 1 + ((off_t) 1 << 62)) 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 << 62) - 1 + ((off_t) 1 << 62)) 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 test "${ac_cv_sys_large_files+set}" = set; 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 << 62) - 1 + ((off_t) 1 << 62)) 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 << 62) - 1 + ((off_t) 1 << 62)) 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 test "${bu_cv_have_fopen64+set}" = set; 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" = x""yes; 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" = x""yes; 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" = x""yes; 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" = x""yes; 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" = x""yes; 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" = x""yes; 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" = x""yes; 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" = x""yes; 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 test "${ac_cv_sizeof_rlim_t+set}" = set; 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" = x""yes; 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 CFLAGS="${CFLAGS} -fstack-protector -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 test "${ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_nwalsh_manpages_docbook_xsl+set}" = set; 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" = x""yes; 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 test "${ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_manpages_docbook_xsl+set}" = set; 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" = x""yes; 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 test "${ac_cv_file__usr_share_sgml_docbook_stylesheet_xsl_docbook_xsl_html_onechunk_xsl+set}" = set; 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" = x""yes; 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 test "${ac_cv_file__usr_share_sgml_docbook_xsl_stylesheets_html_onechunk_xsl+set}" = set; 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" = x""yes; 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 test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file 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. 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 -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' 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 if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # 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.6, which was generated by GNU Autoconf 2.67. 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.6 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 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= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # 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 {' >"$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 >>"\$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 >>"\$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 < "$tmp/subs1.awk" > "$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="$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 >"$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 "$tmp/subs.awk" >$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' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$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 "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$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" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/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 assigment 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 assigment 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