webalizer-2.23-05/0000755000175000017500000000000011551757724012266 5ustar bradbradwebalizer-2.23-05/CHANGES0000644000175000017500000006067711453023104013254 0ustar bradbrad-------------------------------------------------------------------- 2.23-xx changes from 2.21-xx -------------------------------------------------------------------- Fixes: o Fix sporadic eol problem with some IIS/W3C logs o Fix compiler directive syntax error (broke some 64 bit systems) Changes/Additions: o Modest speed improvements in hash table code -------------------------------------------------------------------- 2.21-xx changes from 2.20-xx -------------------------------------------------------------------- Fixes: o Added missing memory deallocation call in DNS lookup code. o Minor fixes to configure script Changes/Additions: o Added "YearTotals" config option for main index page totals o Rename local stricmp() function to ouricmp() to prevent name confilict on systems that happen to provide it already. -------------------------------------------------------------------- 2.20-xx changes from 2.01-xx -------------------------------------------------------------------- Fixes: o Fixed problem with timing totals. o Fixed referrer linking to avoid possible xss injection. o Fixed month change detection error that caused incorrect report dates when logs had a 'gap' longer than a year. o Fixed buffer overrun possibility in parsing code and user agent mangle logic. o Added symbolic link checks for file I/O to prevent possible privilege escalation exploits. Disallows reading from or writing to any file that is a symlink. Thanks to Julien Danjou. o Added code to preserve the history and incremental data files in the event of a crash before writing to them completely. Thanks to Robert Millan for the idea and initial code. Changes/Additions: o Added native geolocation services, which fully supports both IPv4 and IPv6 lookups. Adds the configuration keywords 'GeoDB' and 'GeoDBDatabase' along with the '-j' and '-J' command line options. o Added 'wcmgr', "The Webalizer (DNS) Cache file Manager" to the distribution to provide cache file maintenance. See the supplied man page for a description and usage information. o Changed history code and main index page to allow for more than 12 months of reports to be displayed. Added the config keywords 'IndexMonths' (-K command line option), 'GraphMonths' (-k command line option) and 'YearHeaders' to control how index is displayed. o Changed Berkeley DB code to use current 4.x APIs. o Added support for bzip2 compressed log files (.bz2) as a compile time option (--enable-bz2). If enabled, bzipped files will be decompressed automatically during processing. o Added support for W3C formatted logs. Based on code submitted by Klaus Reimer. o Added GeoIP support as compile time option (--enable-geoip). Adds 'GeoIP' and 'GeoIPDatabase' config keywords, '-w' and '-W' command line options. (http://www.maxmind.com/) o Added IPv6 support. Based on initial code by Jose Carlos Meneiros and modified to support Solaris and other problematic platforms. o Added 'CacheIPs' config option to allow saving unresolved addresses in the DNS cache. o Added 'CacheTTL' config option which allows the DNS cache time to live (TTL) value to be specified at run-time. o Added 'SearchCaseI' config option to specify if search strings should be treated as case insensitive or not. The default value, 'yes', causes search strings to be treated as case insensitive. o Added 'HTAccess' config option. Allows writing a default .htaccess file to the output directory. o Added ability to display flags in the top country table. Adds the config keywords 'CountryFlags' and 'FlagDir', and -z command line option. o Added 'StripCGI' config option to configure how CGI variables on the end of URLs are treated (can now be stripped or left in place). o Added 'DefaultIndex' config option to enable/disable the use of "index." as a default index name to be stripped from the end of URLs. o Added 'TrimSquidURL' config option to allow squid log URLs to be reduced in granularity by a user definable amount. Thanks to code submitted by Stuart Gall. o Added 'OmitPage' config option (and the '-O' command line switch) to prevent specified URLs from being counted as pages even if they otherwise would be. Thanks to code submitted by Adam Morton. o Added 'IgnoreState' config option (and the -b command line switch) to allow ignoring any existing incremental data file (similar to the IgnoreHist/-i option). o Changed logic to always generate summary report (index.html), even if no records were processed. o Added color support to allow changing graph colors. Based on the Webalizer-usecolor code submitted by Benoit Rouits. Adds 11 new config options, see the README file for complete descriptions. o Added language 'lang=' specification in generated HTML files. o Added 'LinkReferrer' config option to allow/disallow links in the top referrers table. o Added 'PagePrefix' config option to allow URL prefix matches to be counted as pages, regardless of file extension or type. Thanks to code submitted by Remco Van de Meent. o Enabled large file support (LFS) to support logs greater than 2Gb in size on systems that support LFS. Also increased the size of most internal counters to handle larger sites. o Minor changes to generated HTML output o Updated language files country codes for current IANA TLDs o Changed the meaning of the -v command line switch. It now causes verbose information to be displayed at run-time (Informational and Debug messages). o Changed Group* config options to allow a quoted string for the match string. This allows spaces to be embedded in the string. o Changed log record parsing logic to allow spaces in URLs. o Made configuration keywords, boolean configuration values (yes/no), and log file types case insensitive. Also fixed defaults for invalid values to reflect documented defaults. o Changed configure script to use --sysconfdir to specify the location of the default webalizer.conf configuration file. Also added support for DESTDIR during install to aid binary package builds. -------------------------------------------------------------------- 2.01-xx changes from 1.30-04 -------------------------------------------------------------------- Fixes: o Fix posible obscure buffer overflow bug in DNS resolver code o Added additional extended character fixes o Let code accept partial content response codes along with 200's o Added code to catch blank hostnames (yes, they have been found!) Will convert them into 'Unknown' o Security fix for cross-site scripting vulnerability found by Flavio Veloso (www.magnux.com). o Fixed a TOTAL_RC off by one error, which would prevent the last response code from being saved when using incremental mode. o Fixed possible segfault condition in MangleAgent code on some malformed user agent names. o Fixed DNS to prevent hangs on blank and malformed hostnames. o Fixed problem calculating visits. Changed timestamps to use seconds since epoch (1/1/1970) which results in more accurate analysis. Also changed normal out of sequence code to handle up to 1 hour of 'slop' in the timestamps. This changed the semantics of the VisitTimeout and -m configuration options, as the values are now specified in number of seconds. o Fixed hostname lowercase problem (wasn't) when using DNS lookups. o Fixed problem with incremental datafile which could cause a read error under certain circumstances (removes control characters). Also changed code to now abort on a read error. o Fixed problem with hash table node creation where objects that were exactly the maximum length would wind up leaving a garbage byte at the end of the memory space allocated. This was causing some very infrequent and widely different problems. o Fixed problem where country graph could be produced incorrectly if using a non-english language and the country name overlapped the pie chart. o Found and fixed a problem with a possible 32-bit wrap around problem using incremental mode on large sites. The problem would cause the KBytes data on large groups to become inaccuate. Changes/Additions: o Modified configure to allow specification of the default config directory. If not given, will use /etc (/etc/webalizer.conf). o Added DailyGraph and DailyStats configuration options to enable or disable the Daily usage graph and stats table from output. o Improved visit calculation logic to reduce 'false' counts generated by external image referrals. o Added reverse DNS lookup capability. This adds the command line switchs -D and -N, and configuration keywords "DNSCache" and "DNSChildren". See the DNS.README for additional info. Based in part on code submitted by Henning P. Schmiedehausen (hps@tanstaafl.de). o Added ability to dump Sites, URLs, Referrers, User Agents, Usernames and Search Strings to tab delimited files, suitable for import into most database and spreadsheet programs. The location of this file may be specified using the "DumpPath" configuration keyword, allowing the data to be kept someplace outside the web servers document tree. The configuration keywords "DumpSites", "DumpURLs", "DumpReferrers", "DumpAgents", "DumpUsers" and "DumpSearchStr" have been added to control the file dumps. Column headers can be included in the file with the "DumpHeader" keyword. Dump filename extensions may be specified using the "DumpExtension" keyword (default is .tab). o Added username analysis, based on usernames found in the log, and only available if username information is present in the log (ie: http authentication or wu-ftpd xferlog). The keywords 'GroupUser', 'HideUser', 'IgnoreUser', 'IncludeUser', 'AllUsers', and 'TopUsers' have been added to the configuration file code. This change also modified the format of the incremental data file. o Added the ability to display ALL sites, URLs, Referrers, User Agents and Search Strings on a seperate HTML page from the normal statistics page. This adds the configuration keywords 'AllSites', 'AllURLs', 'AllReferrers', 'AllAgents' and 'AllSearchStr', which can have either a "yes" or "no" value (default is "no"). Will add a "View All..." link to the bottom of the appropriate "Top" table if enabled. o Added support for squid proxy logs, thanks to code submitted by Steinar H. Gunderson (sgunderson@bigfoot.com). To use squid logs, specify a LogType of 'squid' in the configuration file. This also changed the behaviour of the '-F' command line switch, which now requires a second argument of either 'clf', 'ftp' or 'squid'. o Completely modified the way the various TOP tables are handled and sorted, which now allows extremely large top tables without any performance degredation. Previously, tables greater than a few hundred elements produced a noticable perfomance penalty during processing. o Added the ability to group domains automatically and to hide individual host names from the report, using the 'GroupDomains' and 'HideAllSites' configuration keywords (-g and -X command line options). Domain Grouping is configurable as to the level of grouping (second level domain, third, etc...). HideAllSites forces only grouped site records to be displayed if any. Based on ideas/code by Michael Klemme (mklemme@gmx.de). This changes the behaviour of the '-g' switch, which previously was used to force the use of GMT time for reports. o Added user configurable search engine specification, used for search string analysis. This adds the 'SearchEngine' keyword in configuration files. Based on idea/code by Alexey Kizilov. o Changed code to use the latest version of GD which supports PNG images instead of GIF images. Also included changes in configure script to ensure the presence of the libpng and libz libraries. o Added ability to override log file to STDIN by use of '-' on the command line. o Added gzipped logfile support. The program will automatically detect logfiles with a '.gz' extension and uncompress on the fly. Uses gz file support of zlib, since it's required for our gd/png stuff anyway. Please note that using gzipped logs will incur a small performance penality. o Minor changes to search string code to increase accuracy. This also removes a previous condition that would occasionally cause search strings to incorrectly be counted twice or to be counted as different search strings when only differing by a space. o Minor changes to URL parse code to allow additional characters. Also changed unescape code to properly handle extended chars. o Major changes to hash table node format for reduced memory usage. Instead of fixed size strings, the new format will dynamically allocate string memory and use pointers to existing table data under certain circumstances. The memory savings is significant and will be greatly noticed with large sites. Because of these changes, the formatting of the incremental data file had to be changed, therefore it is incompatible with previous versions. o Major code reorganization and cleanup. This was to facilitate future developent and make things more managable. o Usual documentation updates for new features/functions. -------------------------------------------------------------------- 1.30-xx changes from 1.22-06 -------------------------------------------------------------------- Fixes: o Fixed minor bug that would allow incorrect site totals for the first day of the month under certain conditions. Changes/Additions: o Added Top Entry and Exit Page tables. Added configuration file keywords TopEntry (-e command line) and TopExit (-E command line) to specify the number of entries to display for each table. The default for both is 10. See README for additional information. o Added 'Group' labels. Allows display of a specified label for grouped entries (in 'Top' tables). Based on patch submitted by Oliver Graf (ograf@rhein-zeitung.de). See sample.conf for examples. o Added 'Visits' totals. The length of time that constitutes a 'visit' can be set using the VisitTimeout configuration keyword (-m command line option). The value must be given in HHMMSS format, you can omit leading zeros. Default is 30 minutes (3000). o Added 'Pages' totals, based on user specified extensions. Changes made to generated graphs as well. Configuration keyword PageType (and command line -P switch) allows specification of extensions to use (defaults to 'htm*' and 'cgi'). Also called "pageviews". o Added Search String analysis. Keyword 'TopSearch' defines how many of the top search strings to display. Default is 20. Can be disabled by using zero (0). o Added native support for ftp logs (xferlog ala wu-ftpd). Added 'LogType' configuration file keyword (-F command line option) to specify log type. Values can be either 'web' or 'ftp', with the default of 'web'. o Changed graphs to handle pages and visits totals. Also added color coded legends, which can be disabled using the GraphLegend configuration keyword (-L command line option). Default is to display them. o Added background lines to graphs. Default is 2 lines, and can be set to any number using the GraphLines configuration keyword (-l command line option). Can use anywhere from none (0) to twenty lines. They will be drawn in all but the country graph. o Added CountryGraph configuration file keyword (-Y command line option) to enable/disable display of country usage pie chart. o Added FoldSeqErr keyword (-f command line option). Normally, the program will ignore log records that are out of sequence (chronological order). This option lets them be folded into the analysis anyway, as if the were the same date/time as the last good record. Apache users can safely ignore :) o Added additonal 'Top' tables for SITES and URLs, sorted by KBytes instead of hits. Two new configuration file keywords, TopKSites and TopKURLs, can be used to specify the number of entries for each (zero to disable). Default for both is 10. o Added additional calculations for max/avg files, pages, visits and KBytes in monthly statistics. o Updated generated HTML code to fully comply with the HTML 4.0 Transitional spec. DOCTYPE header reflects this change as well. o Changed code to use 4 digit years in filenames. Purely for the Y2K phobes who couldn't deal with only two digits (even though it was _purely_ for humans, the program couldn't care less). Unfortunately, this means that you will have to rename previous month files to the new format. Not a big deal if you plan on re-running all your logs to take advantage of the new features. o Major changes to both history file and incremental file formats to handle additional totals (pages/visits data). As a result, this version is INCOMPATABLE with previous versions. See the file README.FIRST for important information on upgrading. o Language files and documentation updated for new functions. -------------------------------------------------------------------- 1.22-xx changes from 1.20-11 -------------------------------------------------------------------- Fixes: o Fixed bug in country total generation. Caused country table to show bogus entries if logs contain hostnames that were not fully qualified (ie: don't have the domain name/TLD portion). o Changed/fixed incremental data I/O routines to better detect and handle error conditions. This involved some minor incremental data file format changes as well. Fixes problem large sites were having where random tables were getting munged. o Fixed record parse code to better detect and strip query portion from URLs and Referrer strings. o Fixed segfault condition when more than MAX_CTRY entries were specified for the "Top Countries" table. Changes/Additions: o Added code to detect negative byte transfer sizes in logs (another netscape server kludge :) Could cause KByte xfer sizes to become corrupt. o Several small changes (mostly ifdef/endif's) to make code compile clean 'out-of-the-box' across more platforms (ala SunOS). Also added a GNU autoconf 'configure' script which helps a bit as well. o Added Include* keywords. Allows forcing the inclusion of specified log records. Takes precedence over counterpart Ignore* keywords. o Added HTMLPre, HTMLBody, HTMLEnd and HTMLExtension keywords, and changed behaviour of HTMLHead keyword. Previous versions need only change the 'HTMLHead' keword in existing files to 'HTMLBody' to upgrade. Thanks to Colin Viebrock for the idea and code examples. o Changed mangle agent code to support Opera and other browsers. Also updated response codes to IETF HTTP/1.1 Rev 6 draft. Thanks to Yves Lafon for this these. o Added HistoryName and IncrementalName keywords, which allow the specification of the history and incremental data filenames. o Added UseHTTPS keyword, which allows using 'https://' instead of 'http://' for links to URLS in the 'Top URLs' table. Also added check for URLs that already have the protocol specified (such as on virtual web and proxy servers), and to use unmodified if found (will only force to lowercase for matching). o Added code to ignore out-of-sequence log records. o Added code to force hostnames to lowercase (was causing country skew). o Disabled display of blank (zero hit) days at start of daily stat table. o Added records per second calculation to timing totals. o ALT= tags now use translated strings instead of forcing english. o Updated documentation for new functions/features. -------------------------------------------------------------------- 1.20-xx changes from 1.12-10 -------------------------------------------------------------------- Fixes: o Modified record parse routine to not touch stuff between quotes ("). Was causing problems parsing some malformed request fields. o Fixed memory leak in MangleAgent code, and relocated to elimitate un-necessary processing (causing segfault on some machines). Changes/Additions: o Changed transfer totals on host/url structures to support large groupings (such as *.gif) on heavly hit servers. Hopefully, this should cure the 32bit overflow problem large sites were having. o Changed daily transfer totals to support transfers greater than roughly 4.2 gigabytes a day. o Added some missing HTML tags and altered the way totals are calculated on the 'Top' tables (to correct for grouped records). o Added incremental run capability (-p command line option or "Incremental" configuration file keyword). -------------------------------------------------------------------- 1.1x-xx changes from 1.00-05 -------------------------------------------------------------------- Fixes: o Re-wrote the Group* logic, fixing a bug that allowed hiding of objects when they shouldn't be. o Fixed broken IgnoreReferrer code. o Modified config parse code to handle extended characters. o Misc. minor bug fixes/changes. Added a missing fclose. o Cleaned up generated HTML. o Fixed duplicate warnings on large referrer fields. o Fixed country table bug adding grouped records to totals. Changes/Additions: o Added GroupSite, GroupReferrer and GroupAgent keywords to round out the Group* configuration options. o Added GroupShading and GroupHighlight keywords to allow selective highlight and shading on grouped rows in table. o Removed the '-L' command line option. Groupings can now only be specified from a configuration file. Language files changed to reflect change. o Added '-V' command line option (identical to '-v') for version. o Added additional language support. Language files will be marked /* New for 1.1 */ where changes have been made. o Various rewrites to streamline the code, accomidate the new group options and make things easier down the road when I implement incremental (partial log) processing. o Usual README and CHANGES documentation updates. -------------------------------------------------------------------- 1.00-xx changes from 0.99-06 -------------------------------------------------------------------- Fixes: o Modify record parser so that spaces in usernames (auth field) don't cause record to be skipped (w/'Bad Record' message). o Included various error conditions that were being ignored in the timing statistics ('bad records' value) totals. Changes/Additions: o Added GMTTime (-g) option to force display of timestamps in GMT (UTC) time instead of local timezone. o Added GroupURL (-L) option for grouping of URLs as if they were a single object. See README for details. o Language support in the form of a language specific header file containing all strings used by The Webalizer. English file is used by default unless changed. Support for other languages will be distributed as I receive them. -------------------------------------------------------------------- 0.99-xx changes from 0.98-16 -------------------------------------------------------------------- 0.99 is mostly a bug-fix release, with a few added extra goodies. Fixes: o Fixed monthly total transfer size (silent) overflow problem. o Fixed the numerous fprintf format errors. Only seemed to wreak havok on non-intel machines though. o Fixed core dump condition on certain machines when using stdin for input. o Fixed floating point code that caused divide by zero errors on some platforms (most noticably on SCO OpenServer). o Netscape server kludges: Added code to deal with Netscape log header record gracefully. Also added workaround for timestamp error where Netscape sometimes makes a day have 0-24 hours instead of 0-23. The Webalizer will now treat anything greater than 23 as 0. o Resized some fixed field sizes to gain memory usage improvements. Changes/Additions: o Ignore* config keywords added. This allows you to completely ignore certain log records based on site name, URL, user agent or referrer. * Use will cause inaccurate statistics results. See documentation. o ReallyQuiet config keyword (-Q command line option) added. Causes The Webalizer to supress _all_ messages. Useful for cron jobs. o Removed the "Sites" total at the bottom of the summary by month. The total for sites is a useless number and produces a misleadingly high value which detracts from the accuracy of the other totals. o Updated README and CHANGES webalizer-2.23-05/COPYING0000644000175000017500000004310610771016751013314 0ustar bradbrad GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. webalizer-2.23-05/Copyright0000644000175000017500000000167711510253063014152 0ustar bradbrad webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 webalizer-2.23-05/DNS.README0000644000175000017500000003414011032254167013556 0ustar bradbradThe Webalizer - A log file analysis program -- DNS information The webalizer has the ability to perform reverse DNS lookups, and fully supports both IPv4 and IPv6 addressing schemes. This document attempts to explain how it works, and some things that you should be aware of when using the DNS lookup features. Note: The Reverse DNS feature may be enabled or disabled at compile time. DNS lookup code is enabled by default. You can run The Webalizer using the '-vV' command line options to determine what options are enabled in the version you are using. How it works ------------ DNS lookups are made against a DNS cache file containing IP addresses and resolved names. If the IP address is not found in the cache file, it will be left as an IP address. In order for this to happen, a cache file MUST be specified when the Webalizer is run, either using the '-D' command line switch, or a "DNSCache" configuration file keyword. If no cache file is specified, no attempts to perform DNS lookups will be done. The cache file can be made three different ways. 1) You can have the Webalizer pre-process the specified log file at run-time, creating the cache file before processing the log file normally. This is done by setting the number of DNS Children processes to run, either by using the '-N' command line switch or the "DNSChildren" configuration keyword. This will cause the Webalizer to spawn the specified number of processes which will be used to do reverse DNS lookups.. generally, a larger number of processes will result in faster resolution of the log, however if set too high may cause overall system degradation. A setting of between 5 and 20 should be acceptable, and there is a maximum limit of 100. If used, a cache filename MUST be specified also, using either the '-D' command line switch, or the "DNSCache" configuration keyword. Using this method, normal processing will continue only after all IP addresses have been processed, and the cache file is created/updated. 2) You can pre-process the log file as a standalone process, creating the cache file that will be used later by the Webalizer. This is done by running the Webalizer with a name of 'webazolver' (ie: the name 'webazolver' is a symbolic link to 'webalizer') and specifying the cache filename (either with '-D' or DNSCache). If the number of child processes is not given, the default of 5 will be used. In this mode, the log will be read and processed, creating a DNS cache file or updating an existing one, and the program will then exit without any further processing. 3) You can use The Webalizer (DNS) Cache file Manager program 'wcmgr' to create and manipulate a cache file. A blank cache file can be created which would be later populated, or data for the cache file can be imported using tab delimited text files. See the wcmgr(1) man page for usage information. Run-time DNS cache file creation/update --------------------------------------- The creation/update of a DNS cache file at run-time occurs as follows: 1) The log file is read, creating a list of all IP addresses that are not already cached (or cached but expired) and need to be resolved. Addresses are expired based on the TTL value specified using the 'CacheTTL' configuration option or after 7 days (default) if no TTL is specified. 2) The specified number of children processes are forked, and are used to perform DNS lookups. 3) Each IP address is given, one at a time, to the next available child process until all IP addresses have been processed. Each child will update the cache file when a result is returned. This may be either a resolved name or a failed lookup, in which case the address will be left unresolved. Unresolved addresses are not normally cached, but can be, if enabled using the 'CacheIPs' configuration file keyword. 4) Once all IP addresses have been processed and the cache file updated, the Webalizer will process the log normally. Each record it finds that has an unresolved IP address will be looked up in the cache file to see if a hostname is available (ie: was previously found). Because there may be a significant amount of time between the initial unresolved IP list and normal processing, the Webalizer should not be run against live log files (ie: a log file that is actively being written to by a server), otherwise there may be additional records present that were not resolved. Stand-Alone DNS cache file creation/update ------------------------------------------ The creation/update of the DNS cache file, when run in stand-alone mode, occurs as follows: 1) The log file is read, creating a list of all IP addresses that are not already cached (or cached but expired) and need to be resolved. 2) The specified number of children processes are forked, and are used to perform DNS lookups. If the number of processes was not specified, the default of 5 will be used. 3) Each IP address is given, one at a time, to the next available child process until all IP addresses have been processed. Each child will update the cache file when a result is returned. 4) Once all IP addresses have been processed and the cache file updated, the program will terminate without any further processing. Larger sites may prefer to use a stand-alone process to create the DNS cache file, and then run the Webalizer against the cache file. This allows a single cache file to be used for many virtual hosts, and reduces the processing needed if many sites are being processed. The Webalizer can be used in stand alone mode by running it as 'webazolver'. When run in this fashion, it will only create the cache file and then exit without any further processing. A cache filename MUST be specified, however unlike when running the Webalizer normally, the number of child processes does not have to be given (will default to 5). All normal configuration and command line options are recognized, however, many of them will simply be ignored.. this allows the use of a standard configuration file for both normal use and stand alone use. Examples: --------- webalizer -c test.conf -N 10 -D dns_cache.db /var/log/my_www_log This will use the configuration file 'test.conf' to obtain normal configuration options such as hostname and output directory.. it will then either create or update the file 'dns_cache.db' in the default output directory (using 10 child processes) based on the IP addresses it finds in the log /var/lib/my_www_log, and then process that log file normally. webalizer -o out -D dns_cache.db /var/log/my_www_log This will process the log file /var/log/my_www_log, resolving IP addresses from the cache file 'dns_cache.db' found in the default output directory "out". The cache file must be present as it will not be created with this command. for i in /var/log/*/access_log; do webazolver -N 20 -D /var/lib/dns_cache.db $i done The above is an example of how to run through multiple log files creating a single DNS cache file.. this might be typically used on a larger site that has many virtual hosts, all keeping their log files in a separate directory. It will process each access_log it finds in /var/log/* and create a cache file (var/lib/dns_cache.db). This cache file can then be used to process the logs normally with with the Webalizer in a read-only fashion (see next example). for i in /etc/webalizer/*.conf; do webalizer -c $i -D /etc/cache.db; done This will process each configuration file found in /etc/webalizer, using the DNS cache file /etc/cache.db. This will also typically be used on a larger site with multiple hosts.. Each configuration file will specify a site specific log file, hostname, output directory, etc. The cache file used will typically be created using a command similar to the one previous to this example. Cache File Maintenance ---------------------- The Webalizer DNS cache files generally require very little or no special attention. There are times though when some maintenance is required, such as occasional purging of very old cache entries. The Webalizer never removes a record once it's inserted into the cache. If a record expires based on its timestamp, the next time that address is seen in a log, its name is looked up again and the timestamp is updated. However, there will always be addresses that are never seen again, which will cause the cache files to continue to grow in size over time. On extremely busy sites or sites that attract many one time visitors, the cache file may grow extremely large, yet only contain a small amount of valid entries. Using The Webalizer (DNS) Cache file Manager ('wcmgr'), cache files can be purged, removing expired entries and shrinking the file size. A TTL (time to live) value can be specified, so the length of time an entry remains in the cache can be varied depending on individual site requirements. In addition to purging cache files, 'wcmgr' can also be used to list cache file contents, import/export cache data, lookup/add/delete individual entries and gather overall statistics regarding the cache file (number of records, number expired, etc..). To purge a cache file using 'wcmgr', an example command would be: wcmgr -p31 /path/to/dns.cache This would purge the 'dns.cache' cache file of any records that are over 31 days old, and would reclaim the space that those records were using in the file. If you would like to see the records that get purged, adding the command line option '-v' (verbose) will cause the program to print each entry and its age as they are removed. You can also use the 'wcmgr' to display statistics on cache files to aid in determining when a cache file should be purged. See the 'wcmgr' man page (wcmgr.1) for additional information on the various options available. Stupid Cache Tricks ------------------- The DNS cache files used by The Webalizer allow for efficient IP address to name translations. Resolved names are normally generated by using an existing DNS name server to query the address, either locally or over the Internet. However, using The Webalizer (DNS) Cache file Manager, almost any IP address to Name translation can be included in the cache. One such example would be for mapping local network addresses to real names, even though those addresses may not have real DNS entries on the network (or may be 'local' addresses prohibited from use on the Internet). A simple tab delimited text file can be created and imported into a cache for use by The Webalizer, which will then be used to convert the local IP addresses to real names. Additional configuration options for The Webalizer can then be used as would be normally. For example, consider a small business with 10 computers and a DSL router to the Internet. Each machine on the local network would use a private IP address that would not be resolved using an external (public) DNS server, so would always be reported by The Webalizer as 'unknown/unresolved'. A simple cache file could be created to map those unresolved addresses into more meaningful names, which could then be further processed by the Webalizer. An example might look something like: # Local machines 192.168.123.254 0 0 gw.widgetsareus.lan 192.168.123.253 0 0 mail.widgetsareus.lan 192.168.123.250 0 0 sales.widgetsareus.lan 192.168.123.240 0 0 service.widgetsareus.lan 192.168.123.237 0 0 mgr.widgetsareus.lan 192.168.123.235 0 0 support1.widgetsareus.lan 192.168.123.234 0 0 support2.widgetsareus.lan 192.168.123.232 0 0 pres.widgetsareus.lan 192.168.123.230 0 0 vp.widgetsareus.lan 192.168.123.225 0 0 reception.widgetsareus.lan 192.168.123.224 0 0 finance.widgetsareus.lan 127.0.0.1 0 1 127.0.0.1 There are a couple of things here that should be noted. The first is that the timestamps (first zero on each line above) are set to zero. This tells The Webalizer that these cached entries are to be considered 'permanent', and should never be expired (infinite TTL or time to live). The second thing to note is that the resolved names are using a non-standard TLD (top level domain) of '.lan'. The Webalizer will map this special TLD to mean "Local Network" in its reports, which allows local traffic to be grouped separately from normal Internet traffic. Lastly, you may notice that the last line of the file contains an entry with the same IP address where a name should be. This entry will prevent the Webalizer from ever trying to lookup 127.0.0.1, which is the 'localhost' address, when it is found in a log. The second number after the IP address (1) tells the Webalizer that it is an unresolved entry, not a resolved hostname (ie: has no name). Entries such as this one can be used to reduce DNS lookups on addresses that are known not to resolve. Considerations -------------- Processing of live log files is discouraged, as the chances of log records being written between the time of DNS resolution and normal processing will cause problems. If you are using STDIN for the input stream (log file) and have run-time DNS cache file creation/update enabled.. the program will exit after the cache file has been created/updated and no output will be produced. If you must use STDIN for the input log, you will need to process the stream twice, once to create/update the cache file, and again to produce the reports. The reason for this is that stream inputs from STDIN cannot be 'rewound' to the beginning like files can, so must be given twice. Cached DNS addresses have a default TTL (time to live) of 7 days. This may now be changed using the CacheTTL config file keyword to any value from 1 to 100 (days). You may also now specify if unresolved addresses should be stored in the DNS cache. Normally, unresolved IP addresses are NOT saved in the cache and are looked up each time the program is run. There is an absolute maximum of 100 child processes that may be created, however the actual number of children should be significantly less than the maximum.. typical usage should be between 5 and 20. Special thanks to Henning P. Schmiedehausen for the original dns-resolver code he submitted, which was the basis for this implementation. Also thanks to Jose Carlos Medeiros for the inital IPv6 support code. webalizer-2.23-05/INSTALL0000644000175000017500000003453511035334420013306 0ustar bradbradInstallation instructions for The Webalizer The Webalizer is distributed in either source or binary distributions, and installation is different for each type. Regardless of the type of installation, you need to obtain and un-tar/un-zip the distribution. For binary distributions, you should create a directory somewhere and chdir to it before unpacking the file. Source distributions will automagically create a directory for you (webalizer-x.xx-xx). If you are upgrading from a previous version, check the CHANGES file, and the README.FIRST file for important upgrade information. For Binary distributions ------------------------ You should have all the files you need in the directory you created when you un-tarred/un-zipped the distribution file. The file 'webalizer' in this directory is the binary executable. Copy this someplace useful, like /usr/local/bin or /usr/bin. A man page for The Webalizer is also supplied... If desired, copy the file 'webalizer.1' to your local man directory (ie: /usr/local/man/man1). (You may also need to run 'makeinfo' or similar) Note: There may also be platform specific installation instructions and/or usage notes supplied with the binary distribution. You should read them, as that will be your starting point if problems are encountered. Most of the binary distributions are submitted by users, and I cannot support them the same way I can the Linux binary distribution and the source code itself. For Source distributions ------------------------ The Webalizer requires, at a minimum, the GD graphics library (http://www.libgd.org/), the PNG (portable network graphics) graphics library ( http://www.libpng.org/pub/png/ ), the Zlib compression library ( http://www.zlib.net/ ) and associated header files for these libraries. Most modern systems will have these libraries, but may or may not have the required header files for them unless you installed the 'dev' (development) versions (which include the required header files along with the libraries). Consult your systems documentation for specifics. For native DNS and Geolocation (GeoDB) support, the Berkeley DB library (by sleepycat, now owned by Oracle) v4.1 or higher and associated header file is required. http://www.oracle.com/technology/products/berkeley-db/ For BZip2 support, the bzip2 compression library and header file is required. http://www.bzip.org/ For GeoIP geolocation support, the GeoIP library (by MaxMind, Inc.) and header file is required, along with a Country Edition database. http://www.maxmind.com/app/ip-location New style build: The Webalizer source distribution now comes packaged with a GNU autoconf 'configure' script, which should allow you to simply type: ./configure make make install Normal configure options apply, type ./configure --help to get a complete list. A few options in particular may be useful: --sysconfdir=/etc The sysconfdir switch specifies where the default configuration file (webalizer.conf) should be looked for. If not specified, the default of ${prefix}/etc is used. --with-language= Allows you to specify the language to use. Check the /lang directory to see the available language choices. As an example, you could use ./configure --with-language=french to compile the program using french (webalizer_lang.french) for output. You can also use the --without-language switch, which will use the default language (english). --enable-dns DNS lookup and native geolocation features are added if the required library (libdb) and header file (db.h) are found. DNS/GeoDB code is enabled at compile time by using the -DUSE_DNS compiler switch. For GeoDB lookups, a current geodb database is also required (available at ftp://ftp.mrunix.net/pub/webalizer/geodb). --with-geodb= The default location for the GeoDB database is /usr/share/GeoDB but may be changed using this option. --enable-bz2 BZip2 compression support will be added if the required library (libbz2) and header file (bzlib.h) are found. BZip2 code is enabled at compile time using the -DUSE_BZIP compiler switch. --enable-geoip GeoIP geolocation support will be added if the required library (libGeoIP) and header file (GeoIP.h) are found. No attempt is made to locate a valid Country Edition database, which is also required for GeoIP lookups to be performed. GeoIP code is enabled at compile time using the -DUSE_GEOIP compiler switch. Some systems may require unusual settings that the configure script cannot determine. You can pass values to the script by setting environment variables. For example: CC=c89 CFLAGS=-O LIBS=-lposix ./configure --with-language=german Would allow you to set the compiler (c89) and various flags and libraries to use, which would then be passed to the configure script and eventually to the Makefile generated. It also will cause the program to be compiled using German instead of the English default. Additionally, the various --with- and --with- options allow specification of non-standard locations for the various libraries and headers. For example, if you built the bzip2 library in /src/bzip2, you could use: ./configure --with-bz2=/src/bzip2 --with-bz2lib=/src/bzip2 --enable-bz2 to specify where the bz2 header files (--with-bz2) and library (--with-bz2lib) are located. They should then be detected by the configure script and enabled. Please note that if you are linking against a shared library (ie: libbz2.so), then even though configure script finds the library, and The Webalizer compiles successfully, the program may FAIL when run because the systems run-time linking loader cannot find the library. If this happens, then you need to tell the loader where the library is, and is dependent upon what type system is being used. Some platforms require the path to the library to be placed in the LD_LIBRARY_PATH environment variable.. some (such as linux based platforms) use the ld.so.conf file and ldconfig program to configure the dynamic linker run-time bindings. Consult the documentation for your system specific requirements. For package maintainers, the environment variable DESTDIR can be used to specify a root directory for installation. This is the top level directory under which all other directories will be placed when 'make install' is invoked, and allows binary packages to be easily built outside the normal root directory tree. For example, if you wish to build a binary package of The Webalizer under the /usr/pkg/webalizer-2.20 directory, you could type: make install DESTDIR=/usr/pkg/webalizer-2.20 Which would then create the following directory tree: /usr/pkg/webalizer-2.20/ /usr/pkg/webalizer-2.20/etc/ /usr/pkg/webalizer-2.20/etc/webalizer.conf.sample /usr/pkg/webalizer-2.20/usr/ /usr/pkg/webalizer-2.20/usr/bin/ /usr/pkg/webalizer-2.20/usr/bin/webalizer /usr/pkg/webalizer-2.20/usr/bin/webazolver -> webalizer /usr/pkg/webalizer-2.20/usr/bin/wcmgr /usr/pkg/webalizer-2.20/usr/man/ /usr/pkg/webalizer-2.20/usr/man/man1/ /usr/pkg/webalizer-2.20/usr/man/man1/webalizer.1 /usr/pkg/webalizer-2.20/usr/man/man1/webazolver.1 -> webalizer.1 /usr/pkg/webalizer-2.20/usr/man/man1/wcmgr.1 If the configure script doesn't work for you.. please let me know (along with relevant info like system type, compiler, etc..) If you are able and can tweak something to make it work, let me know as well. Old style build: If you have a platform that the configure script won't work on, or some other situation where you have to configure and build the source yourself, the file 'Makefile.std' is a "stock" Makefile that you can use to build the Webalizer. Copy or rename the file to 'Makefile', edit to match your system, and do the usual 'make'. This is a very generic Makefile, so expect to have to tweak it for your particular platform and configuration. If everything seems to have gone well, next type 'make install' to do a stock install. Again, you may want to tweak the Makefile for the install, or skip the 'make install' step completely (see below). This will install the Webalizer on your system, and put a sample configuration file in /etc (named 'webalizer.conf.sample'). If you don't want to use the 'make install' method... just copy the file 'webalizer' to someplace useful, and you are ready to go :) Usage ----- When run, The Webalizer will read the specified log file and produce HTML output in the directory specified (or current directory if none). You may specify various configuration options either on the command line or in a configuration file. The format of the command line is: webalizer [options] [log_file] Where 'options' may be any of the valid command line options described in the README file. If a log filename is not given, input is taken from stdin. A typical command line might look something similar to: webalizer /var/lib/httpd/logs/access_log This will produce output in the current directory based on the logfile /var/lib/httpd/logs/access_log. Another example: webalizer -c somehost.conf This will read the configuration file somehost.conf, which should specify, among other things, the log filename and output directory to use. You can use 'webalizer -h' to get a list of available command line options, or view the file README for complete instructions on all available configuration options. You should note that The Webalizer will _always_ look for a configuration file named 'webalizer.conf' in either the current directory or in /etc/, and will process that file _before_ any other configuration or command line options. If you run a single server, you may want to create a default configuration file and place it in the /etc/ directory. This will allow you to simply type 'webalizer' without the need to specify additional command line options. Configuration ------------- The Webalizer can be customized in many ways using either the command line or configuration files. To test The Webalizer, type: 'webalizer /var/lib/httpd/logs/access_log', changing the directory to wherever your log files are. After processing, you should have the output and a file named index.html which can be viewed with any browser. The Webalizer can accept many command line options as well, type 'webalizer -h' to view them. In addition to the command line options, The Webalizer can be customized using configuration files. There is a sample.conf file that is part of both the source and binary distributions that can be used as a 'template' for creating your own site configuration file. Just make a copy of the file and name it something like 'mysite.conf'. Edit the new file to match your particular setup and taste. To test the new configuration file, type 'webalizer -c mysite.conf' (or whatever your configuration file is named). Fire up the browser and look at the results. If you rename your new configuration file to 'webalizer.conf', you will only need to type 'webalizer', and The Webalizer will use it as the default. See the README file for more on configuration and use of configuration files. Language Support ---------------- Language support is provided as language specific header files that must be compiled into the program. If you don't have the source code, get it. If you can't compile the program yourself, ask a friend. The /lang/ directory of the distribution contains all supported languages at the time of release. Additional/updated language files will be found at ftp://ftp.webalizer.org/pub/webalizer/lang and are always the most current versions. To build with language support, use the --with-language option of the configure script. This will automagically do for you the steps described below. If you can't use the configure script, you can manually select the language file to use. In the webalizer source directory, you will find a symbolic link for the file webalizer_lang.h, and it will be pointing to the file webalizer_lang.english which is the default. Delete the link (ie: rm webalizer_lang.h) and create a new one to the language file you want The Webalizer to use (ie: ln -s lang/webalizer_lang.spanish webalizer_lang.h) and re-compile the program. Note: The source distribution of The Webalizer contains all language support files that were available at the time. Additional/updated language files can be found at: ftp://ftp.webalizer.org/pub/webalizer/lang where I will put them as I receive them. Common Questions ---------------- Q: Will it run on [some platform] A: If it is a *nix platform, it should without a problem. If it's something different, probably not and your on your own if you want to try to make it work. Q: When I compile, I get "file not found" errors? A: Most likely, the compiler cant find the header files for one the required libraries. If they are someplace other than the standard locations (ie: /usr/include), then you probably need to specify an alternate location to look using one of the --with- command line switches when you run configure, or edit the Makefile and specify the location with an '-I' compiler flag. Q: I get "libgd not found' errors? A: You don't have the GD graphics located in a standard library path, or you don't have the GD graphics library at all. If the later, go to http://www.boutell.com/gd/ and grab a copy. If you do have it, add a -L switch in the Makefile to point to the proper location. Q: I get unresolved symbol errors when compiling, why? A: This most often occurs when the GD library was built with additional support for such things as TrueType fonts or X11 graphics. The configure script for The Webalizer only checks that the gd library is available, and does not check any other dependencies it may have. Typically, to fix this problem, you need to edit the Makefile and add the dependent libraries to a compiler switch (or pass them on the command line when running the configure script). For example, if you are getting errors about not finding truetype routines, you may need to add '-lttf' (for 'libttf', the truetype library) to the "LIBS" variable. Hint: I usually find it easier to just grab the GD library source, and compile it myself locally as a static library, in a directory just above where I compile The Webalizer. Then, at configure time, just add the '-with-gd=../gd' and '--with-gdlib=../gd' switches, and the GD graphic stuff will be statically linked into The Webalizer, eliminating any other library dependencies that the normal, shared library on my system may have. webalizer-2.23-05/Makefile.in0000644000175000017500000000774611510253210014321 0ustar bradbrad# # Makefile for webalizer - a web server log analysis program # # Copyright (C) 1997-2011 Bradford L. Barrett # # 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, and provided that the above # copyright and permission notice is included with all distributed # copies of this or derived software. # # 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 (file "COPYING"). # prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datarootdir@ BINDIR = @bindir@ MANDIR = ${datadir}/man/man1 ETCDIR = @sysconfdir@ GEODB = @GEODB_LOC@ CC = @CC@ CFLAGS = @CFLAGS@ @CPPFLAGS@ LIBS = @LIBS@ WCMGR_LIBS = @WCMGR_LIBS@ DEFS = -DETCDIR=\"${ETCDIR}\" -DGEODB_LOC=\"${GEODB}\" @DEFS@ @OPTS@ LDFLAGS = @LDFLAGS@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ DEFLANG = @DEFAULT_LANG@ # Shouldn't have to touch below here! all: webalizer wcmgr webalizer: webalizer.o webalizer.h hashtab.o hashtab.h \ linklist.o linklist.h preserve.o preserve.h \ dns_resolv.o dns_resolv.h parser.o parser.h \ output.o output.h graphs.o graphs.h lang.h \ webalizer_lang.h $(CC) ${LDFLAGS} -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o ${LIBS} rm -f webazolver @LN_S@ webalizer webazolver webalizer.o: webalizer.c webalizer.h parser.h output.h preserve.h \ graphs.h dns_resolv.h webalizer_lang.h $(CC) ${CFLAGS} ${DEFS} -c webalizer.c parser.o: parser.c parser.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c parser.c hashtab.o: hashtab.c hashtab.h dns_resolv.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c hashtab.c linklist.o: linklist.c linklist.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c linklist.c output.o: output.c output.h webalizer.h preserve.h \ hashtab.h graphs.h lang.h $(CC) ${CFLAGS} ${DEFS} -c output.c preserve.o: preserve.c preserve.h webalizer.h parser.h \ hashtab.h graphs.h lang.h $(CC) ${CFLAGS} ${DEFS} -c preserve.c dns_resolv.o: dns_resolv.c dns_resolv.h lang.h webalizer.h $(CC) ${CFLAGS} ${DEFS} -c dns_resolv.c graphs.o: graphs.c graphs.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c graphs.c wcmgr: wcmgr.o $(CC) ${LDFLAGS} -o wcmgr wcmgr.o ${WCMGR_LIBS} wcmgr.o: wcmgr.c $(CC) ${CFLAGS} ${DEFS} -c wcmgr.c clean: rm -f webalizer webazolver wcmgr *.o usage*.png daily*.png hourly*.png rm -f ctry*.png *.html *.hist *.current core *.gif distclean: clean rm -f webalizer.conf *.tar *.tgz *.Z *.tar.gz rm -f Makefile webalizer_lang.h config.cache config.log config.status @LN_S@ lang/webalizer_lang.@DEFAULT_LANG@ webalizer_lang.h install: all mkdir -p ${DESTDIR}${BINDIR} mkdir -p ${DESTDIR}${MANDIR} mkdir -p ${DESTDIR}${ETCDIR} $(INSTALL_PROGRAM) webalizer ${DESTDIR}${BINDIR}/webalizer $(INSTALL_PROGRAM) wcmgr ${DESTDIR}${BINDIR}/wcmgr rm -f ${DESTDIR}${BINDIR}/webazolver @LN_S@ webalizer ${DESTDIR}${BINDIR}/webazolver $(INSTALL_DATA) webalizer.1 ${DESTDIR}${MANDIR}/webalizer.1 $(INSTALL_DATA) wcmgr.1 ${DESTDIR}${MANDIR}/wcmgr.1 rm -f ${DESTDIR}${MANDIR}/webazolver.1 @LN_S@ webalizer.1 ${DESTDIR}${MANDIR}/webazolver.1 $(INSTALL_DATA) sample.conf ${DESTDIR}${ETCDIR}/webalizer.conf.sample uninstall: rm -f ${DESTDIR}${BINDIR}/webalizer rm -f ${DESTDIR}${BINDIR}/webazolver rm -f ${DESTDIR}${BINDIR}/wcmgr rm -f ${DESTDIR}${MANDIR}/webalizer.1 rm -f ${DESTDIR}${MANDIR}/webazolver.1 rm -f ${DESTDIR}${MANDIR}/wcmgr.1 rm -f ${DESTDIR}${ETCDIR}/webalizer.conf.sample rm -f webalizer_lang.h @LN_S@ lang/webalizer_lang.${DEFLANG} webalizer_lang.h webalizer-2.23-05/Makefile.std0000644000175000017500000001044411510253251014477 0ustar bradbrad# # Makefile for webalizer - a web server logfile analysis thingie # # (c)1997-2011 by Bradford L. Barrett # Distributed under the GNU GPL. See "README" and "Copyright" # files supplied with this distribution for more information. # # This works on my Linux and Solaris systems, and should work # out of the box on other GCC based systems. Tweek the values # below for your environment if needed before running make. # # Use these for SCO (and maybe others) #BINDIR = /usr/bin #MANDIR = /usr/man/man1 #ETCDIR = /etc #CC = cc #CFLAGS = -b elf #LDFLAGS= -L../usr/local/lib #LIBS = -lgd -lm -lpng -lz #DEFS = -DETCDIR=\"${ETCDIR}\" -DHAVE_MATH_H # These will build The Webalizer with DNS support # on my Linux system. GD is statically built and # is located in the ../gd directory. This system # also has a stock install of the berkeley db lib # (libdb in /usr/lib and db.h in /usr/include). BINDIR = /usr/local/bin MANDIR = /usr/local/man/man1 ETCDIR = /etc CC = gcc CFLAGS = -Wall -O2 -I../gd LDFLAGS= -L/usr/local/lib -L../gd LIBS = -lgd -lpng -lz -lm -ldb DEFS = -DETCDIR=\"${ETCDIR}\" -DHAVE_MATH_H -DUSE_DNS # Some might need this instead (Solaris?!?) #LIBS = -lgd -lpng -lz -lm -ldb -lnsl -lsocket -lrt # if you want to use a different default directory for the # GeoDB database, add this to DEFS: -DGEODB_LOC=\"/usr/share/GeoDB\" # if you have header files in a non-standard place, you # should specify them on the CFLAGS line, like: #CFLAGS = -Wall -O2 -I../gd -I/src/bzip2 # similar with library locations. add non-standard paths # using the LDFLAGS variable, like this: #LDFLAGS = -L/usr/local/lib -L/src/bzip2 # If your GD lib was compiled with X/truetype, you may need # to use this or some variation of it: #LIBS = -lgd -lpng -lz -lm -ldb -lX11 -lXpm -lttf # If you want bzip2 support, you need to define USE_BZIP # and add the bz2 library like below: #LIBS = -lgd -lpng -lz -lm -lbz2 #DEFS = -DETCDIR=\"${ETCDIR}\" -DHAVE_MATH_H -DUSE_BZIP # GeoIP support? You need USE_GEOIP and -lGeoIP #LIBS = -lgd -lpng -lz -lm -lGeoIP #DEFS = -DETCDIR=\"${ETCDIR}\" -DHAVE_MATH_H -DUSE_GEOIP # want it all?!? Give this a whirl: #LIBS = -lgd -lpng -lz -lm -lGeoIP -lbz2 -ldb #DEFS = -DETCDIR=\"${ETCDIR}\" -DHAVE_MATH_H -DUSE_GEOIP -DUSE_DNS -DUSE_BZIP # Shouldn't have to touch below here! all: webalizer wcmgr webalizer: webalizer.o webalizer.h hashtab.o hashtab.h \ linklist.o linklist.h preserve.o preserve.h \ dns_resolv.o dns_resolv.h parser.o parser.h \ output.o output.h graphs.o graphs.h lang.h \ webalizer_lang.h $(CC) ${LDFLAGS} -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o ${LIBS} rm -f webazolver ln -s webalizer webazolver rm -f webazolver.1 ln -s webalizer.1 webazolver.1 webalizer.o: webalizer.c webalizer.h parser.h output.h preserve.h \ graphs.h dns_resolv.h webalizer_lang.h $(CC) ${CFLAGS} ${DEFS} -c webalizer.c parser.o: parser.c parser.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c parser.c hashtab.o: hashtab.c hashtab.h dns_resolv.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c hashtab.c linklist.o: linklist.c linklist.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c linklist.c output.o: output.c output.h webalizer.h preserve.h \ hashtab.h graphs.h lang.h $(CC) ${CFLAGS} ${DEFS} -c output.c preserve.o: preserve.c preserve.h webalizer.h parser.h \ hashtab.h graphs.h lang.h $(CC) ${CFLAGS} ${DEFS} -c preserve.c dns_resolv.o: dns_resolv.c dns_resolv.h lang.h webalizer.h $(CC) ${CFLAGS} ${DEFS} -c dns_resolv.c graphs.o: graphs.c graphs.h webalizer.h lang.h $(CC) ${CFLAGS} ${DEFS} -c graphs.c wcmgr: wcmgr.o $(CC) ${LDFLAGS} -o wcmgr wcmgr.o ${LIBS} wcmgr.o: wcmgr.c webalizer.h $(CC) ${CFLAGS} ${DEFS} -c wcmgr.c clean: rm -f webalizer *.o usage*.png daily*.png hourly*.png ctry*.png rm -f *.html *.hist *.current core *.gif distclean: clean rm -f webalizer.conf *.tar *.tgz *.Z *.tar.gz rm -f Makefile webalizer_lang.h config.cache config.log config.status ln -s lang/webalizer_lang.english webalizer_lang.h install: all cp webalizer.1 ${MANDIR}/webalizer.1 cp webalizer ${BINDIR}/webalizer cp sample.conf ${ETCDIR}/webalizer.conf.sample uninstall: rm -f ${MANDIR}/webalizer.1 rm -f ${BINDIR}/webalizer rm -f ${BINDIR}/webalizer.conf.sample webalizer-2.23-05/README0000644000175000017500000031032311510253275013133 0ustar bradbradThe Webalizer - A web server log file analysis tool Copyright 1997-2011 by Bradford L. Barrett Distributed under the GNU GPL. See the files "COPYING" and "Copyright" supplied with the distribution for additional info. What is The Webalizer? ---------------------- The Webalizer is a web server log file analysis program which produces usage statistics in HTML format for viewing with a browser. The results are presented in both columnar and graphical format, which facilitates interpretation. Yearly, monthly, daily and hourly usage statistics are presented, along with the ability to display usage by site, URL, referrer, user agent (browser), search string, entry/exit page, username and country (some information is only available if supported and present in the log files being processed). Processed data may also be exported into most database and spreadsheet programs that support tab delimited data formats. The Webalizer supports CLF (common log format) log files, as well as Combined log formats as defined by NCSA and others, and variations of these which it attempts to handle intelligently. In addition, The Webalizer supports wu-ftpd xferlog (FTP) formatted logs, squid proxy logs and W3C extended format logs. Gzip compressed logs may be used as input directly. Any log filename that ends with a '.gz' extension will be assumed to be in gzip format and uncompressed on the fly as it is being read. The Webalizer now also has the ability to handle BZip2 compressed logs, if enabled at compile time. Similar to gzipped logs, any log filename that ends with a '.bz2' will be assumed to be in bzip2 format and uncompressed on the fly as it is being read. For sites that do not enable hostname lookups (DNS resolution) on their web servers (and have only IP addresses in their logs), The Webalizer provides its own internal DNS lookup capability as well as geolocation services (GeoDB). The optional GeoIP library from MaxMind Inc. is also supported and may be used instead of the native GeoDB database. A utility program, "The Webalizer (DNS) Cache file Manager", or 'wcmgr' is also provided which allows the creation and manipulation of the DNS cache files used and produced by the webalizer. See the file DNS.README for additional information regarding DNS support. This documentation applies to The Webalizer Version 2.21 Running the Webalizer --------------------- The Webalizer was designed to be run from a Unix command line prompt or as a cron job. There are several command line options which will modify the results it produces, and configuration files can be used as well. The format of the command line is: webalizer [options ...] [log-file] Where 'options' can be one or more of the supported command line switches described below. 'log-file' is the name of the log file to process (see below for more detailed information). If a dash ("-") is specified for the log-file name, STDIN will be used. Once executed, the general flow of the program follows: o A default configuration file is scanned for. A file named 'webalizer.conf' is searched for in the current directory, and if found, its configuration data is parsed. If the file is not present in the current directory, the file '/etc/webalizer.conf' is searched for and, if found, is used instead. o Any command line arguments given to the program are parsed. This may include the specification of a configuration file, which is processed at the time it is encountered. o If a log file was specified, it is opened and made ready for processing. If no log file was given, or the filename '-' is specified on the command line, STDIN is used for input. o If an output directory was specified, the program does a 'chdir' to that directory in preparation for generating output. If no output directory was given, the current directory is used. o If a non-zero number of DNS Children processes were specified, they will be started, and the specified log file will be processed, either creating or updating the specified DNS cache file. o If no hostname was given, the program attempts to get the hostname using a uname system call. If that fails, 'localhost' is used. o A history file is searched for. This file keeps previous month totals used on the main index.html page. The default file is named 'webalizer.hist', kept in the specified output directory, however may be changed using the "HistoryName" configuration file keyword. o If incremental processing was specified, a data file is searched for and loaded if found, containing the 'internal state' data of the program at the end of a previous run. The default file is named 'webalizer.current', kept in the specified output directory, however may be changed using the "IncrementalName" configuration file keyword. o Main processing begins on the log file. If the log spans multiple months, a separate HTML document is created for each month. o After main processing, the main 'index.html' page is created, which has totals by month and links to each months HTML document. o A new history file is saved to disk, which includes totals generated by The Webalizer during the current run. o If incremental processing was specified, a data file is written that contains the 'internal state' data at the end of this run. Incremental Processing ---------------------- Version 1.2x of The Webalizer adds incremental run capability. Simply put, this allows processing large log files by breaking them up into smaller pieces, and processing these pieces instead. What this means in real terms is that you can now rotate your log files as often as you want, and still be able to produce monthly usage statistics without the loss of any detail. This is accomplished by saving and restoring all relevant internal data to a disk file between runs. Doing so allows the program to 'start where it left off' so to speak, and allows the preservation of detail from one run to the next. Some special precautions need to be taken when using the incremental run capability of The Webalizer. Configuration options should not be changed between runs, as that could cause corruption of the internal stored data. For example, changing the MangleAgents level will cause different representations of user agents to be stored, producing invalid results in the user agents section of the report. If you need to change configuration options, do it at the end of the month after normal processing of the previous month and before processing the current month. You may also want to delete the 'webalizer.current' file as well (or whatever name was specified using the "IncrementalName" configuration option). The Webalizer also attempts to prevent data duplication by keeping track of the timestamp of the last record processed. This timestamp is then compared to current records being processed, and any records that were logged previous to that timestamp are ignored. This, in theory, should allow you to re-process logs that have already been processed, or process logs that contain a mix of processed/not yet processed records, and not produce duplication of statistics. The only time this may break is if you have duplicate timestamps in two separate log files... any records in the second log file that do have the same timestamp as the last record in the previous log file processed, will be discarded as if they had already been processed. There are lots of ways to prevent this however, for example, stopping the web server before rotating logs will prevent this situation. This setup also necessitates that you always process logs in chronological order, otherwise data loss will occur as a result of the timestamp compare. Output Produced --------------- The Webalizer produces several reports (html) and graphics for each month processed. In addition, a summary page is generated for the current and previous months (up to 12), a history file is created and if incremental mode is used, the current month's processed data. The exact location and names of these files can be changed using configuration files and command line options. The files produced, (default names) are: index.html - Main summary page (extension may be changed) usage.png - Yearly graph displayed on the main index page usage_YYYYMM.html - Monthly summary page (extension may be changed) usage_YYYYMM.png - Monthly usage graph for specified month/year daily_usage_YYYYMM.png - Daily usage graph for specified month/year hourly_usage_YYYYMM.png - Hourly usage graph for specified month/year site_YYYYMM.html - All sites listing (if enabled) url_YYYYMM.html - All urls listing (if enabled) ref_YYYYMM.html - All referrers listing (if enabled) agent_YYYYMM.html - All user agents listing (if enabled) search_YYYYMM.html - All search strings listing (if enabled) webalizer.hist - Previous month history (may be changed) webalizer.current - Incremental Data (may be changed) site_YYYYMM.tab - tab delimited sites file url_YYYYMM.tab - tab delimited urls file ref_YYYYMM.tab - tab delimited referrers file agent_YYYYMM.tab - tab delimited user agents file user_YYYYMM.tab - tab delimited usernames file search_YYYYMM.tab - tab delimited search string file The yearly (index) report shows statistics for a 12 month period, and links to each month. The monthly report has detailed statistics for that month with additional links to any URLs and referrers found. The various totals shown are explained below. Hits Any request made to the server which is logged, is considered a 'hit'. The requests can be for anything... html pages, graphic images, audio files, CGI scripts, etc... Each valid line in the server log is counted as a hit. This number represents the total number of requests that were made to the server during the specified report period. Files Some requests made to the server, require that the server then send something back to the requesting client, such as a html page or graphic image. When this happens, it is considered a 'file' and the files total is incremented. The relationship between 'hits' and 'files' can be thought of as 'incoming requests' and 'outgoing responses'. Pages Pages are, well, pages! Generally, any HTML document, or anything that generates an HTML document, would be considered a page. This does not include the other stuff that goes into a document, such as graphic images, audio clips, etc... This number represents the number of 'pages' requested only, and does not include the other 'stuff' that is in the page. What actually constitutes a 'page' can vary from server to server. The default action is to treat anything with the extension '.htm', '.html' or '.cgi' as a page. A lot of sites will probably define other extensions, such as '.phtml', '.php3' and '.pl' as pages as well. Some people consider this number as the number of 'pure' hits... I'm not sure if I totally agree with that viewpoint. Some other programs (and people :) refer to this as 'Pageviews'. Sites Each request made to the server comes from a unique 'site', which can be referenced by a name or ultimately, an IP address. The 'sites' number shows how many unique IP addresses made requests to the server during the reporting time period. This DOES NOT mean the number of unique individual users (real people) that visited, which is impossible to determine using just logs and the HTTP protocol (however, this number might be about as close as you will get). Visits Whenever a request is made to the server from a given IP address (site), the amount of time since a previous request by the address is calculated (if any). If the time difference is greater than a pre-configured 'visit timeout' value (or has never made a request before), it is considered a 'new visit', and this total is incremented (both for the site, and the IP address). The default timeout value is 30 minutes (can be changed), so if a user visits your site at 1:00 in the afternoon, and then returns at 3:00, two visits would be registered. Note: in the 'Top Sites' table, the visits total should be discounted on 'Grouped' records, and thought of as the "Minimum number of visits" that came from that grouping instead. Note: Visits only occur on PageType requests, that is, for any request whose URL is one of the 'page' types defined with the PageType and PagePrefix option, and not excluded by the OmitPage option. Due to the limitation of the HTTP protocol, log rotations and other factors, this number should not be taken as absolutely accurate, rather, it should be considered a pretty close "guess". KBytes The KBytes (kilobytes) value shows the amount of data, in KB, that was sent out by the server during the specified reporting period. This value is generated directly from the log file, so it is up to the web server to produce accurate numbers in the logs (some web servers do stupid things when it comes to reporting the number of bytes). In general, this should be a fairly accurate representation of the amount of outgoing traffic the server had, regardless of the web servers reporting quirks. Note: A kilobyte is 1024 bytes, not 1000 :) Top Entry and Exit Pages The Top Entry and Exit tables give a rough estimate of what URLs are used to enter your site, and what the last pages viewed are. Because of limitations in the HTTP protocol, log rotations, etc... this number should be considered a good "rough guess" of the actual numbers, however will give a good indication of the overall trend in where users come into, and exit, your site. Command Line Options -------------------- The Webalizer supports many different configuration options that will alter the way the program behaves and generates output. Most of these can be specified on the command line, while some can only be specified in a configuration file. The command line options are listed below, with references to the corresponding configuration file keywords. -------------------------------------------------------------------------- General Options --------------- -h Display all available command line options and exit program. -v Be Verbose. This will cause the program to print additional information at run time. It is the same as specifying "Quiet no", "ReallyQuiet no" and "Debug yes" config options. -V Display the program version and exit. Additional program specific information will be displayed if 'verbose' mode is also used (e.g. '-vV'), which can be useful when submitting bug reports. -d Display additional 'debugging' information for errors and warnings produced during processing. This normally would not be used except to determine why you are getting all those errors and wanted to see the actual data. Normally The Webalizer will just tell you it found an error, not the actual data. This option will display the data as well. Config file keyword: Debug -F Specify the log file type to process. Normally, the Webalizer expects to find a valid CLF or Combined format we server log file. This option allows you to process wu-ftpd xferlogs, squid and W3C formatted web logs as well. Values can be either 'clf', 'ftp', 'squid' or 'w3c' with 'clf' being the default. Only the first character needs to be specified (eg: -Fs will process a squid log). Config file keyword: LogType -f Fold out of sequence log records back into analysis, by treating them as if they were the same date/time as the last good record. Normally, out of sequence log records are ignored. If you run apache, don't worry about this. Config file keyword: FoldSeqErr -i Ignore history file. USE WITH CAUTION. This causes The Webalizer to ignore any existing history file produced from previous runs and generate its output from scratch. The effect will be as if The Webalizer is being run for the first time and any previous statistics will be lost (although the HTML documents, if any, will not be deleted) on the main index.html (yearly) web page. Config file keyword: IgnoreHist -b Ignore incremental data file. USE WITH CAUTION. This causes The Webalizer to ignore any existing incremental (state) data file produced by previous runs. By ignoring the incremental data file, all previous processing for the current month will be lost, and those logs must be re-processed. Config file keyword: IgnoreState -p Preserve state (incremental processing). This allows the processing of partial logs in increments. At the end of the program, all relevant internal data is saved, so that it may be restored the next time the program is run. This allows sites that must rotate their logs more than once a month to still be able to use The Webalizer, and not worry about having to gather and feed an entire months logs to the program at the end of the month. See the section on "Incremental Processing" below for additional information. The default is to not perform incremental processing. Use this command line option to enable the feature. Config file keyword: Incremental -q Quiet mode. Normally, The Webalizer will produce various messages while it runs letting you know what its doing. This option will suppress those messages. It should be noted that this WILL NOT suppress errors and warnings, which are output to STDERR. Config file keyword: Quiet -Q ReallyQuiet mode. This allows suppression of _all_ messages generated by The Webalizer, including warnings and errors. Useful when The Webalizer is run as a cron job. Config file keyword: ReallyQuiet -T Display timing information. The Webalizer keeps track of the time it begins and ends processing, and normally displays the total processing time at the end of each run. If quiet mode (-q or 'Quiet yes' in configuration file) is specified, this information is not displayed. This option forces the display of timing totals if quiet mode has been specified, otherwise it is redundant and will have no effect. Config file keyword: TimeMe -c file This option specifies a configuration file to use. Configuration files allow greater control over how The Webalizer behaves, and there are several ways to use them. As of version 0.98, The Webalizer searches for a default configuration file in the current directory named "webalizer.conf", and if not found, will search in the /etc/ directory for a file of the same name. In addition, you may specify a configuration file to use with this command line option. -n name This option specifies the hostname for the reports generated. The hostname is used in the title of all reports, and is also prepended to URLs in the reports. This allows The Webalizer to be run on log files for 'virtual' web servers or web servers that are different than the machine the reports are located on, and still allows clicking on the URLs to go to the proper location. If a hostname is not specified, either on the command line or in a configuration file, The Webalizer attempts to determine the hostname using a 'uname' system call. If this fails, "localhost" will be used as the hostname. Config file keyword: HostName -o dir This options specifies the output directory for the reports. If not specified here or in a configuration file, the current default directory will be used for output. Config file keyword: OutputDir -x name This option allows the generated pages to have an extension other than '.html', which is the default. Do not include the leading period ('.') when you specify the extension. Config file keyword: HTMLExtension -P name Specify the file extensions for 'pages'. Pages (sometimes called 'PageViews') are normally html documents and CGI scripts that display the whole page, not just parts of it. Some system will need to define a few more, such as 'phtml', 'php3' or 'pl' in order to have them counted as well. The default is 'htm*' and 'cgi' for web logs and 'txt' for ftp. Config file keyword: PageType -O name Specify URLs which are not counted as 'pages'. Requests matching one of these URLs will not be counted as a page, even if they have an extension matching one of the PageTypes defined above or have no extension at all. Config file keyword: OmitPage -t name This option specifies the title string for all reports. This string is used, in conjunction with the hostname (if not blank) to produce the actual title. If not specified, the default of "Usage Statistics for" will be used. Config file keyword: ReportTitle -Y Suppress Country graph. Normally, The Webalizer produces country statistics in both Graph and Columnar forms. This option will suppress the Country Graph from being generated. Config file keyword: CountryGraph -G Suppress hourly graph. Normally, The Webalizer produces hourly statistics in both Graph and Columnar forms. This option will suppress the Hourly Graph only from being generated. Config file keyword: HourlyGraph -H Suppress Hourly statistics. Normally, The Webalizer produces hourly statistics in both Graph and Columnar forms. This option will suppress the Hourly Statistics table only from being generated. Config file keyword: HourlyStats -K num Specify how many months should be displayed in the main index (yearly summary) table. Default is 12 months. Can be set to anything between 12 and 120 months (1 to 10 years). Config file keyword: IndexMonths -k num Specify how many months should be displayed in the main index (yearly summary) graph. Default is 12 months. Can be set to anything between 12 and 72 months (1 to 6 years). Config file keyword: GraphMonths -L Disable Graph Legends. The color coded legends displayed on the in-line graphs can be disabled with this option. The default is to display the legends. Config file keyword: GraphLegend -l num Graph Lines. Specify the number of background reference lines displayed on the in-line graphics produced. The default is 2 lines, however can range anywhere from zero ('0') for no lines, up to 20 lines (looks funny!). Config file keyword: GraphLines -P name Page type. This is the extension of files you consider to be pages for Pages calculations (sometimes called 'pageviews'). The default is 'htm*' and 'cgi' (plus whatever HTMLExtension you specified if it is different). Don't use a period! -m num Specify a 'visit timeout'. Visits are calculated by looking at the time difference between the current and last request made by a specific host. If the difference is greater that the visit timeout value, the request is considered a new visit. This value is specified in number of seconds. The default is 30 minutes (1800). Config file keyword: VisitTimeout -M num Mangle user agent names. Normally, The Webalizer will keep track of the user agent field verbatim. Unfortunately, there are a ton of different names that user agents go by, and the field also reports other items such as machine type and OS used. For Example, Netscape 4.03 running on Windows 95 will report a different string than Netscape 4.03 running on Windows NT, so even though they are the same browser type, they will be considered as two totally different browsers by The Webalizer. For that matter, Netscape 4.0 running on Windows NT will report different names if one is run on an Alpha and the other on an Intel processor! Internet Exploder is even worse, as it reports itself as if it were Netscape and you have to search the given string a little deeper to discover that it is really MSIE! In order to consolidate generic browser types, this option will cause The Webalizer to 'mangle' the user agent field, attempting to consolidate generic browser types. There are 6 levels that can be specified, each producing different levels of detail. Level 5 displays only the browser name (MSIE or Mozilla) and the major version number. Level 4 will also display the minor version number (single decimal place). Level 3 will display the minor version number to two decimal places. Level 2 will add any sub-level designation (such as Mozilla/3.01Gold or MSIE 3.0b). Level 1 will also attempt to add the system type. The default Level 0 will disable name mangling and leave the user agent field unmodified, producing the greatest amount of detail. Configuration file keyword: MangleAgents -g num This option allows you to specify the level of domains name grouping to be performed. The numeric value represents the level of grouping, and can be thought of as the 'number of dots' to be displayed. The default value of 0 disables any domain name grouping. Configuration file keyword: GroupDomains -D name This allows the specification of a DNS Cache file name. This filename MUST be specified if you have dns lookups enabled (using the -N command line switch or DNSChildren configuration keyword). The filename is relative to the default output directory if an absolute path is not specified (ie: starts with a leading '/'). This option is only available if DNS support was enabled at compile time, otherwise an 'Invalid Keyword' error will be generated. See the DNS.README file for additional information regarding DNS lookups. Configuration file keyword: DNSCache -N num Number of DNS child processes to use for reverse DNS lookups. If specified, a DNSCache name MUST be specified also. If you do not wish a DNS cache file to be generated, specify a value of zero ('0') to disable it. This does not prevent using an existing cache file, only the generation of one at run time. See the DNS.README file for additional information. Configuration file keyword: DNSChildren -j Enable native GeoDB geolocation services. Configuration file keyword: GeoDB -J name Specify an alternate GeoDB database filename to use. This shouldn't normally be needed. If used, the filename 'name' is relative to the output directory being used unless an absolute path is specified (ie: starts with a leading '/'). Configuration file keyword: GeoDBDatabase -w Enable GeoIP support if it is available. Configuration file keyword: GeoIP -W name Specify an alternate GeoIP database filename to use. This shouldn't normally be needed. If used, the filename 'name' is relative to the specified output directory unless an absolute name is given (ie: starts with a leading '/'). Configuration file keyword: GeoIPDatabase -z name Specify location of the country flag graphics and enable their display in the top country table. The directory name is relative to the output directory unless an absolute path is specified (ie: starts with a leading '/'). Configuration file keyword: FlagDir Hide Options ------------ The following options take a string argument to use as a comparison for matching. Except for the IndexAlias option, the string argument can be plain text, or plain text that either starts or ends with the wildcard character '*'. For Example: Given the string "yourmama/was/here", the arguments "was", "*here" and "your*" will all produce a match. -a name This option allows hiding of user agents (browsers) from the "Top User Agents" table in the report. This option really isn't too useful as there are a zillion different names that current browsers go by, depending where they were obtained, however you might have some particular user agents that hit your site a lot that you would like to exclude from the list. You must have a web server that includes user agents in its log files for this option to be of any use. In addition, it is also useless if you disable the user agent table in the report (see the -A command line option or "TopAgents" configuration file keyword). You can specify as many of these as you want on the command line. The wildcard character '*' can be used either in front of or at the end of the string. (ie: Mozilla/4.0* would match anything that starts with the string "Mozilla/4.0"). Config file keyword: HideAgent -r name This option allows hiding of referrers from the "Top Referrer" table in the report. Referrers are URLs, either on your own local site or a remote site, that referred the user to a URL on your web server. This option is normally used to hide your own server from the table, as your own pages are usually the top referrers to your own pages (well, you get the idea). You must have a web server that includes referrer information in the log files for this option to be of any use. In addition, it is also useless if you disable the referrers table in the report (see the -R command line option or "TopReferrers" configuration file keyword). You can specify as many of these as you like on the command line. Config file keyword: HideReferrer -s name This option allows hiding of sites from the "Top Sites" table in the report. Normally, you will only want to hide your own domain name from the report, as it usually is one of the top sites to visit your web server. This option is of no use if you disable the top sites table in the report (see the -S command line option or "TopSites" configuration file option). Config file keyword: HideSite -X This causes all individual sites to be hidden, which results in only grouped sites to be displayed on the report. Config file keyword: HideAllSites -u name This option allows hiding of URLs from the "Top URLs" table in the report. Normally, this option is used to hide images, audio files and other objects your web server dishes out that would otherwise clutter up the table. This option is of no use if you disable the top URLs table in the report (see the -U command line option or "TopURLs" configuration file keyword). Config file keyword: HideURL -I name This option allows you to specify additional index.html aliases. The Webalizer usually strips the string 'index.*' from URLs before processing (unless disabled using the 'DefaultIndex' config option), which has the effect of turning a URL such as /somedir/index.html into just /somedir/ which is really the same URL and should be treated as such. This option allows you to specify _additional_ strings that are to be treated the same way. Use with care, improper use could cause unexpected results. For example, if you specify the alias string of 'home', a URL such as /somedir/homepages/brad/home.html would be converted into just /somedir/ which probably isn't what was intended. This option is useful if your web server uses a different default index page other than the standard 'index.html' or 'index.htm', such as 'home.html' or 'homepage.html'. The string specified is searched for _anywhere_ in the URL, so "home.htm" would turn both "/somedir/home.htm" and "/somedir/home.html" into just "/somedir/". Wildcards are _not_ allowed on this one. Config file keyword: IndexAlias Table Size Options ------------------ -e num This option specifies the number of entries to display in the "Top Entry Pages" table. To disable the table, use a value of zero (0). Config file keyword: TopEntry -E num This option specifies the number of entries to display in the "Top Exit Pages" table. To disable the table, use a value of zero (0). Config file keyword: TopExit -A num This option specifies the number of entries to display in the "Top User Agents" table. To disable the table, use a value of zero (0). Config file keyword: TopAgents -C num This option specifies the number of entries to display in the "Top Countries" table. To disable the table, use a value of zero (0). Config file keyword: TopCountries -R num This option specifies the number of entries to display in the "Top Referrers" table. To disable the table, use a value of zero (0). Config file keyword: TopReferrers -S num This option specifies the number of entries to display in the "Top Sites" table. To disable the table, use a value of zero (0). Config file keyword: TopSites -U num This option specifies the number of entries to display in the "Top URLs" table. To disable the table, use a value of zero (0). Config file keyword: TopURLs -------------------------------------------------------------------------- CONFIGURATION FILES ------------------- The Webalizer allows configuration files to be used in order to simplify life for all. There are several ways that configuration files are accessed by the Webalizer. When The Webalizer first executes, it looks for a default configuration file named "webalizer.conf" in the current directory, and if not found there, will look for "/etc/webalizer.conf". In addition, configuration files may be specified on the command line with the '-c' option. There are lots of different ways you can combine the use of configuration files and command line options to produce various results. The Webalizer always looks for and reads configuration options from a default configuration file before doing anything else. Because of this, you can override options found in the default file by use of additional configuration files specified on the command line or command line options themselves. If you specify a configuration file on the command line, you can override options in it by additional command line options which follow. For example, most users will most likely want to create the default file /etc/webalizer.conf and place options in it to specify the hostname, log file, table options, etc... At the end of the month when a different log file is to be used (the end of month log), you can run The Webalizer as usual, but put the different filename on the end of the command line, which will override the log file specified in the configuration file. It should be noted that you cannot override some configuration file options by the use of command line arguments. For example, if you specify "Quiet yes" in a configuration file, you cannot override this with a command line argument, as the command line option only _enables_ the feature (-q option). The configuration files are standard ASCII text files that may be created or edited using any standard editor. Blank lines and lines that begin with a pound sign ('#') are ignored. Any other lines are considered to be configuration lines, and have the form "Keyword Value", where the 'Keyword' is one of the currently available configuration keywords defined below, and 'Value' is the value to assign to that particular option. Any text found after the keyword up to the end of the line is considered the keyword's value, so you should not include anything after the actual value on the line that is not actually part of the value being assigned. The file "sample.conf" provided with the distribution contains lots of useful documentation and examples as well. It should be noted that you do not have to use any configuration files at all, in which case, default values will be used (which should be sufficient for most sites). -------------------------------------------------------------------------- General Configuration Keywords ------------------------------ LogFile This defines the log file to use. It should be a fully qualified name (ie: contain the path), but relative names will work as well. If not specified, the logfile defaults to STDIN. LogType This specified the log file type being used. Normally, The Webalizer processes web logs in either CLF or Combined format. You may also process wu-ftpd xferlog formatted logs, squid proxy logs or W3C formatted web logs by setting the appropriate type using this keyword. Values may be either 'clf', 'ftp', 'squid' or 'w3c'. Ensure that you specify the proper file type, otherwise you will be presented with a long stream of 'invalid record' messages when the Webalizer is run ;) Command line argument: -F OutputDir This defines the output directory to use for the reports. If it is not specified, the current directory is used. Command line argument: -o HistoryName Allows specification of a history path/filename if desired. The default is to use the file named 'webalizer.hist', kept in the normal output directory (OutputDir above). Any name specified is relative to the normal output directory unless an absolute path name is given (ie: starts with a '/'). ReportTitle This specifies the title to use for the generated reports. It is used in conjunction with the hostname (unless blank) to produce the final report titles. If not defined, the default of "Usage Statistics for" is used. Command line argument: -t HostName This defines the hostname. The hostname is used in the report title as well as being prepended to URLs in the "Top URLs" table. This allows The Webalizer to be run on "virtual" web servers, or servers that do not reside on the local machine, and allows clicking on the URL to go to the right place. If not specified, The Webalizer attempts to get the hostname via a 'uname' system call, and if that fails, will default to "localhost". Command line argument: -n UseHTTPS Causes the links in the 'Top URLs' table to use 'https://' instead of the default 'http://' prefix. Not much use if you run a mix of secure/insecure servers on your machine. Only useful if you run the analysis on a secure servers logs, and want the links in the table to work properly. HTAccess Enables the creation of a default .htaccess file in the output directory. If enabled, the file will be created (with a single "DirectoryIndex" directive), unless one already exists. The default is 'no', which disables the creation of any .htaccess files. Quiet This allows you to enable or disable informational messages while it is running. The values for this keyword can be either 'yes' or 'no'. Using "Quiet yes" will suppress these messages, while "Quiet no" will enable them. The default is 'no' if not specified, which will allow The Webalizer to display informational messages. It should be noted that this option has no effect on Warning or Error messages that may be generated, as they go to STDERR. Command line argument: -q ReallyQuiet This allows all generated output to be suppressed, including warning and error messages. The values for this keyword can be either 'yes' or 'no', with 'no' being the default. Command line argument: -Q TimeMe This allows you to display timing information regardless of any "quiet mode" specified. Useful only if you did in fact tell the webalizer to be quiet either by using the -q command line option or the "Quiet" keyword, otherwise timing stats are normally displayed anyway. Values may be either 'yes' or 'no', with the default being 'no'. Command line argument: -T GMTTime This keyword allows timestamps to be displayed in GMT (UTC) time instead of local time. Normally The Webalizer will display timestamps in the time-zone of the local machine (ie: PST or EDT). This keyword allows you to specify the display of timestamps in GMT (UTC) time instead. Values may be either 'yes' or 'no'. Default is 'no'. Debug This tells The Webalizer to display additional information when it encounters Warnings or Errors. Normally, The Webalizer will just tell you it found a bad record or field. This option will enable the display of the actual data that produced the Warning or Error as well. Useful only if you start getting lots of Warnings or Errors and want to determine the cause. Values may be either 'yes' or 'no', with the default being 'no'. Command line argument: -d IgnoreHist This suppresses the reading of a history file. USE WITH EXTREME CAUTION as the history file is how The Webalizer keeps track of previous months. The effect of this option is as if The Webalizer was being run for the very first time, and any previous data is discarded. Values may be either 'yes' or 'no', with the default being 'no'. Command line argument: -i IgnoreState This suppresses the reading of an existing incremental data file. USE WITH EXTREME CAUTION! By ignoring an existing incremental data file, all previous processing for the current month will be lost, and those logs must be re-processed. Values may be 'yes' or 'no', with the default being 'no'. Command line argument: -b FoldSeqErr Allows log records that are out of sequence to be folded back into the analysis, by treating them as if they had the same date/time as the last good record. Normally, out of sequence log records are simply ignored. If you run apache, don't worry about this. VisitTimeout Set the 'visit timeout' value. Visits are determined by looking at the time difference between the current and last request made by a specific site. If the difference in time is greater than the visit timeout value, the request is considered a new visit. The value is in number of seconds, and defaults to 30 minutes (1800). Command line argument: -m PageType Allows you to define the 'page' type extension. Normally, people consider HTML and CGI scripts as 'pages'. This option allows you to specify what extensions you consider a page. Default is 'htm*' and 'cgi' for web logs, and 'txt' for ftp logs. Command line argument: -P PagePrefix Allows all requests with a specified prefix to be considered as 'pages'. If you want everything under /documents to be treated as pages no matter what their extension is. Also useful if you have cgi-scripts with PATH_INFO. OmitPage Allows specified URLs to not be counted as pages under any circumstance, even if they have an extension matching a PageType or PagePrefix as defined above. GraphLegend Enable/disable the display of color coded legends on the produced graphs. Default is 'yes', to display them. Command line argument: -L GraphLines Specify the number of background reference lines to display on produced graphs. The default is 2. To disable the use of background lines, use zero ('0'). Command line argument: -l IndexMonths Specify the number of months to display in the main index (yearly summary) table. Default is 12 months. Can be set to anything between 12 and 120 months (1 to 10 years). Command line argument: -K YearHeaders Enable/disable the display of year headers in the main index (yearly summary) table. If enabled, year headers will be shown when the table is displaying more than 16 months worth of data. Values can be 'yes' or 'no'. Default is 'yes'. GraphMonths Specify the number of months to display in the main index (yearly summary) graph. Default is 12 months. Can be set to anything between 12 and 72 months (1 to 6 years). Command line argument: -k CountryGraph This keyword is used to either enable or disable the creation and display of the Country Usage graph. Values may be either 'yes' or 'no', with the default being 'yes'. Command line argument: -Y CountryFlags Enables or disables the display of flags in the top country table. If enabled, the default directory 'flags' directly under the output directory will be used unless a different path is specified with the 'FlagDir' option below. Command line argument: -zflags FlagDir Specifies the location of flag graphics. If not specified, the default is in the 'flags' directory directly under the output directory being used for the reports. If specified, the display of flags will be enabled by default. Command line argument: -z DailyGraph This keyword is used to either enable or disable the creation and display of the Daily Usage graph. Values may be either 'yes' or 'no', with the default being 'yes'. DailyStats This keyword is used to either enable or disable the creation and display of the Daily Usage statistics table. Values may be either 'yes' or 'no', with the default being 'yes'. HourlyGraph This keyword is used to either enable or disable the creation and display of the Hourly Usage graph. Values may be either 'yes' or 'no', with the default being 'yes'. Command line argument: -G HourlyStats This keyword is used to either enable or disable the creation and display of the Hourly Usage statistics table. Values may be either 'yes' or 'no', with the default being 'yes'. Command line argument: -H IndexAlias This allows additional 'index.html' aliases to be defined. Normally, The Webalizer scans for and strips the string "index." from URLs before processing them (unless disabled using the DefaultIndex config option below). This turns a URL such as /somedir/index.html into just /somedir/ which is really the same URL. This keyword allows _additional_ names to be treated in the same fashion for sites that use different default names, such as "home.html". The string is scanned for anywhere in the URL, so care should be used if and when you define additional aliases. For example, if you were to use an alias such as 'home', the URL /somedir/homepages/brad/home.html would be turned into just /somedir/ which probably isn't the intended result. Instead, you should have specified 'home.htm' which would correctly turn the URL into /somedir/homepages/brad/ like intended. It should also be noted that specified aliases are scanned for in EVERY log record... A bunch of aliases will noticeably degrade performance as each record has to be scanned for every alias defined. You don't have to specify 'index.' as it is always the default (unless disabled with the config option "DefaultIndex" described below). Command line argument: -I DefaultIndex This option is used to enable/disable the use of "index." as a default index name to be stripped from the end of a URL. Most sites should not need to use this option, however some may find it useful, particularly those whose default index file name is something different, or those sites that use 'index.php' or similar URLs to generate dynamic content. This option does not effect any of the names that may be defined using the IndexAlias option, and those names will still function as described. Values may be 'yes' or 'no', with 'yes' being the default. MangleAgents The MangleAgents keyword specifies the level of user agent name mangling, if any. There are 6 levels that may be specified, each producing a different level of detail displayed. Level 5 displays only the browser name (MSIE or Mozilla) and the major version number. Level 4 adds the minor version (single decimal place). Level 3 adds the minor version to two decimal places. Level 2 will also add any sub-level designation (such as Mozilla/3.01Gold or MSIE 3.0b). Level 1 will also attempt to add the system type. The default level 0 will leave the user agent field unmodified and produces the greatest amount of detail. Command line argument: -M SearchEngine This keyword allows specification of search engines and their query strings. Search strings are obtained from the referrer field in the record, and in order to work properly, the Webalizer needs to know what query strings different search engines use. The SearchEngine allows you to specify the search engine and its query string to parse the search string from. The line is formatted as: "SearchEngine engine-string query-string" where 'engine-string' is a substring for matching the search engine with, such as "yahoo.com" or "altavista". The 'query-string' is the unique query string that is added to the URL for the search engine, such as "search=" or "MT=" with the actual search strings appended to the end. There is no command line option for this keyword. SearchCaseI The SearchCaseI option specifies if search strings should be lowercased (case insensitive) or not. Since most search engines use case insensitive searches (ie: a search for "Hello" is the same as "HELLO" or "hello"), converting to lowercase will improve keyword accuracy, which is the default. If desired, case sensitivity can be forced with this option. The value can be 'yes' or 'no', with 'yes' (case insensitive) being the default. Incremental This allows incremental processing to be enabled or disabled. Incremental processing allows processing partial logs without the loss of detail data from previous runs in the same month. This feature saves the 'internal state' of the program so that it may be restored in following runs. See the section above titled "Incremental Processing" for additional information. The value may be 'yes' or 'no', with the default being 'no'. Command line argument: -p IncrementalName Allows specification of the incremental data filename if desired. Normally, the file named "webalizer.current' is used, kept in the standard output directory. If specified, filenames are relative to the standard output directory, unless an absolute name is given (ie: starts with '/'). StripCGI Determines if CGI variables should be stripped from the end of URLs or not. Normally, these variables are removed from URLs to improve accuracy, however some sites may wish to keep them preserved (particularly on highly dynamic sites). Values may be either 'yes' or 'no', with 'yes' being the default. TrimSquidURL Allows squid log URLs to be reduced in granularity by truncating them after a specified number of '/' path separators after the http:// portion. A value of 1 will cause all URLs to be summarized by domain only. The default value is zero (0), which leaves URLs unmodified. DNSCache Specifies the DNS cache filename. This name is relative to the default output directory unless an absolute name is given (ie: starts with '/'). See the DNS.README file for additional information. Command line argument: -D DNSChildren The number of DNS children processes to run in order to create/update the DNS cache file. If specified, the DNS cache filename must also be specified (see above). Use a value of zero ('0') to disable. See the DNS.README file for additional information. Command line argument: -N CacheIPs Specifies if unresolved addresses should also be cached in the DNS database. If enabled, unresolved IP addresses will be stored along with resolved addresses. This may be useful on some sites that have lots of unresolved IPs visiting so they are not looked up each time the program is run. Values may be 'yes' or 'no'. Default is 'no'. CacheTTL Specifies the Time To Live (TTL) value for cached DNS entries in days. Default value is 7 (1 week). Can be any value between 1 and 100. GeoDB Controls the use of the native GeoDB geolocation services provided by The Webalizer. Values may be 'yes' or 'no' with 'no' being the default. Command line argument: -j GeoDBDatabase Specifies and alternate GeoDB database filename to use. This is relative to the output directory being used unless an absolute path is given (ie: starts with a '/'). Command line argument: -J GeoIP Controls the use of GeoIP geolocation services. If The Webalizer was compiled with GeoIP support, it is used by default. Values may be 'yes' or 'no'. Default is 'yes'. Command line argument: -w GeoIPDatabase Specifies an alternate GeoIP database filename to use. This name is relative to the default output directory unless an absolute name is given (ie: starts with '/'). Command line argument: -W Top Table Keywords ------------------ TopAgents This allows you to specify how many "Top" user agents are displayed in the "Top User Agents" table. The default is 15. If you do not want to display user agent statistics, specify a value of zero (0). The display of user agents will only work if your web server includes this information in its log file (ie: a combined log format file). Command line argument: -A AllAgents Will cause a separate HTML page to be generated for all normally visible User Agents. A link will be added to the bottom of the "Top User Agents" table if enabled. Value can be either 'yes' or 'no', with 'no' being the default. TopCountries This allows you to specify how many "Top" countries are displayed in the "Top Countries" table. The default is 30. If you want to disable the countries table, specify a value of zero (0). Command line argument: -C TopReferrers This allows you to specify how many "Top" referrers are displayed in the "Top Referrers" table. The default is 30. If you want to disable the referrers table, specify a value of zero (0). The display of referrer information will only work if your web server includes this information in its log file (ie: a combined log format file). Command line argument: -R AllReferrers Will cause a separate HTML page to be generated for all normally visible Referrers. A link will be added to the "Top Referrers" table if enabled. Value can be either 'yes' or 'no', with 'no' being the default. TopSites This allows you to specify how many "Top" sites are displayed in the "Top Sites" table. The default is 30. If you want to disable the sites table, specify a value of zero (0). Command line argument: -S TopKSites Identical to TopSites, except for the 'by KByte' table. Default is 10. No command line switch for this one. AllSites Will cause a separate HTML page to be generated for all normally visible Sites. A link will be added to the bottom of the "Top Sites" table if enabled. Value can be either 'yes' or 'no', with 'no' being the default. TopURLs This allows you to specify how many "Top" URLs are displayed in the "Top URLs" table. The default is 30. If you want to disable the URLs table, specify a value of zero (0). Command line argument: -U TopKURLs Identical to TopURLs, except for the 'by KByte' table. Default is 10. No command line switch for this one. AllURLs Will cause a separate HTML page to be generated for all normally visible URLs. A link will be added to the bottom of the "Top URLs" table if enabled. Value can be either 'yes' or 'no', with 'no' being the default. TopEntry Allows you to specify how many "Top Entry Pages" are displayed in the table. The default is 10. If you want to disable the table, specify a value of zero (0). Command line argument: -e TopExit Allows you to specify how many "Top Exit Pages" are displayed in the table. The default is 10. If you want to disable the table, specify a value of zero (0). Command line argument: -E TopSearch Allows you to specify how many "Top Search Strings" are displayed in the table. The default is 20. If you want to disable the table, specify a value of zero (0). Only works if using combined log format (ie: contains referrer information). TopUsers This allows you to specify how many "Top" usernames are displayed in the "Top Usernames" table. Usernames are only available if you use http authentication on your web server, or when processing wu-ftpd xferlogs. The default value is 20. If you want to disable the Username table, specify a value of zero (0). AllUsers Will cause a separate HTML page to be generated for all normally visible usernames. A link will be added to the bottom of the "Top Usernames" table if enabled. Value can be either 'yes' or 'no', with 'no' being the default. AllSearchStr Will create a separate HTML page to be generated for all normally visible Search Strings. A link will be added to the bottom of the "Top Search Strings" table if enabled. Value can be either 'yes' or 'no', with 'no' being the default. Hide Object Keywords -------------------- These keywords allow you to hide user agents, referrers, sites, URLs and usernames from the various "Top" tables. The value for these keywords are the same as those used in their command line counterparts. You can specify as many of these as you want without limit. Refer to the section above on "Command Line Options" for a description of the string formatting used as the value. Values cannot exceed 80 characters in length. HideAgent This allows specified user agents to be hidden from the "Top User Agents" table. Not very useful, since there a zillion different names by which browsers go by today, but could be useful if there is a particular user agent (ie: robots, spiders, real-audio, etc..) that hits your site frequently enough to make it into the top user agent listing. This keyword is useless if 1) your log file does not provide user agent information or 2) you disable the user agent table. Command line argument: -a HideReferrer This allows you to hide specified referrers from the "Top Referrers" table. Normally, you would only specify your own web server to be hidden, as it is usually the top generator of references to your own pages. Of course, this keyword is useless if 1) your log file does not include referrer information or 2) you disable the top referrers table. Command line argument: -r HideSite This allows you to hide specified sites from the "Top Sites" table. Normally, you would only specify your own web server or other local machines to be hidden, as they are usually the highest hitters of your web site, especially if you have their browsers home page pointing to it. Command line argument: -s HideAllSites This allows hiding all individual sites from the display, which can be useful when a lot of groupings are being used (since grouped records cannot be hidden). It is particularly useful in conjunction with the GroupDomain feature, however can be useful in other situations as well. Value can be either 'yes' or 'no', with 'no' the default. Command line argument: -X HideURL This allows you to hide URLs from the "Top URLs" table. Normally, this is used to hide items such as graphic files, audio files or other 'non-html' files that are transferred to the visiting user. Command line argument: -u HideUser This allows you to hide Usernames from the "Top Usernames" table. Usernames are only available if you use http based authentication on your web server. Group Object Keywords --------------------- The Group* keywords allow object grouping based on Site, URL, Referrer, User Agent and Usernames. Combined with the Hide* keywords, you can customize exactly what will be displayed in the 'Top' tables. For example, to only display totals for a particular directory, use a GroupURL and HideURL with the same value (ie: '/help/*'). Group processing is only done after the individual record has been fully processed, so name mangling and site total updates have already been performed. Because of this, groups are not counted in the main site total (as that would cause duplication). Groups can be displayed in bold and shaded as well. Grouped records are not, by default, hidden from the report. This allows you to display a grouped total, while still being able to see the individual records, even if they are part of the group. If you want to hide the detail records, follow the Group* directive with a Hide* one using the same value. There are no command line switches for these keywords. The Group* keywords also accept an optional label to be displayed instead of the actual value used. This label should be separated from the value by at least one whitespace character, such as a space or tab character. If the match string contains whitespace (spaces or tabs), the string should be quoted, using either single or double quotes. See the sample configuration file for examples. GroupReferrer Allows grouping Referrers. Can be handy for some of the major search engines that have multiple host names a referral could come from. GroupURL This keyword allows grouping URLs. Useful for grouping complete directory trees. GroupSite This keywords allows grouping Sites. Most used for grouping top level domains and unresolved IP address for local dial-ups, etc... GroupAgent Groups User Agents. A handy example of how you could use this one is to use "Mozilla" and "MSIE" as the values for GroupAgent and HideAgent keywords. Make sure you put the "MSIE" one first. GroupDomains Allows automatic grouping of domains. The numeric value represents the level of grouping, and can be thought of as 'the number of dots' to display. A 1 will display second level domains only (xxx.xxx), a 2 will display third level domains (xxx.xxx.xxx) etc... The default value of 0 disables any domain grouping. Command line argument: -g GroupUser Allows grouping of usernames. Combined with a group name, this can be handy for displaying statistics on a particular group of users without displaying their real usernames. GroupShading Allows shading of table rows for groups. Value can be 'yes' or 'no', with the default being 'yes'. GroupHighlight Allows bolding of table rows for groups. Value can be 'yes' or 'no', with the default being 'yes'. Ignore/Include Object Keywords ---------------------- These keywords allow you to completely ignore log records when generating statistics, or to force their inclusion regardless of ignore criteria. Records can be ignored or included based on site, URL, user agent, referrer and username. Be aware that by choosing to ignore records, the accuracy of the generated statistics become skewed, making it impossible to produce an accurate representation of load on the web server. These keywords behave identical to the Hide* keywords above, where the value can have a leading or trailing wildcard '*'. These keywords, like the Hide* ones, have an absolute limit of 80 characters for their values. These keywords do not have any command line switch counterparts, so they may only be specified in a configuration file. It should also be pointed out that using the Ignore/Include combination to selectively exclude an entire site while including a particular 'chunk' is _extremely_ inefficient, and should be avoided. Try grep'ing the records into a separate file and process it instead. IgnoreSite This allows specified sites to be completely ignored from the generated statistics. IgnoreURL This allows specified URLs to be completely ignored from the generated statistics. One use for this keyword would be to ignore all hits to a 'temporary' directory where development work is being done, but is not accessible to the outside world. IgnoreReferrer This allows records to be ignored based on the referrer field. IgnoreAgent This allows specified User Agent records to be completely ignored from the statistics. Maybe useful if you really don't want to see all those hits from MSIE :) IgnoreUser This allows specified username records to be completely ignored from the statistics. Usernames can only be used if you use http authentication on your server. IncludeSite Force the record to be processed based on hostname. This takes precedence over the Ignore* keywords. IncludeURL Force the record to be processed based on URL. This takes precedence over the Ignore* keywords. IncludeReferrer Force the record to be processed based on referrer. This takes precedence over the Ignore* keywords. IncludeAgent Force the record to be processed based on user agent. This takes precedence over the Ignore* keywords. IncludeUser Force the record to be processed based on username. Usernames are only available if you use http based authentication on your server. This takes precedence over the Ignore* keywords. Dump Object Keywords -------------------- The Dump* Keywords allow text files to be generated that can then be used for import into most database, spreadsheet and other external programs. The file is a standard tab delimited text file, meaning that each column is separated by a tab (0x09) character. A header record may be included if required, using the 'DumpHeader' keyword. Since these files contain all records that have been processed, including normally hidden records, an alternate location for the files can be specified using the 'DumpPath' keyword, otherwise they will be located in the default output directory. DumpPath Specifies an alternate location for the dump files. The default output location will be used otherwise. The value is the path portion to use, and normally should be an absolute path (ie: has a leading '/' character), however relative path names can be used as well, and will be relative to the output directory location. DumpExtension Allows the dump filename extensions to be specified. The default extension is "tab", however may be changed with this option. DumpHeader Allows a header record to be written as the first record of the file. Value can be either 'yes' or 'no', with the default being 'no'. DumpSites Dump tab delimited sites file. Value can be either 'yes' or 'no', with the default being 'no'. The filename used is site_YYYYMM.tab (YYYY=year, MM=month). DumpURLs Dump tab delimited url file. Value can be either 'yes' or 'no', with the default being 'no'. The filename used is url_YYYYMM.tab (YYYY=year, MM=month). DumpReferrers Dump tab delimited referrer file. Value can be either 'yes' or 'no', with the default being 'no'. Filename used is ref_YYYYMM.tab (YYYY=year, MM=month). Referrer information is only available if present in the log file (ie: combined web server log). DumpAgents Dump tab delimited user agent file. Value can be either 'yes' or 'no', with the default being 'no'. Filename used is agent_YYYYMM.tab (YYYY=year, MM=month). User agent information is only available if present in the log file (ie: combined web server log). DumpUsers Dump tab delimited username file. Value can be either 'yes' or 'no', with the default being 'no'. Filename used is user_YYYYMM.tab (YYYY=year, MM=month). The username data is only available if processing a wu-ftpd xferlog or http authentication is used on the web server and that information is present in the log. DumpSearchStr Dump tab delimited search string file. Value can be either 'yes' or 'no', with the default being 'no'. Filename used is search_YYYYMM.tab (YYYY=year, MM=month). the search string data is only available if referrer information is present in the log being processed and recognized search engines were found and processed. HTML Generation Keywords ------------------------ These keywords allow you to customize the HTML code that The Webalizer produces, such as adding a corporate logo or links to other web pages. You can specify as many of these keywords as you like, and they will be used in the order that they are found in the file. Values cannot exceed 80 characters in length, so you may have to break long lines up into two or more lines. There are no command line counterparts to these keywords. HTMLExtension Allows generated pages to use something other than the default 'html' extension for the filenames. Do not include the leading period ('.') when you specify the extension. Command line argument: -x HTMLPre Allows code to be inserted at the very beginning of the HTML files. Defaults to the standard HTML 3.2 DOCTYPE record. Be careful not to include any HTML here, as it is inserted _before_ the tag in the file. Use it for server-side scripting capabilities, such as php3, to insert scripting files and other directives. HTMLHead Allows you to insert HTML code between the block. There is no default. Useful for adding scripts to the HTML page, such as Javascript or php3, or even just for adding a few META tags to the document. HTMLBody This keyword defines HTML code to be placed immediately after the section of the report, just before the title and "summary period/generated on" lines. If used, the first HTMLHead line MUST include a tag. Put whatever else you want in subsequent lines, but keep in mind the placement of this code in relation to the title and other aspects of the web page. Some typical uses are to change the page colors and possibly add a corporate logo (graphic) in the top right. If not specified, a default tag is used that defines page color, text color and link colors (see "sample.conf" file for example). HTMLPost This keyword defines HTML code that is placed after the title and "summary period/generated on" lines, just before the initial horizontal rule
tag. Normally this keyword isn't needed, but is provided in case you included a large graphic or some other weird formatting tag in the HTMLHead section that needs to be cleaned up or terminated before the main report section. HTMLTail This keyword defines HTML code that is placed at the bottom right side of the report. It is inserted in a section between table data tags, and is top and right aligned within the table. Normally this keyword is used to provide a link back to your home page or insert a small graphic at the bottom right of the page. HTMLEnd This allows insertion of closing code, at the very end of the page. The default is to put the closing and tags. If specified, you _must_ specify these tags yourself. LinkReferrer This specifies if the referrers listed in the top referrer table should be displayed as plain text, or as a link to the referrer. Values can be either 'yes' or 'no', with 'no' being the default. Graph Color Commands -------------------- These keywords allow altering the colors used in the various graphs produced by the Webalizer. The value is specified as a standard HTML RGB hexdecimal color string, without the leading '#' character. The value is case insensitive. If not specified, the default color shown will be used. ColorHit Color used for 'Hits'. Default is '00805C' (green) ColorFile Color used for 'Files'. Default is '0040FF' (blue) ColorSite Color used for 'Sites'. Default is 'FF8000' (orange) ColorKbyte Color used for 'KBytes'. Default is 'FF0000' (red) ColorPage Color used for 'Pages'. Default is '00E0FF' (cyan) ColorVisit Color used for 'Visits'. Default is 'FFFF00' (yellow) ColorMisc Color used for miscellaneous titles in various 'Top' tables (not graphs). Default is '00E0FF' (cyan) PieColor1 Pie Chart color #1. Default is '800080' (purple) PieColor2 Pie Chart color #2. Default is '80FFC0' (lt. green) PieColor3 Pie Chart color #3. Default is 'FF00FF' (lt. purple) PieColor4 Pie Chart color #4. Default is 'FFC080' (tan) -------------------------------------------------------------------------- Notes on Web Log Files ---------------------- The Webalizer supports CLF log formats, which should work for just about everyone. If you want User Agent or Referrer information, you need to make sure your web server supplies this information in its log file, and in a format that the Webalizer can understand. While The Webalizer will try to handle many of the subtle variations in log formats, some will not work at all. Most web servers output CLF format logs by default. For Apache, in order to produce the proper log format, add the following to the httpd.conf file: LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" This instructs the Apache web server to produce a 'combined' log that includes the referrer and user agent information on the end of each record, enclosed in quotes (This is the standard recommended by both Apache and NCSA). Netscape and other web servers have similar capabilities to alter their log formats. (note: the above works for apache servers up to V1.2. V1.3 and higher now have additional ways to specify log formats... refer to included documentation). Notes on FTP Log Files ---------------------- The Webalizer supports ftp logs produced by wu-ftpd, proftpd and others, as a standard 'xferlog'. To process an ftp log, you must either use the -Ff command line option or have "LogType ftp" in your configuration file. It is recommended that you create a separate configuration file for ftp analysis, since the values used for your web server will most likely not be suited for ftp log analysis (ie: page types, hostname, etc.. should be different). Because of the difference in web and ftp logs, there are a few limitations: o Because there is no concept of a 'response code' in ftp world, response codes are restricted to either 200 (OK) or 206 (Partial Content), based on the completion status found in xferlog (for wu-ftpd, 'i'=incomplete and will generate a 206, 'c'=complete and will generate a 200). If your ftp server doesn't supply the completion status, all requests will be assigned a response code of 200. This allows the usage graph to display all transfer requests (hits), and how many of those completed in success (files - ie: 200 response codes). o Page totals won't accurately reflect reality, since there isn't really the concept of a 'page' in regards to ftp services. I have found that setting the PageType value to "README", "FIRST", etc... seems to work fairly well however, and will give a pretty good indication of how many 'non-binary' files were requested. Of course, the content of your ftp site will be different, so your results may vary. o Visit totals also won't accurately reflect reality, since visits are triggered on PageType requests (see above). What you usually wind up with is visits=sites in most cases. o Entry/Exit pages will not be calculated for ftp logs. o For obvious reasons, referrers and user agents are not supported. o You _cannot_ analyze both web and ftp logs at the same time.. they must be done separately in different runs. Notes on Referrers ------------------ Referrers are weird critters... They take many shapes and forms, which makes it much harder to analyze than a typical URL, which at least has some standardization. What is contained in the referrer field of your log files varies depending on many factors, such as what site did the referral, what type of system it comes from and how the actual referral was generated. Why is this? Well, because a user can get to your site in many ways... They may have your site bookmarked in their browser, they may simply type your sites URL field in their browser, they could have clicked on a link on some remote web page or they may have found your site from one of the many search engines and site indexes found on the web. The Webalizer attempts to deal with all this variation in an intelligent way by doing certain things to the referrer string which makes it easier to analyze. Of course, if your web server doesn't provide referrer information, you probably don't really care and are asking yourself why you are reading this section... Most referrers will take the form of "http://somesite.com/somepage.html", which is what you will get if the user clicks on a link somewhere on the web in order to get to your site. Some will be a variation of this, and look something like "file:/some/such/sillyname", which is a reference from a HTML document on the users local machine. Several variations of this can be used, depending on what type of system the user has, if he/she is on a local network, the type of network, etc... To complicate things even more, dynamic HTML documents and HTML documents that are generated by CGI scripts or external programs produce lots of extra information which is tacked on to the end of the referrer string in an almost infinite number of ways. If the user just typed your URL into their browser or clicked on a bookmark, there won't be any information in the referrer field and will take the form "-". In order to handle all these variations, The Webalizer parses the referrer field in a certain way. First, if the referrer string begins with "http", it assumes it is a normal referral and converts the "http://" and following hostname to lowercase in order to simplify hiding if desired. For example, the referrer "HTTP://WWW.MyHost.Com/This/Is/A/HTML/Document.html" will become "http://www.myhost.com/This/Is/A/HTML/Document.html". Notice that only the "http://" and hostname are converted to lower case... The rest of the referrer field is left alone. This follows standard convention, as the actual method (HTTP) and hostname are always case insensitive, while the document name portion is case sensitive. Referrers that came from search engines, dynamic HTML documents, CGI scripts and other external programs usually tack on additional information that it used to create the page. A common example of this can be found in referrals that come from search engines and site indexes common on the web. Sometimes, these referrers URLs can be several hundred characters long and include all the information that the user typed in to search for your site. The Webalizer deals with this type of referrer by stripping off all the query information, which starts with a question mark '?'. The Referrer "http://search.yahoo.com/search?p=usa%26global%26link" will be converted to just "http://search.yahoo.com/search". When a user comes to your site by using one of their bookmarks or by typing in your URL directly into their browser, the referrer field is blank, and looks like "-". Most sites will get more of these referrals than any other type. The Webalizer converts this type of referral into the string "- (Direct Request)". This is done in order to make it easier to hide via a command line option or configuration file option. This is because the character "-" is a valid character elsewhere in a referrer field, and if not turned into something unique, could not be hidden without possibly hiding other referrers that shouldn't be. Notes on Character Escaping --------------------------- The HTTP protocol defines certain ways that URLs can look and behave. To some extent, referrer fields follow most of the same conventions. Character escaping is a technique by which non-printable or other non-ASCII (and even some ASCII) characters can be used in a URL. This is done by placing the Hexadecimal value of the character in the URL, preceded by a percent sign '%'. Since Hex values are made up of ASCII characters, any character can be escaped to ensure only printable ASCII characters are present in the URL. Some systems take this concept to the extreme and escape all sorts of stuff, even characters that don't need to be escaped. To deal with this, The Webalizer will un-escape URLs and referrers before being processed. For Example, the URL "/www.webalizer.org/%7Efoo/bar.html" is the same URL as "/www.webalizer.org/~foo/bar.html", a very common form of a URL to access users web pages. If the URLs were not un-escaped, they would be treated as two separate documents, even though they are really one and the same. Search String Analysis ---------------------- The Webalizer will do a minimal analysis on referrer strings that it finds, looking for well known search string patterns. Most of the major search engines are supported, such as Yahoo!, Altavista, Lycos, etc... Unfortunately, search engines are always changing their internal/CGI query formats, new search engines are coming on line every day, and the ability to detect _all_ search strings is nearly impossible. However, it should be accurate enough to give a good indication of what users were searching for when they stumbled across your site. Note: as of version 1.31, search engines can now be specified within a configuration file. See the sample.conf file for examples of how to specify additional search engines. Notes on Visits/Entry/Exit Figures ---------------------------------- The majority of data analyzed and reported on by The Webalizer is as accurate and correct as possible based on the input log file. However, due to the limitation of the HTTP protocol, the use of firewalls, proxy servers, multi-user systems, the rotation of your log files, and a myriad of other conditions, some of these numbers cannot, without absolute accuracy, be calculated. In particular, Visits, Entry Pages and Exit Pages are suspect to random errors due to the above and other conditions. The reason for this is twofold, 1) Log files are finite in size and time interval, and 2) There is no way to distinguish multiple individual users apart given only an IP address. Because log files are finite, they have a beginning and ending, which can be represented as a fixed time period. There is no way of knowing what happened previous to this time period, nor is it possible to predict future events based on it. Also, because it is impossible to distinguish individual users apart, multiple users that have the same IP address all appear to be a single user, and are treated as such. This is most common where corporate users sit behind a proxy/firewall to the outside world, and all requests appear to come from the same location (the address of the proxy/firewall itself). Dynamic IP assignment (used with dial-up Internet accounts) also present a problem, since the same user will appear as to come from multiple places. For example, suppose two users visit your server from XYZ company, which has their network connected to the Internet by a proxy server 'fw.xyz.com'. All requests from the network look as though they originated from 'fw.xyz.com', even though they were really initiated from two separate users on different PCs. The Webalizer would see these requests as from the same location, and would record only 1 visit, when in reality, there were two. Because entry and exit pages are calculated in conjunction with visits, this situation would also only record 1 entry and 1 exit page, when in reality, there should be 2. As another example, say a single user at XYZ company is surfing around your website.. They arrive at 11:52pm the last day of the month, and continue surfing until 12:30am, which is now a new day (in a new month). Since a common practice is to rotate (save then clear) the server logs at the end of the month, you now have the users visit logged in two different files (current and previous months). Because of this (and the fact that the Webalizer clears history between months), the first page the user requests after midnight will be counted as an entry page. This is unavoidable, since it is the first request seen by that particular IP address in the new month. For the most part, the numbers shown for visits, entry and exit pages are pretty good 'guesses', even though they may not be 100% accurate. They do provide a good indication of overall trends, and shouldn't be that far off from the real numbers to count much. You should probably consider them as the 'minimum' amount possible, since the actual (real) values should always be equal or greater in all cases. Exporting Webalizer Data ------------------------ The Webalizer now has the ability to dump all object tables to tab delimited ASCII text files, which can then be imported into most popular database and spreadsheet programs. The files are not normally produced, as on some sites they could become quite large, and are only enabled by the use of the Dump* configuration keywords. The filename extensions default to '.tab' however may be changed using the 'DumpExtension' keyword. Since this data contains all items, even those normally hidden, it may not be desirable to have them located in the output directory where they may be visible to normal web users.. For this reason, the 'DumpPath' configuration keyword is available, and allows the placement of these files somewhere outside the normal web server document tree. An optional 'header' record may be written to these files as well, and is useful when the data is to be imported into a spreadsheet.. databases will not normally need the header. If enabled, the header is simply the column names as the first record of the file, tab separated. Log files and The Webalizer --------------------------- Most sites will choose to have The Webalizer run from cron at specified intervals. Care should be taken to ensure that data is not lost as a result of log file rotations. A suggested practice is to rotate your web server logs at the end of each month as close to midnight as possible, then have The Webalizer process the 'end of month' log file before running statistics on the new, current log. On our systems, a shell script called 'rotate_logs' is run at midnight, the end of each month. This script file looks like: ------------------------- file: rotate_logs ------------------------------ #!/bin/sh # halt the server kill `cat /var/lib/httpd/logs/httpd.pid` # define backup names OLD_ACCESS_LOG=/var/lib/httpd/logs/old/access_log.`date +%y%m%d-%H%M%S` OLD_ERROR_LOG=/var/lib/httpd/logs/old/error_log.`date +%y%m%d-%H%M%S` # make end of month copy for analyzer cp /var/lib/httpd/logs/access_log /var/lib/httpd/logs/access_log.backup # move files to archive directory mv /var/lib/httpd/logs/access_log `echo $OLD_ACCESS_LOG` mv /var/lib/httpd/logs/error_log `echo $OLD_ERROR_LOG` # restart web server /usr/sbin/httpd # compress the archived files /bin/gzip $OLD_ACCESS_LOG /bin/gzip $OLD_ERROR_LOG ------------------------- end of file ------------------------------------ This script first stops the web server using a 'kill' command. Apache keeps the PID of the server in the file httpd.pid, so we use it as the argument for the kill. Next, it defines some names for the backup files, which are basically the name of the files with the date and time appended to the end of them. It then makes a copy of the log file, appended with '.backup' in the log directory, moves the current log files to an archive directory (/var/lib/httpd/logs/old) and restarts the server. This setup allows the web server to be down for the minimum amount of time needed, which is important for busy sites. If you don't want to stop the server, you can remove the initial 'kill' command, and replace the '/usr/sbin/httpd' line with "kill -1 `cat /var/lib/httpd/logs/httpd.pid`" command instead, On most web servers, this will cause a restart of the server and create the new log files in the process... At this point, we have made copies of the previous months logs, the web server is going about its business as usual, and we have all the time in the world to do any other additional processing we want. The last two lines of the script compress the archived logs using the GNU zip program (gzip). Remember, we still have a copy of the log which we can now run The Webalizer on without having to do any further processing. Next, we define two crontab entries. The first runs the above 'rotate_logs' script at midnight at the end of the month. The second runs The Webalizer on the '.backup' log file created above at 5 minutes after midnight. This gives other end of month processing jobs a chance to run so we don't bog the system down too much. If you have lots of end of month stuff going on, you can change the timing to suit your needs. The crontab entries look something like: ------------------------- crontab entries -------------------------------- # Rotate web server logs and run monthly analysis 0 0 1 * * /usr/local/adm/rotate_logs 5 0 1 * * /usr/bin/webalizer -Q /var/lib/httpd/logs/access_log.backup ------------------------- end of crontab --------------------------------- As you can see, the log rotations occur at midnight, and the analysis is done at 5 minutes after. Once you verify that The Webalizer ran successfully, the access_log.backup file can be deleted as it isn't needed any more. If you need to re-run the analysis, you still have the compressed archive copy that the shell script created. In order for the above analysis to work properly, you should have already created an /etc/webalizer.conf configuration file suitable for your site, or otherwise specify configuration options or a configuration file on the crontab command line above. If you want The Webalizer to be run more often than once a month, you can specify additional crontab entries to do this as well. Care should be taken however to ensure that The Webalizer is not running when the end of month processing above occurs, or unpredictable results may happen (such as an inability to rotate the logs due to a file lock). The easiest way is to run it on the half hour with a crontab entry like: 30 * * * * /usr/bin/webalizer Reverse DNS Lookups ------------------- The Webalizer fully supports both IPv4 and IPv6 DNS lookups, and maintains a cache of those lookups to reduce processing the same addresses in subsequent runs. The cache file can be created at run-time, or may be created before running the webalizer using either the stand alone 'webazolver' program, or The Webalizer (DNS) Cache file Manager program 'wcmgr'. In order to perform reverse lookups, a DNS Cache file must be specified, either on the command line or in a configuration file. In order to create/update the cache file at run-time, the number of DNS Children must also be specified, and can be anything between 1 and 100. This specifies the number of child processes to be forked, each of which will perform network DNS queries in order to lookup up the addresses and update the cache. Cached entries that are older than a specified TTL (time to live) will be expired, and if encountered again in a log, will be looked up at that time in order to 'freshen' them (verify the name is still the same and update its timestamp). The default TTL is 7 days, however may be set to anything between 1 and 100 days. Using the 'wcmgr' program, entries may also be marked as 'permanent', in which case they will persist (with an infinite TTL) in the cache until manually removed. See the file DNS.README for additional information. Geolocation Lookups ------------------- The Webalizer has the ability to perform geolocation lookups on IP addresses using either it's own internal GeoDB database or optionally the GeoIP database from MaxMind, Inc. (www.maxmind.com). If used, unresolved addresses will be searched for in the database and it's country of origin will be returned if found. This actually produces more accurate Country information than DNS lookups, since the DNS address space has additional gcTLDs that do not necessarily map to a specific country (such as '.net' and '.com'). It is possible to use both DNS lookups and geolocation lookups at the same time, which will cause any addresses that could not be resolved using DNS lookups to then be looked up in the database, greatly reducing the number of 'Unknown/Unresolved' entries in the generated reports. The native GeoDB geolocation database provided by The Webalizer fully supports IPv4 and IPv6 lookups, is updated regularly, and is the preferred geolocation method for use with The Webalizer. The most current version of the database can be obtained from our ftp site. Language Support ---------------- Version 1.0x of The Webalizer added language support. This support is only provided at compile time in the form of an include file containing all the strings used by The Webalizer. The source distribution contains all language files that were available at the time, with English being the default as that is the only human language I speak fluently, and me Espanol es muy malo. Several people have already indicated the desire to do translations into various languages, and as I receive the language files, will make them available via ftp at ftp://ftp.mrunix.net/pub/webalizer/lang. Unless there happens to be a binary distribution in the language you need, you will need to grab the source distribution and compile the program yourself. See the file INSTALL that comes in the source distribution for information on how to use a language other than English. It should also be noted that the GD graphics library, used to produce the in-line graphics in the output HTML, doesn't support extended character sets, so if you are translating the language file, you will no doubt encounter this problem. New: You can now specify the language to use when you are building program from source, using the configure script. Just add --with-language=language_name , where 'language_name' is the name of a valid language file in the /lang/ directory. For example, --with-language=french will build using French as the default language. You should consult the INSTALL file for additional information on building the program from source. Known Issues ------------ o Memory Usage. The Webalizer makes liberal use of memory for internal data structures during analysis. Lack of real physical memory will noticeably degrade performance by doing lots of swapping between memory and disk. One user who had a rather large log file noticed that The Webalizer took over 7 hours to run with only 16 Meg of memory. Once memory was increased, the time was reduced to a few minutes. o Performance. The Hide*, Group*, Ignore*, Include* and IndexAlias configuration options can cause a performance decrease if lots of them are used. The reason for this is that every log record must be scanned for each item in each list. For example, if you are Hiding 20 objects, Grouping 20 more, and Ignoring 5, each record is scanned, at most, 46 times (20+20+5 + an IndexAlias scan). On really large log files, this can have a profound impact. It is recommended that you use the least amount of these configuration options that you can, as it will greatly improve performance. Final Notes ----------- A lot of time and effort went into making The Webalizer, and to ensure that the results are as accurate as possible. If you find any abnormalities or inconsistent results, bugs, errors, omissions or anything else that doesn't look right, please let me know so I can investigate the problem or correct the error. This goes for the minimal documentation as well. Suggestions for future versions are also welcome and appreciated. webalizer-2.23-05/README.FIRST0000644000175000017500000000173411454000455014021 0ustar bradbradUpgrade information for the Webalizer Version 2.2x This release is, for the most part, a drop-in replacement for all installations currently running 2.01, and all users are encouraged to upgrade. See the 'CHANGES' file for a full list of changes since version 2.01-10. Note: The history file format has changed in v2.20 in order to keep more than 12 months. Existing history files will be automatically converted to the new format the first time they are read. Note: This version redefines the '-v' command line switch to mean 'verbose', which will cause the program to display additional informational and debugging messages at run-time. This should not cause any major problems, as previously it would simply cause the program to display its version information and then exit. Report bugs to 'brad at mrunix dot net' with "Webalizer" somewhere in the subject. Please do not send HTML formatted e-mails or e-mail containing HTML tags as my mail server will reject them. Thanks! webalizer-2.23-05/configure0000755000175000017500000064321211510253154014164 0ustar bradbrad#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for webalizer V2.23. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs 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 # PATH needs CR # 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 # 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 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false 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.) as_nl=' ' 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 echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. 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 # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs 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 : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs 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_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. 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" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); 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 } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 fi echo >conf$$.file 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 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=: 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 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, 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= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='webalizer' PACKAGE_TARNAME='webalizer' PACKAGE_VERSION='V2.23' PACKAGE_STRING='webalizer V2.23' PACKAGE_BUGREPORT='' # 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" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias OPTS WCMGR_LIBS DEFAULT_LANG CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LN_S INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CPP GREP EGREP GEODB_LOC LIBOBJS LTLIBOBJS' ac_subst_files='' 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 # 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=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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=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 ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && 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'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. 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 case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } 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 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 .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # 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 -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | 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 .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } 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 webalizer V2.23 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/webalizer] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of webalizer V2.23:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-largefile omit support for large files --enable-static Build as static executable [default=no] --enable-debug Compile with debugging code [default=no] --enable-dns Enable DNS/GeoDB lookup code [default=yes] --enable-bz2 Enable BZip2 decompression code [default=no] --enable-geoip Enable GeoIP geolocation code [default=no] --enable-oldhash Use old hash function (slower) [default=no] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gd=DIR Alternate location for gd header files --with-gdlib=DIR Alternate location for gd library --with-png=DIR Alternate location for png header files --with-pnglib=DIR Alternate location for png library --with-z=DIR Alternate location for libz header files --with-zlib=DIR Alternate location for z library --with-db=DIR Alternate location for libdb header files --with-dblib=DIR Alternate location for db library --with-bz2=DIR Alternate location for bz2 header files --with-bz2lib=DIR Alternate location for bz2 library --with-geoip=DIR Alternate location for libGeoIP header files --with-geoiplib=DIR Alternate location for geoip library --with-geodb=DIR Default GeoDB data dir [/usr/share/GeoDB] --with-language=name Use language 'name' (default is english) 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 C/C++/Objective 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. _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" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`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 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 webalizer configure V2.23 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 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 webalizer $as_me V2.23, which was generated by GNU Autoconf 2.61. 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=. 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$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 ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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 cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_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 cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" 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'; { (exit 1); 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 # 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 # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # 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,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 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 { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`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. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } 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 OPTS=${DEFS} LIBS=${LIBS} DEFAULT_LANG="english" IN_CFLAGS=${CFLAGS} 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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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" echo "$as_me:$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 { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}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:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out 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. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.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 { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$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 { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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" 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac 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 { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; 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 { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } 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. # 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. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS 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 { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$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' # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_largefile_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_largefile_CC=' -n32'; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_file_offset_bits+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=64; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$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 -f conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_large_files+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=1; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$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 -f conftest* 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 { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&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 echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f 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 { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } 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 { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" 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 ac_count=`expr $ac_count + 1` 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 fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" 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 ac_count=`expr $ac_count + 1` 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 fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF 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=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether char is unsigned" >&5 echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6; } if test "${ac_cv_c_char_unsigned+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((char) -1) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_char_unsigned=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_char_unsigned=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_char_unsigned" >&5 echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6; } if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then cat >>confdefs.h <<\_ACEOF #define __CHAR_UNSIGNED__ 1 _ACEOF fi { echo "$as_me:$LINENO: checking for u_int64_t" >&5 echo $ECHO_N "checking for u_int64_t... $ECHO_C" >&6; } if test "${ac_cv_type_u_int64_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef u_int64_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_u_int64_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_u_int64_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_u_int64_t" >&5 echo "${ECHO_T}$ac_cv_type_u_int64_t" >&6; } if test $ac_cv_type_u_int64_t = yes; then : else cat >>confdefs.h <<_ACEOF #define u_int64_t unsigned long long _ACEOF fi { echo "$as_me:$LINENO: checking whether altzone is declared" >&5 echo $ECHO_N "checking whether altzone is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_altzone+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef altzone (void) altzone; #endif ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_altzone=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_altzone=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_altzone" >&5 echo "${ECHO_T}$ac_cv_have_decl_altzone" >&6; } if test $ac_cv_have_decl_altzone = yes; then OPTS="-DHAVE_ALTZONE ${OPTS}" fi if test "$GCC" = "yes"; then # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; LDFLAGS="--static ${LDFLAGS}" fi if test "$IN_CFLAGS" = ""; then CFLAGS="-Wall -O2" fi if test "$ac_cv_c_char_unsigned" = "yes"; then CFLAGS="-fsigned-char ${CFLAGS}" fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then enableval=$enable_debug; CFLAGS="-g ${CFLAGS}" fi else if test "$IN_CFLAGS" = ""; then CFLAGS="-g" fi fi # Check whether --with-gd was given. if test "${with_gd+set}" = set; then withval=$with_gd; S_GD="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}" fi # Check whether --with-gdlib was given. if test "${with_gdlib+set}" = set; then withval=$with_gdlib; S_GDLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}" fi # Check whether --with-png was given. if test "${with_png+set}" = set; then withval=$with_png; S_PNG="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}" fi # Check whether --with-pnglib was given. if test "${with_pnglib+set}" = set; then withval=$with_pnglib; S_PNGLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}" fi # Check whether --with-z was given. if test "${with_z+set}" = set; then withval=$with_z; S_Z="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}" fi # Check whether --with-zlib was given. if test "${with_zlib+set}" = set; then withval=$with_zlib; S_ZLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}" fi # Check whether --with-db was given. if test "${with_db+set}" = set; then withval=$with_db; S_DB="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}" fi # Check whether --with-dblib was given. if test "${with_dblib+set}" = set; then withval=$with_dblib; S_DBLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}" fi { echo "$as_me:$LINENO: checking for main in -l44bsd" >&5 echo $ECHO_N "checking for main in -l44bsd... $ECHO_C" >&6; } if test "${ac_cv_lib_44bsd_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l44bsd $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_44bsd_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_44bsd_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_44bsd_main" >&5 echo "${ECHO_T}$ac_cv_lib_44bsd_main" >&6; } if test $ac_cv_lib_44bsd_main = yes; then LIBS="-l44bsd ${LIBS}" fi for ac_header in getopt.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for main in -lm" >&5 echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6; } if test "${ac_cv_lib_m_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_m_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5 echo "${ECHO_T}$ac_cv_lib_m_main" >&6; } if test $ac_cv_lib_m_main = yes; then LIBS="-lm ${LIBS}"; HAVE_LIBM="1" fi if test "${HAVE_LIBM}" = "1"; then for ac_header in math.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi { echo "$as_me:$LINENO: checking for main in -lz" >&5 echo $ECHO_N "checking for main in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_main" >&5 echo "${ECHO_T}$ac_cv_lib_z_main" >&6; } if test $ac_cv_lib_z_main = yes; then LIBZ="yes"; LIBS="-lz ${LIBS}" fi if test "${LIBZ}" = "yes"; then { echo "$as_me:$LINENO: checking for gzrewind in -lz" >&5 echo $ECHO_N "checking for gzrewind in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_gzrewind+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 gzrewind (); int main () { return gzrewind (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_gzrewind=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzrewind=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzrewind" >&5 echo "${ECHO_T}$ac_cv_lib_z_gzrewind" >&6; } if test $ac_cv_lib_z_gzrewind = yes; then LIBZ="yes" else LIBZ="no" fi if test "${LIBZ}" = "no"; then { { echo "$as_me:$LINENO: error: Old version of libz found.. please upgrade!" >&5 echo "$as_me: error: Old version of libz found.. please upgrade!" >&2;} { (exit 1); exit 1; }; } fi else { { echo "$as_me:$LINENO: error: z library not found.. please install libz" >&5 echo "$as_me: error: z library not found.. please install libz" >&2;} { (exit 1); exit 1; }; } fi if test "${ac_cv_header_zlib_h+set}" = set; then { echo "$as_me:$LINENO: checking for zlib.h" >&5 echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } if test "${ac_cv_header_zlib_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking zlib.h usability" >&5 echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking zlib.h presence" >&5 echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for zlib.h" >&5 echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } if test "${ac_cv_header_zlib_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_zlib_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } fi if test $ac_cv_header_zlib_h = yes; then HDR="yes" else HDR="no" fi if test "${HDR}" = "no"; then { { echo "$as_me:$LINENO: error: zlib.h header not found.. please install" >&5 echo "$as_me: error: zlib.h header not found.. please install" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: checking for main in -lpng" >&5 echo $ECHO_N "checking for main in -lpng... $ECHO_C" >&6; } if test "${ac_cv_lib_png_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpng $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_png_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_png_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_png_main" >&5 echo "${ECHO_T}$ac_cv_lib_png_main" >&6; } if test $ac_cv_lib_png_main = yes; then LIBPNG="yes"; LIBS="-lpng ${LIBS}" else LIBPNG="no" fi if test "${LIBPNG}" = "no"; then { { echo "$as_me:$LINENO: error: png library not found.. please install libpng" >&5 echo "$as_me: error: png library not found.. please install libpng" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: checking for main in -lgd" >&5 echo $ECHO_N "checking for main in -lgd... $ECHO_C" >&6; } if test "${ac_cv_lib_gd_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgd $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_gd_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_gd_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_gd_main" >&5 echo "${ECHO_T}$ac_cv_lib_gd_main" >&6; } if test $ac_cv_lib_gd_main = yes; then LIBGD="yes"; LIBS="-lgd ${LIBS}" fi if test "${LIBGD}" = "yes"; then { echo "$as_me:$LINENO: checking for gdImagePng in -lgd" >&5 echo $ECHO_N "checking for gdImagePng in -lgd... $ECHO_C" >&6; } if test "${ac_cv_lib_gd_gdImagePng+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgd $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_gd_gdImagePng=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_gd_gdImagePng=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_gd_gdImagePng" >&5 echo "${ECHO_T}$ac_cv_lib_gd_gdImagePng" >&6; } if test $ac_cv_lib_gd_gdImagePng = yes; then LIBGD="yes" else LIBGD="no" fi if test "${LIBGD}" = "no"; then { { echo "$as_me:$LINENO: error: Old version of libgd found.. please upgrade!" >&5 echo "$as_me: error: Old version of libgd found.. please upgrade!" >&2;} { (exit 1); exit 1; }; } fi else { { echo "$as_me:$LINENO: error: gd library not found.. please install libgd" >&5 echo "$as_me: error: gd library not found.. please install libgd" >&2;} { (exit 1); exit 1; }; } fi if test "${ac_cv_header_gd_h+set}" = set; then { echo "$as_me:$LINENO: checking for gd.h" >&5 echo $ECHO_N "checking for gd.h... $ECHO_C" >&6; } if test "${ac_cv_header_gd_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_gd_h" >&5 echo "${ECHO_T}$ac_cv_header_gd_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking gd.h usability" >&5 echo $ECHO_N "checking gd.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking gd.h presence" >&5 echo $ECHO_N "checking gd.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: gd.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: gd.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: gd.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: gd.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: gd.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: gd.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: gd.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: gd.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: gd.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: gd.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: gd.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: gd.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: gd.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: gd.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: gd.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: gd.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for gd.h" >&5 echo $ECHO_N "checking for gd.h... $ECHO_C" >&6; } if test "${ac_cv_header_gd_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_gd_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_gd_h" >&5 echo "${ECHO_T}$ac_cv_header_gd_h" >&6; } fi if test $ac_cv_header_gd_h = yes; then HDR="yes" else HDR="no" fi if test "${HDR}" = "no"; then { { echo "$as_me:$LINENO: error: gd.h header not found.. please install" >&5 echo "$as_me: error: gd.h header not found.. please install" >&2;} { (exit 1); exit 1; }; } fi # Check whether --enable-dns was given. if test "${enable_dns+set}" = set; then enableval=$enable_dns; USE_DNS="${enableval}" else USE_DNS="yes" fi if test "${USE_DNS}" = "yes"; then { echo "$as_me:$LINENO: checking for main in -ldb" >&5 echo $ECHO_N "checking for main in -ldb... $ECHO_C" >&6; } if test "${ac_cv_lib_db_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldb $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_db_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_db_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_db_main" >&5 echo "${ECHO_T}$ac_cv_lib_db_main" >&6; } if test $ac_cv_lib_db_main = yes; then USE_DNS="yes" else USE_DNS="no"; { echo "$as_me:$LINENO: WARNING: libdb not found.. DNS/GeoDB code disabled!" >&5 echo "$as_me: WARNING: libdb not found.. DNS/GeoDB code disabled!" >&2;} fi fi if test "${USE_DNS}" = "yes"; then if test "${ac_cv_header_db_h+set}" = set; then { echo "$as_me:$LINENO: checking for db.h" >&5 echo $ECHO_N "checking for db.h... $ECHO_C" >&6; } if test "${ac_cv_header_db_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 echo "${ECHO_T}$ac_cv_header_db_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking db.h usability" >&5 echo $ECHO_N "checking db.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking db.h presence" >&5 echo $ECHO_N "checking db.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: db.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: db.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: db.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: db.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: db.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: db.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: db.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: db.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: db.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: db.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: db.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: db.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: db.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: db.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: db.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: db.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for db.h" >&5 echo $ECHO_N "checking for db.h... $ECHO_C" >&6; } if test "${ac_cv_header_db_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_db_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 echo "${ECHO_T}$ac_cv_header_db_h" >&6; } fi if test $ac_cv_header_db_h = yes; then USE_DNS="yes" else USE_DNS="no"; { echo "$as_me:$LINENO: WARNING: db.h not found.. DNS/GeoDB code disabled!" >&5 echo "$as_me: WARNING: db.h not found.. DNS/GeoDB code disabled!" >&2;} fi fi if test "${USE_DNS}" = "yes"; then OPTS="-DUSE_DNS ${OPTS}" LIBS="-ldb ${LIBS}" WCMGR_LIBS="-ldb" { echo "$as_me:$LINENO: checking for fdatasync" >&5 echo $ECHO_N "checking for fdatasync... $ECHO_C" >&6; } if test "${ac_cv_func_fdatasync+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define fdatasync to an innocuous variant, in case declares fdatasync. For example, HP-UX 11i declares gettimeofday. */ #define fdatasync innocuous_fdatasync /* System header to define __stub macros and hopefully few prototypes, which can conflict with char fdatasync (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef fdatasync /* 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 fdatasync (); /* 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_fdatasync || defined __stub___fdatasync choke me #endif int main () { return fdatasync (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_fdatasync=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_fdatasync=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_fdatasync" >&5 echo "${ECHO_T}$ac_cv_func_fdatasync" >&6; } if test $ac_cv_func_fdatasync = yes; then DUMMY="" fi if test "$ac_cv_func_fdatasync" = "no"; then { echo "$as_me:$LINENO: checking for fdatasync in -lrt" >&5 echo $ECHO_N "checking for fdatasync in -lrt... $ECHO_C" >&6; } if test "${ac_cv_lib_rt_fdatasync+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 fdatasync (); int main () { return fdatasync (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_rt_fdatasync=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_rt_fdatasync=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_rt_fdatasync" >&5 echo "${ECHO_T}$ac_cv_lib_rt_fdatasync" >&6; } if test $ac_cv_lib_rt_fdatasync = yes; then LIBS="-lrt ${LIBS}";WCMGR_LIBS="-lrt ${WCMGR_LIBS}" fi fi { echo "$as_me:$LINENO: checking for socket" >&5 echo $ECHO_N "checking for socket... $ECHO_C" >&6; } if test "${ac_cv_func_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define socket to an innocuous variant, in case declares socket. For example, HP-UX 11i declares gettimeofday. */ #define socket innocuous_socket /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef socket /* 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 socket (); /* 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_socket || defined __stub___socket choke me #endif int main () { return socket (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_socket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_socket=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_socket" >&5 echo "${ECHO_T}$ac_cv_func_socket" >&6; } if test $ac_cv_func_socket = yes; then DUMMY="" else DUMMY="" fi if test "$ac_cv_func_socket" = "no"; then { echo "$as_me:$LINENO: checking for main in -lsocket" >&5 echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6; } if test "${ac_cv_lib_socket_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_socket_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5 echo "${ECHO_T}$ac_cv_lib_socket_main" >&6; } if test $ac_cv_lib_socket_main = yes; then LIBS="-lsocket ${LIBS}" fi fi for ac_header in sys/socket.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for inet_pton" >&5 echo $ECHO_N "checking for inet_pton... $ECHO_C" >&6; } if test "${ac_cv_func_inet_pton+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define inet_pton to an innocuous variant, in case declares inet_pton. For example, HP-UX 11i declares gettimeofday. */ #define inet_pton innocuous_inet_pton /* System header to define __stub macros and hopefully few prototypes, which can conflict with char inet_pton (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef inet_pton /* 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 inet_pton (); /* 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_inet_pton || defined __stub___inet_pton choke me #endif int main () { return inet_pton (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_inet_pton=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_inet_pton=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_inet_pton" >&5 echo "${ECHO_T}$ac_cv_func_inet_pton" >&6; } if test $ac_cv_func_inet_pton = yes; then DUMMY="" else DUMMY="" fi if test "$ac_cv_func_inet_pton" = "no"; then { echo "$as_me:$LINENO: checking for inet_pton in -lnsl" >&5 echo $ECHO_N "checking for inet_pton in -lnsl... $ECHO_C" >&6; } if test "${ac_cv_lib_nsl_inet_pton+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 inet_pton (); int main () { return inet_pton (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_nsl_inet_pton=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_nsl_inet_pton=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_inet_pton" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_inet_pton" >&6; } if test $ac_cv_lib_nsl_inet_pton = yes; then LIBS="-lnsl ${LIBS}" fi fi fi # Check whether --enable-bz2 was given. if test "${enable_bz2+set}" = set; then enableval=$enable_bz2; USE_BZIP="${enableval}" else USE_BZIP="no" fi # Check whether --with-bz2 was given. if test "${with_bz2+set}" = set; then withval=$with_bz2; S_BZ2="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}" fi # Check whether --with-bz2lib was given. if test "${with_bz2lib+set}" = set; then withval=$with_bz2lib; S_BZ2LIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}" fi if test "${USE_BZIP}" = "yes"; then { echo "$as_me:$LINENO: checking for main in -lbz2" >&5 echo $ECHO_N "checking for main in -lbz2... $ECHO_C" >&6; } if test "${ac_cv_lib_bz2_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbz2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_bz2_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bz2_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_main" >&5 echo "${ECHO_T}$ac_cv_lib_bz2_main" >&6; } if test $ac_cv_lib_bz2_main = yes; then USE_BZIP="yes" else USE_BZIP="no"; { echo "$as_me:$LINENO: WARNING: libbz2 not found.. bzip2 code will will be disabled!" >&5 echo "$as_me: WARNING: libbz2 not found.. bzip2 code will will be disabled!" >&2;} fi fi if test "${USE_BZIP}" = "yes"; then { echo "$as_me:$LINENO: checking for BZ2_bzopen in -lbz2" >&5 echo $ECHO_N "checking for BZ2_bzopen in -lbz2... $ECHO_C" >&6; } if test "${ac_cv_lib_bz2_BZ2_bzopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbz2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* 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 BZ2_bzopen (); int main () { return BZ2_bzopen (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_bz2_BZ2_bzopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bz2_BZ2_bzopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_BZ2_bzopen" >&5 echo "${ECHO_T}$ac_cv_lib_bz2_BZ2_bzopen" >&6; } if test $ac_cv_lib_bz2_BZ2_bzopen = yes; then USE_BZIP="yes" else USE_BZIP="no"; { echo "$as_me:$LINENO: WARNING: Old bz2 library found.. bzip2 code will be disabled!" >&5 echo "$as_me: WARNING: Old bz2 library found.. bzip2 code will be disabled!" >&2;} fi fi if test "${USE_BZIP}" = "yes"; then if test "${ac_cv_header_bzlib_h+set}" = set; then { echo "$as_me:$LINENO: checking for bzlib.h" >&5 echo $ECHO_N "checking for bzlib.h... $ECHO_C" >&6; } if test "${ac_cv_header_bzlib_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_bzlib_h" >&5 echo "${ECHO_T}$ac_cv_header_bzlib_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking bzlib.h usability" >&5 echo $ECHO_N "checking bzlib.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking bzlib.h presence" >&5 echo $ECHO_N "checking bzlib.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: bzlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: bzlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: bzlib.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: bzlib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: bzlib.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: bzlib.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: bzlib.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: bzlib.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: bzlib.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: bzlib.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: bzlib.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: bzlib.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: bzlib.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: bzlib.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: bzlib.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: bzlib.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for bzlib.h" >&5 echo $ECHO_N "checking for bzlib.h... $ECHO_C" >&6; } if test "${ac_cv_header_bzlib_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_bzlib_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_bzlib_h" >&5 echo "${ECHO_T}$ac_cv_header_bzlib_h" >&6; } fi if test $ac_cv_header_bzlib_h = yes; then USE_BZIP="yes" else USE_BZIP="no"; { echo "$as_me:$LINENO: WARNING: bzlib.h not found.. bzip2 code will be disabled!" >&5 echo "$as_me: WARNING: bzlib.h not found.. bzip2 code will be disabled!" >&2;} fi fi if test "${USE_BZIP}" = "yes"; then OPTS="-DUSE_BZIP ${OPTS}" LIBS="-lbz2 ${LIBS}" fi # Check whether --enable-geoip was given. if test "${enable_geoip+set}" = set; then enableval=$enable_geoip; USE_GEOIP="${enableval}" else USE_GEOIP="no" fi # Check whether --with-geoip was given. if test "${with_geoip+set}" = set; then withval=$with_geoip; S_GEOIP="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}" fi # Check whether --with-geoiplib was given. if test "${with_geoiplib+set}" = set; then withval=$with_geoiplib; S_GEOIPLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}" fi if test "${USE_GEOIP}" = "yes"; then { echo "$as_me:$LINENO: checking for main in -lGeoIP" >&5 echo $ECHO_N "checking for main in -lGeoIP... $ECHO_C" >&6; } if test "${ac_cv_lib_GeoIP_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGeoIP $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_GeoIP_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_GeoIP_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_GeoIP_main" >&5 echo "${ECHO_T}$ac_cv_lib_GeoIP_main" >&6; } if test $ac_cv_lib_GeoIP_main = yes; then USE_GEOIP="yes" else USE_GEOIP="no"; { echo "$as_me:$LINENO: WARNING: libGeoIP not found.. GeoIP code will be disabled!" >&5 echo "$as_me: WARNING: libGeoIP not found.. GeoIP code will be disabled!" >&2;} fi fi if test "${USE_GEOIP}" = "yes"; then if test "${ac_cv_header_GeoIP_h+set}" = set; then { echo "$as_me:$LINENO: checking for GeoIP.h" >&5 echo $ECHO_N "checking for GeoIP.h... $ECHO_C" >&6; } if test "${ac_cv_header_GeoIP_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_GeoIP_h" >&5 echo "${ECHO_T}$ac_cv_header_GeoIP_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking GeoIP.h usability" >&5 echo $ECHO_N "checking GeoIP.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking GeoIP.h presence" >&5 echo $ECHO_N "checking GeoIP.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: GeoIP.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: GeoIP.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: GeoIP.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: GeoIP.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: GeoIP.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: GeoIP.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: GeoIP.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: GeoIP.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: GeoIP.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: GeoIP.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: GeoIP.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: GeoIP.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: GeoIP.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: GeoIP.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: GeoIP.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: GeoIP.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for GeoIP.h" >&5 echo $ECHO_N "checking for GeoIP.h... $ECHO_C" >&6; } if test "${ac_cv_header_GeoIP_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_GeoIP_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_GeoIP_h" >&5 echo "${ECHO_T}$ac_cv_header_GeoIP_h" >&6; } fi if test $ac_cv_header_GeoIP_h = yes; then USE_GEOIP="yes" else USE_GEOIP="no"; { echo "$as_me:$LINENO: WARNING: GeoIP.h not found.. GeoIP code will be disabled!" >&5 echo "$as_me: WARNING: GeoIP.h not found.. GeoIP code will be disabled!" >&2;} fi fi if test "${USE_GEOIP}" = "yes"; then OPTS="-DUSE_GEOIP ${OPTS}" LIBS="-lGeoIP ${LIBS}" fi # Check whether --with-geodb was given. if test "${with_geodb+set}" = set; then withval=$with_geodb; GEODB_LOC="${withval}" else GEODB_LOC="/usr/share/GeoDB" fi # Check whether --enable-oldhash was given. if test "${enable_oldhash+set}" = set; then enableval=$enable_oldhash; OLDHASH=${enableval} else OLDHASH="no" fi if test "$OLDHASH" = "yes"; then OPTS="-DUSE_OLDHASH"; fi LANG_CACHE=yes # Check whether --with-language was given. if test "${with_language+set}" = set; then withval=$with_language; WEBALIZER_LANG="${withval}"; LANG_CACHE=no else LANG_CACHE=yes fi if test "$WEBALIZER_LANG" = "no"; then WEBALIZER_LANG=english; fi { echo "$as_me:$LINENO: checking for language file" >&5 echo $ECHO_N "checking for language file... $ECHO_C" >&6; } if test "$LANG_CACHE" = "yes"; then if test "${ac_cv_language+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_language=$DEFAULT_LANG fi WEBALIZER_LANG=$ac_cv_language fi if test -f lang/webalizer_lang.${WEBALIZER_LANG}; then { echo "$as_me:$LINENO: result: yes - ${WEBALIZER_LANG}" >&5 echo "${ECHO_T}yes - ${WEBALIZER_LANG}" >&6; } else if test -f lang/webalizer_lang.${DEFAULT_LANG}; then { echo "$as_me:$LINENO: result: '${WEBALIZER_LANG}' not found - using ${DEFAULT_LANG}" >&5 echo "${ECHO_T}'${WEBALIZER_LANG}' not found - using ${DEFAULT_LANG}" >&6; } WEBALIZER_LANG=${DEFAULT_LANG} else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } { { echo "$as_me:$LINENO: error: language files not found... fix before continuing" >&5 echo "$as_me: error: language files not found... fix before continuing" >&2;} { (exit 1); exit 1; }; } fi fi ac_cv_language=${WEBALIZER_LANG} ac_sources="lang/webalizer_lang.${WEBALIZER_LANG}" ac_dests="webalizer_lang.h" while test -n "$ac_sources"; do set $ac_dests; ac_dest=$1; shift; ac_dests=$* set $ac_sources; ac_source=$1; shift; ac_sources=$* ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source" done ac_config_links="$ac_config_links $ac_config_links_1" ac_config_files="$ac_config_files Makefile" 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_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" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 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=' 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= 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=`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. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $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} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## 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=: # Zsh 3.x and 4.x performs 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 # PATH needs CR # 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 # 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 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false 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.) as_nl=' ' 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 echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. 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 # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. 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" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); 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 } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 fi echo >conf$$.file 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 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=: 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 # 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 webalizer $as_me V2.23, which was generated by GNU Autoconf 2.61. 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 cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_links="$ac_config_links" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet 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 links: $config_links Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ webalizer config.status V2.23 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 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' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. 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=$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 ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) 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. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$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 if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "$ac_config_links_1") CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; 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_LINKS+set}" = set || CONFIG_LINKS=$config_links 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 '{ (exit 1); 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") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim OPTS!$OPTS$ac_delim WCMGR_LIBS!$WCMGR_LIBS$ac_delim DEFAULT_LANG!$DEFAULT_LANG$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim LN_S!$LN_S$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim GEODB_LOC!$GEODB_LOC$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 57; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ 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[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :L $CONFIG_LINKS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[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 || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$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 "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; 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 || 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" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`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 || 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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`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 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # 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= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF 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 sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;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 $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out 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"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 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 ;; :L) # # CONFIG_LINK # { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_file" >&5 echo "$as_me: linking $srcdir/$ac_source to $ac_file" >&6;} if test ! -r "$srcdir/$ac_source"; then { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5 echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;} { (exit 1); exit 1; }; } fi rm -f "$ac_file" # Try a relative symlink, then a hard link, then a copy. case $srcdir in [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;; *) ac_rel_source=$ac_top_build_prefix$srcdir/$ac_source ;; esac ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || ln "$srcdir/$ac_source" "$ac_file" 2>/dev/null || cp -p "$srcdir/$ac_source" "$ac_file" || { { echo "$as_me:$LINENO: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&5 echo "$as_me: error: cannot link or copy $srcdir/$ac_source to $ac_file" >&2;} { (exit 1); exit 1; }; } ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # 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 || { (exit 1); exit 1; } fi { echo "$as_me:$LINENO: Done. Type 'make' to continue with build." >&5 echo "$as_me: Done. Type 'make' to continue with build." >&6;} webalizer-2.23-05/configure.in0000644000175000017500000002417211510253130014556 0ustar bradbraddnl dnl The Webalizer - A web server log file analysis program dnl Copyright (C) 1997-2011 by Bradford L. Barrett dnl dnl configure.in template for The Webalizer Version 2.23 dnl Process this file with autoconf to produce a configure script. dnl AC_INIT(webalizer,V2.23) OPTS=${DEFS} LIBS=${LIBS} AC_SUBST(OPTS) AC_SUBST(WCMGR_LIBS) dnl ------------------------------------------ dnl default language (don't change!) dnl ------------------------------------------ DEFAULT_LANG="english" AC_SUBST(DEFAULT_LANG) dnl ------------------------------------------ dnl Checks for required programs. dnl ------------------------------------------ IN_CFLAGS=${CFLAGS} AC_PROG_CC AC_PROG_LN_S AC_PROG_INSTALL dnl ------------------------------------------ dnl check for platform specific settings dnl ------------------------------------------ AC_SYS_LARGEFILE AC_C_CHAR_UNSIGNED AC_CHECK_TYPE(u_int64_t, unsigned long long) AC_CHECK_DECL(altzone,OPTS="-DHAVE_ALTZONE ${OPTS}",,[#include ]) dnl ------------------------------------------ dnl force our own CFLAGS defaults if GCC dnl ------------------------------------------ if test "$GCC" = "yes"; then AC_ARG_ENABLE(static, [ --enable-static Build as static executable [[default=no]]], LDFLAGS="--static ${LDFLAGS}") if test "$IN_CFLAGS" = ""; then CFLAGS="-Wall -O2" fi if test "$ac_cv_c_char_unsigned" = "yes"; then CFLAGS="-fsigned-char ${CFLAGS}" fi AC_ARG_ENABLE(debug, [ --enable-debug Compile with debugging code [[default=no]]], CFLAGS="-g ${CFLAGS}") else if test "$IN_CFLAGS" = ""; then CFLAGS="-g" fi fi dnl ------------------------------------------ dnl check command line arguments dnl ------------------------------------------ AC_ARG_WITH(gd, [ --with-gd=DIR Alternate location for gd header files], S_GD="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}") AC_ARG_WITH(gdlib, [ --with-gdlib=DIR Alternate location for gd library], S_GDLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}") AC_ARG_WITH(png, [ --with-png=DIR Alternate location for png header files], S_PNG="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}") AC_ARG_WITH(pnglib, [ --with-pnglib=DIR Alternate location for png library], S_PNGLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}") AC_ARG_WITH(z, [ --with-z=DIR Alternate location for libz header files], S_Z="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}") AC_ARG_WITH(zlib, [ --with-zlib=DIR Alternate location for z library], S_ZLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}") AC_ARG_WITH(db, [ --with-db=DIR Alternate location for libdb header files], S_DB="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}") AC_ARG_WITH(dblib, [ --with-dblib=DIR Alternate location for db library], S_DBLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}") dnl ------------------------------------------ dnl these are needed on some platforms dnl ------------------------------------------ AC_CHECK_LIB(44bsd, main, LIBS="-l44bsd ${LIBS}") AC_CHECK_HEADERS(getopt.h) AC_CHECK_LIB(m, main, LIBS="-lm ${LIBS}"; HAVE_LIBM="1") if test "${HAVE_LIBM}" = "1"; then AC_CHECK_HEADERS(math.h) fi dnl ------------------------------------------ dnl ensure current libz is present - required! dnl ------------------------------------------ AC_CHECK_LIB(z, main, LIBZ="yes"; LIBS="-lz ${LIBS}") if test "${LIBZ}" = "yes"; then AC_CHECK_LIB(z, gzrewind,LIBZ="yes",LIBZ="no") if test "${LIBZ}" = "no"; then AC_MSG_ERROR(Old version of libz found.. please upgrade!) fi else AC_MSG_ERROR(z library not found.. please install libz) fi AC_CHECK_HEADER(zlib.h, HDR="yes", HDR="no") if test "${HDR}" = "no"; then AC_MSG_ERROR(zlib.h header not found.. please install) fi dnl ------------------------------------------ dnl ensure libpng is present - required! dnl ------------------------------------------ AC_CHECK_LIB(png, main, LIBPNG="yes"; LIBS="-lpng ${LIBS}",LIBPNG="no") if test "${LIBPNG}" = "no"; then AC_MSG_ERROR(png library not found.. please install libpng) fi dnl ------------------------------------------ dnl ensure libgd is present - required! dnl ------------------------------------------ AC_CHECK_LIB(gd, main, LIBGD="yes"; LIBS="-lgd ${LIBS}") if test "${LIBGD}" = "yes"; then AC_CHECK_LIB(gd, gdImagePng, LIBGD="yes", LIBGD="no") if test "${LIBGD}" = "no"; then AC_MSG_ERROR(Old version of libgd found.. please upgrade!) fi else AC_MSG_ERROR(gd library not found.. please install libgd) fi AC_CHECK_HEADER(gd.h, HDR="yes", HDR="no") if test "${HDR}" = "no"; then AC_MSG_ERROR(gd.h header not found.. please install) fi dnl ------------------------------------------ dnl DNS/GeoDB lookup specific tests dnl ------------------------------------------ AC_ARG_ENABLE(dns, [ --enable-dns Enable DNS/GeoDB lookup code [[default=yes]]], USE_DNS="${enableval}", USE_DNS="yes") if test "${USE_DNS}" = "yes"; then AC_CHECK_LIB(db, main, USE_DNS="yes", USE_DNS="no"; AC_MSG_WARN(libdb not found.. DNS/GeoDB code disabled!)) fi if test "${USE_DNS}" = "yes"; then AC_CHECK_HEADER(db.h, USE_DNS="yes", USE_DNS="no"; AC_MSG_WARN(db.h not found.. DNS/GeoDB code disabled!)) fi if test "${USE_DNS}" = "yes"; then dnl we have both library and header.. proceed OPTS="-DUSE_DNS ${OPTS}" LIBS="-ldb ${LIBS}" WCMGR_LIBS="-ldb" AC_CHECK_FUNC(fdatasync,DUMMY="") if test "$ac_cv_func_fdatasync" = "no"; then AC_CHECK_LIB(rt, fdatasync, LIBS="-lrt ${LIBS}";WCMGR_LIBS="-lrt ${WCMGR_LIBS}") fi AC_CHECK_FUNC(socket,DUMMY="",DUMMY="") if test "$ac_cv_func_socket" = "no"; then AC_CHECK_LIB(socket, main, LIBS="-lsocket ${LIBS}") fi AC_CHECK_HEADERS(sys/socket.h) AC_CHECK_FUNC(inet_pton,DUMMY="",DUMMY="") if test "$ac_cv_func_inet_pton" = "no"; then AC_CHECK_LIB(nsl,inet_pton, LIBS="-lnsl ${LIBS}") fi fi dnl ------------------------------------------ dnl BZip2 code specific tests dnl ------------------------------------------ AC_ARG_ENABLE(bz2, [ --enable-bz2 Enable BZip2 decompression code [[default=no]]], USE_BZIP="${enableval}", USE_BZIP="no") AC_ARG_WITH(bz2, [ --with-bz2=DIR Alternate location for bz2 header files], S_BZ2="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}") AC_ARG_WITH(bz2lib, [ --with-bz2lib=DIR Alternate location for bz2 library], S_BZ2LIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}") if test "${USE_BZIP}" = "yes"; then AC_CHECK_LIB(bz2, main, USE_BZIP="yes", USE_BZIP="no"; AC_MSG_WARN(libbz2 not found.. bzip2 code will will be disabled!)) fi if test "${USE_BZIP}" = "yes"; then AC_CHECK_LIB(bz2, BZ2_bzopen, USE_BZIP="yes", USE_BZIP="no"; AC_MSG_WARN(Old bz2 library found.. bzip2 code will be disabled!)) fi if test "${USE_BZIP}" = "yes"; then AC_CHECK_HEADER(bzlib.h, USE_BZIP="yes", USE_BZIP="no"; AC_MSG_WARN(bzlib.h not found.. bzip2 code will be disabled!)) fi if test "${USE_BZIP}" = "yes"; then dnl we have both library and header.. proceed OPTS="-DUSE_BZIP ${OPTS}" LIBS="-lbz2 ${LIBS}" fi dnl ------------------------------------------ dnl GeoIP code specific tests dnl ------------------------------------------ AC_ARG_ENABLE(geoip, [ --enable-geoip Enable GeoIP geolocation code [[default=no]]], USE_GEOIP="${enableval}", USE_GEOIP="no") AC_ARG_WITH(geoip, [ --with-geoip=DIR Alternate location for libGeoIP header files], S_GEOIP="${withval}"; CPPFLAGS="${CPPFLAGS} -I${withval}") AC_ARG_WITH(geoiplib, [ --with-geoiplib=DIR Alternate location for geoip library], S_GEOIPLIB="${withval}"; LDFLAGS="-L${withval} ${LDFLAGS}") if test "${USE_GEOIP}" = "yes"; then AC_CHECK_LIB(GeoIP, main, USE_GEOIP="yes", USE_GEOIP="no"; AC_MSG_WARN(libGeoIP not found.. GeoIP code will be disabled!)) fi if test "${USE_GEOIP}" = "yes"; then AC_CHECK_HEADER(GeoIP.h, USE_GEOIP="yes", USE_GEOIP="no"; AC_MSG_WARN(GeoIP.h not found.. GeoIP code will be disabled!)) fi if test "${USE_GEOIP}" = "yes"; then dnl we have both library and header.. proceed OPTS="-DUSE_GEOIP ${OPTS}" LIBS="-lGeoIP ${LIBS}" fi dnl ------------------------------------------ dnl check for default GeoDB directory dnl ------------------------------------------ AC_ARG_WITH(geodb, [ --with-geodb=DIR Default GeoDB data dir [[/usr/share/GeoDB]]], GEODB_LOC="${withval}", GEODB_LOC="/usr/share/GeoDB") AC_SUBST(GEODB_LOC) dnl ------------------------------------------ dnl check which hash function to use dnl ------------------------------------------ AC_ARG_ENABLE(oldhash, [ --enable-oldhash Use old hash function (slower) [[default=no]]], OLDHASH=${enableval}, OLDHASH="no") if test "$OLDHASH" = "yes"; then OPTS="-DUSE_OLDHASH"; fi dnl ------------------------------------------ dnl check language to use (default is english) dnl ------------------------------------------ LANG_CACHE=yes AC_ARG_WITH(language, [ --with-language=name Use language 'name' (default is english)], WEBALIZER_LANG="${withval}"; LANG_CACHE=no, LANG_CACHE=yes) if test "$WEBALIZER_LANG" = "no"; then WEBALIZER_LANG=english; fi dnl ------------------------------------------ dnl check if specfied language is valid dnl ------------------------------------------ AC_MSG_CHECKING(for language file) if test "$LANG_CACHE" = "yes"; then AC_CACHE_VAL(ac_cv_language, ac_cv_language=$DEFAULT_LANG) WEBALIZER_LANG=$ac_cv_language fi if test -f lang/webalizer_lang.${WEBALIZER_LANG}; then AC_MSG_RESULT(yes - ${WEBALIZER_LANG}) else if test -f lang/webalizer_lang.${DEFAULT_LANG}; then AC_MSG_RESULT('${WEBALIZER_LANG}' not found - using ${DEFAULT_LANG}) WEBALIZER_LANG=${DEFAULT_LANG} else AC_MSG_RESULT(no) AC_MSG_ERROR(language files not found... fix before continuing) fi fi ac_cv_language=${WEBALIZER_LANG} dnl ------------------------------------------ dnl create link to language file dnl ------------------------------------------ AC_LINK_FILES(lang/webalizer_lang.${WEBALIZER_LANG}, webalizer_lang.h) dnl ------------------------------------------ dnl done.. write out our Makefile dnl ------------------------------------------ AC_OUTPUT(Makefile) AC_MSG_NOTICE(Done. Type 'make' to continue with build.) webalizer-2.23-05/country-codes.txt0000644000175000017500000001305611016706757015626 0ustar bradbradac Ascension Island ad Andorra ae United Arab Emirates af Afghanistan ag Antigua and Barbuda ai Anguilla al Albania am Armenia an Netherlands Antilles ao Angola aq Antarctica ar Argentina as American Samoa at Austria au Australia aw Aruba ax Aland Islands az Azerbaijan ba Bosnia and Herzegovina bb Barbados bd Bangladesh be Belgium bf Burkina Faso bg Bulgaria bh Bahrain bi Burundi bj Benin bl Saint Barthelemy bm Bermuda bn Brunei Darussalam bo Bolivia br Brazil bs Bahamas bt Bhutan bv Bouvet Island bw Botswana by Belarus bz Belize ca Canada cc Cocos (Keeling) Islands cd Congo, Democratic Republic cf Central African Republic cg Congo ch Switzerland ci Cote D'Ivoire (Ivory Coast) ck Cook Islands cl Chile cm Cameroon cn China co Colombia cr Costa Rica cu Cuba cv Cape Verde cx Christmas Island cy Cyprus cz Czech Republic de Germany dj Djibouti dk Denmark dm Dominica do Dominican Republic dz Algeria ec Ecuador ee Estonia eg Egypt eh Western Sahara er Eritrea es Spain et Ethiopia eu European Union fi Finland fj Fiji fk Falkland Islands (Malvinas) fm Micronesia fo Faroe Islands fr France ga Gabon gb Great Britain (UK) gd Grenada ge Georgia gf French Guiana gg Guernsey gh Ghana gi Gibraltar gl Greenland gm Gambia gn Guinea gp Guadeloupe gq Equatorial Guinea gr Greece gs S. Georgia and S. Sandwich Isls. gt Guatemala gu Guam gw Guinea-Bissau gy Guyana hk Hong Kong hm Heard and McDonald Islands hn Honduras hr Croatia ht Haiti hu Hungary id Indonesia ie Ireland il Israel im Isle of Man in India io British Indian Ocean Territory iq Iraq ir Iran is Iceland it Italy je Jersey jm Jamaica jo Jordan jp Japan ke Kenya kg Kyrgyzstan kh Cambodia ki Kiribati km Comoros kn Saint Kitts and Nevis kp Korea, Democratic Republic of kr Korea, Republic of kw Kuwait ky Cayman Islands kz Kazakhstan la Laos lb Lebanon lc Saint Lucia li Liechtenstein lk Sri Lanka lr Liberia ls Lesotho lt Lithuania lu Luxembourg lv Latvia ly Libya ma Morocco mc Monaco md Moldova me Montenegro mf Saint Martin (French part) mg Madagascar mh Marshall Islands mk Macedonia ml Mali mm Myanmar mn Mongolia mo Macau mp Northern Mariana Islands mq Martinique mr Mauritania ms Montserrat mt Malta mu Mauritius mv Maldives mw Malawi mx Mexico my Malaysia mz Mozambique na Namibia nc New Caledonia ne Niger nf Norfolk Island ng Nigeria ni Nicaragua nl Netherlands no Norway np Nepal nr Nauru nu Niue nz New Zealand (Aotearoa) om Oman pa Panama pe Peru pf French Polynesia pg Papua New Guinea ph Philippines pk Pakistan pl Poland pm St. Pierre and Miquelon pn Pitcairn pr Puerto Rico ps Palestinian Territory, Occupied pt Portugal pw Palau py Paraguay qa Qatar re Reunion ro Romania rs Serbia ru Russian Federation rw Rwanda sa Saudi Arabia sb Solomon Islands sc Seychelles sd Sudan se Sweden sg Singapore sh St. Helena si Slovenia sj Svalbard and Jan Mayen Islands sk Slovakia sl Sierra Leone sm San Marino sn Senegal so Somalia sr Suriname st Sao Tome and Principe su Soviet Union sv El Salvador sy Syrian Arab Republic sz Swaziland tc Turks and Caicos Islands td Chad tf French Southern Territories tg Togo th Thailand tj Tajikistan tk Tokelau tl Timor-Leste tm Turkmenistan tn Tunisia to Tonga tp Portuguese Timor tr Turkey tt Trinidad and Tobago tv Tuvalu tw Taiwan tz Tanzania ua Ukraine ug Uganda uk United Kingdom um US Minor Outlying Islands us United States uy Uruguay uz Uzbekistan va Vatican City State (Holy See) vc Saint Vincent and the Grenadines ve Venezuela vg Virgin Islands (British) vi Virgin Islands (U.S.) vn Viet Nam vu Vanuatu wf Wallis and Futuna Islands ws Samoa ye Yemen yt Mayotte yu Yugoslavia za South Africa zm Zambia zw Zimbabwe com US Commercial (com) edu US Educational (edu) gov US Government (gov) int International (int) mil US Military (mil) net Network (net) org Non-Profit Organization (org) biz Generic Business (biz) cat Catalan Community (cat) pro Professional (pro) tel Ind. Contact Data (tel) aero Air Transport Industry (aero) asia Asia Pacific Community (asia) coop Cooperative Association (coop) info Generic TLD (info) jobs Human Resources (jobs) mobi Generic Mobile TLD (mobi) name Individual (name) arpa Address Routing (arpa) nato Nato field (nato) museum Museums (museum) travel Travel Ind. (travel) a1 Anonymous Proxy a2 Satellite Provider o1 Other ap Asia/Pacific Region lan Local Network (lan) webalizer-2.23-05/dns_resolv.c0000644000175000017500000006452511510252664014610 0ustar bradbrad/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include #include #include #include #include #include /* normal stuff */ #include #include #include /* ensure sys/types */ #ifndef _SYS_TYPES_H #include #endif /* Need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif /* some systems need this */ #ifdef HAVE_MATH_H #include #endif #ifdef USE_DNS /* skip everything in this file if no DNS */ #include /* include stuff we need for dns lookups, */ #include /* DB access, file control, etc... */ #include #include /* ensure getaddrinfo/getnameinfo */ #include #include #include #include #include #include /* DB header ****************/ #include "webalizer.h" /* main header */ #include "lang.h" /* language declares */ #include "hashtab.h" /* hash table functions */ #include "parser.h" /* log parser functions */ #include "dns_resolv.h" /* our header */ /* local data */ DB *dns_db = NULL; /* DNS cache database */ int dns_fd = 0; DB *geo_db = NULL; /* GeoDB database */ DBC *geo_dbc = NULL; /* GeoDB database cursor */ struct dns_child child[MAXCHILD]; /* DNS child pipe data */ DNODEPTR host_table[MAXHASH]; /* hostname/ip hash table */ char buffer[BUFSIZE]; /* log file record buffer */ char tmp_buf[BUFSIZE]; /* used to temp save above */ struct utsname system_info; /* system info structure */ int raiseSigChild = 1; time_t runtime; time_t start_time, end_time; float temp_time; extern char *our_gzgets(void *, char *, int); /* external our_gzgets func */ /* internal function prototypes */ static void process_list(DNODEPTR); static void sigChild(int); static void db_put(char *, char *, int); void set_fl(int, int); void clr_fl(int, int); int iptype(char *, unsigned char *); /*********************************************/ /* RESOLVE_DNS - lookup IP in cache */ /*********************************************/ void resolve_dns(struct log_struct *log_rec) { DBT query, response; int i; /* aligned dnsRecord to prevent Solaris from doing a dump */ /* (not found in debugger, as it can dereference it :( */ struct dnsRecord alignedRecord; if (!dns_db) return; /* ensure we have a dns db */ memset(&query, 0, sizeof(query)); memset(&response, 0, sizeof(response)); query.data = log_rec->hostname; query.size = strlen(log_rec->hostname); if (debug_mode) fprintf(stderr,"Checking %s...", log_rec->hostname); if ( (i=dns_db->get(dns_db, NULL, &query, &response, 0)) == 0) { memcpy(&alignedRecord, response.data, sizeof(struct dnsRecord)); strncpy (log_rec->hostname, ((struct dnsRecord *)response.data)->hostName, MAXHOST); log_rec->hostname[MAXHOST-1]=0; if (debug_mode) fprintf(stderr," found: %s (%ld)\n", log_rec->hostname, alignedRecord.timeStamp); } else /* not found or error occured during get */ { if (debug_mode) { if (i==DB_NOTFOUND) fprintf(stderr," not found\n"); else fprintf(stderr," error (%d)\n",i); } } } /*********************************************/ /* DNS_RESOLVER - read log and lookup IP's */ /*********************************************/ int dns_resolver(void *log_fp) { DNODEPTR h_entries; DNODEPTR l_list = NULL; int i; int save_verbose=verbose; u_int64_t listEntries = 0; struct sigaction sigPipeAction; struct stat dbStat; /* aligned dnsRecord to prevent Solaris from doing a dump */ /* (not found in debugger, as it can dereference it :( */ struct dnsRecord alignedRecord; struct flock tmp_flock; tmp_flock.l_whence=SEEK_SET; /* default flock fields */ tmp_flock.l_start=0; tmp_flock.l_len=0; tmp_flock.l_pid=0; time(&runtime); /* get processing start time */ start_time = time(NULL); /* minimal sanity check on it */ if(stat(dns_cache, &dbStat) < 0) { if(errno != ENOENT) { dns_cache=NULL; dns_db=NULL; return 0; /* disable cache */ } } else { if(!dbStat.st_size) /* bogus file, probably from a crash */ { unlink(dns_cache); /* remove it so we can recreate... */ } } /* open cache file */ if ( (db_create(&dns_db, NULL, 0) != 0) || (dns_db->open(dns_db, NULL, dns_cache, NULL, DB_HASH, DB_CREATE, 0644) != 0) ) { /* Error: Unable to open DNS cache file */ if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nodb,dns_cache); dns_cache=NULL; dns_db=NULL; return 0; /* disable cache */ } /* get file descriptor */ dns_db->fd(dns_db, &dns_fd); tmp_flock.l_type=F_WRLCK; /* set read/write lock type */ if (fcntl(dns_fd,F_SETLK,&tmp_flock) < 0) /* and barf if we cant lock */ { /* Error: Unable to lock DNS cache file */ if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nolk,dns_cache); dns_db->close(dns_db, 0); dns_cache=NULL; dns_db=NULL; return 0; /* disable cache */ } /* Setup signal handlers */ sigPipeAction.sa_handler = SIG_IGN; sigPipeAction.sa_flags = SA_RESTART; sigemptyset(&sigPipeAction.sa_mask); sigaction(SIGPIPE, &sigPipeAction, NULL); /* disable warnings/errors for this run... */ verbose=0; /* Main loop to read log records (either regular or zipped) */ while ( (gz_log)?(our_gzgets((void *)log_fp,buffer,BUFSIZE) != Z_NULL): (fgets(buffer,BUFSIZE,log_fname?(FILE *)log_fp:stdin) != NULL)) { if (strlen(buffer) == (BUFSIZE-1)) { /* get the rest of the record */ while ( (gz_log)?(our_gzgets((void *)log_fp,buffer,BUFSIZE)!=Z_NULL): (fgets(buffer,BUFSIZE,log_fname?(FILE *)log_fp:stdin)!=NULL)) { if (strlen(buffer) < BUFSIZE-1) break; } continue; /* go get next record if any */ } strcpy(tmp_buf, buffer); /* save buffer in case of error */ if(parse_record(buffer)) /* parse the record */ { struct addrinfo hints, *ares; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_NUMERICHOST; if (0 == getaddrinfo(log_rec.hostname, "0", &hints, &ares)) { DBT q, r; memset(&q, 0, sizeof(q)); memset(&r, 0, sizeof(r)); q.data = log_rec.hostname; q.size = strlen(log_rec.hostname); /* Check if we have it in DB */ if ( (i=dns_db->get(dns_db, NULL, &q, &r, 0)) == 0 ) { /* have a record for this address */ memcpy(&alignedRecord, r.data, sizeof(struct dnsRecord)); if (alignedRecord.timeStamp != 0) /* If it's not permanent, check if it's TTL has expired */ if ( (runtime-alignedRecord.timeStamp ) > (86400*cache_ttl) ) put_dnode(log_rec.hostname, ares->ai_addr, ares->ai_addrlen, host_table); } else { if (i==DB_NOTFOUND) put_dnode(log_rec.hostname, ares->ai_addr, ares->ai_addrlen, host_table); } freeaddrinfo(ares); } } } verbose = save_verbose; /* restore verbosity level... */ listEntries = 0; /* build our linked list l_list */ for(i=0;i < MAXHASH; i++) { for(h_entries=host_table[i]; h_entries ; h_entries = h_entries->next) { h_entries->llist = l_list; l_list = h_entries; listEntries++; } } if(!l_list) { /* No valid addresses found... */ if (verbose>1) printf("%s\n",msg_dns_none); tmp_flock.l_type=F_UNLCK; fcntl(dns_fd, F_SETLK, &tmp_flock); dns_db->close(dns_db, 0); return 0; } /* process our list now... */ process_list(l_list); /* get processing end time */ end_time = time(NULL); /* display DNS processing statistics */ if (time_me || (verbose>1)) { if (verbose<2 && time_me) printf("DNS: "); printf("%llu %s ",listEntries, msg_addresses); /* total processing time in seconds */ temp_time = difftime(end_time,start_time); if (temp_time==0) temp_time=1; printf("%s %.0f %s", msg_in, temp_time, msg_seconds); /* calculate records per second */ if (temp_time) i=( (int)((float)listEntries/temp_time) ); else i=0; if ( (i>0) && (i<=listEntries) ) printf(", %d/sec\n", i); else printf("\n"); } /* processing done, exit */ tmp_flock.l_type=F_UNLCK; fcntl(dns_fd, F_SETLK, &tmp_flock); dns_db->close(dns_db, 0); return 0; } /*********************************************/ /* PROCESS_LIST - do the resoluton... */ /*********************************************/ static void process_list(DNODEPTR l_list) { DNODEPTR trav; char child_buf[MAXHOST+3-((unsigned long)&trav+sizeof(trav))%3]; char dns_buf[MAXHOST]; int i; int pid; int nof_children = 0; fd_set rd_set; char hbuf[NI_MAXHOST]; struct sigaction sigChildAction; sigChildAction.sa_handler = sigChild; sigChildAction.sa_flags = SA_NOCLDSTOP|SA_RESTART; sigemptyset(&sigChildAction.sa_mask); raiseSigChild = 0; sigaction(SIGCHLD, &sigChildAction, NULL); /* fire up our child processes */ for(i=0; i < dns_children; i++) { if(pipe(child[i].inpipe)) { if (verbose) fprintf(stderr,"INPIPE creation error"); return; /* exit(1) */ } if(pipe(child[i].outpipe)) { if (verbose) fprintf(stderr,"OUTPIPE creation error"); return; /* exit(1); */ } /* fork it off */ switch(pid=fork()) { case -1: { if (verbose) fprintf(stderr,"FORK error"); return; /* exit(1); */ } case 0: /* Child */ { int size; close(child[i].inpipe[0]); close(child[i].outpipe[1]); /* get struct sockaddr_storage here */ while((size = read(child[i].outpipe[0], child_buf, MAXHOST))) { if(size < 0) { perror("read error"); exit(1); } else { /* Clear out our buffer */ memset(hbuf,0,NI_MAXHOST); if(0 == getnameinfo((struct sockaddr*)child_buf, size, hbuf, sizeof(hbuf), NULL, 0, NI_NAMEREQD)) { /* must be at least 4 chars */ if (strlen(hbuf)>3) { /* If long hostname, take max domain name part */ if ((size = strlen(hbuf)) > MAXHOST-2) strcpy(child_buf,(hbuf+(size-MAXHOST+1))); else strcpy(child_buf, hbuf); size = strlen(child_buf); } else { if (debug_mode) printf("Child %d getnameinfo bad hbuf!\n",i); } } else { if(debug_mode) printf("Child %d getnameinfo failed!\n",i); } if (write(child[i].inpipe[1], child_buf, size) == -1) { perror("write error"); exit(1); } } } close(child[i].inpipe[1]); close(child[i].outpipe[0]); if(debug_mode) printf( "Child %d got closed input, shutting down\n", i); fflush(stdout); exit(0); } /* case 0 */ default: { child[i].pid = pid; child[i].flags = DNS_CHILD_READY|DNS_CHILD_RUNNING; nof_children++; close(child[i].inpipe[1]); close(child[i].outpipe[0]); set_fl(child[i].inpipe[0], O_NONBLOCK); } } } trav = l_list; while(nof_children) { static struct timeval selectTimeval; int res; int max_fd; FD_ZERO(&rd_set); max_fd = 0; if(raiseSigChild) { int pid; while((pid = waitpid(-1, NULL, WNOHANG)) > 0) { for(i=0;iaddr, trav->addrlen) != -1) { /* We will watch this child */ child[i].cur = trav; FD_SET(child[i].inpipe[0], &rd_set); max_fd = MAX(max_fd, child[i].inpipe[0]); if(debug_mode) printf("Giving %d bytes to Child %d\n", trav->addrlen, i); trav = trav->llist; } else /* write error */ { if(errno != EINTR) /* Could be a signal */ { perror("Could not write to pipe"); close(child[i].outpipe[1]); /* kill */ child[i].flags &= ~DNS_CHILD_RUNNING; /* child */ } } } else /* List is complete */ { close(child[i].outpipe[1]); /* Go away */ child[i].flags &= ~DNS_CHILD_RUNNING; /* Child is dead */ } } else { /* Look, the busy child... */ FD_SET(child[i].inpipe[0], &rd_set); max_fd = MAX(max_fd, child[i].inpipe[0]); } } } selectTimeval.tv_sec = 5; /* This stuff ticks in 5 second intervals */ selectTimeval.tv_usec = 0; switch(res = select(max_fd+1, &rd_set, NULL, NULL, &selectTimeval)) { case -1: { if(errno != EINTR) /* Could be a signal */ perror("Error in select"); break; } case 0: /* Timeout, just fall once through the child loop */ { if(debug_mode) printf("tick\n"); break; } default: { for(i=0; i< dns_children;i++) { if(!res) /* All file descriptors done */ break; if(FD_ISSET(child[i].inpipe[0], &rd_set)) { int size; res--; /* One less... */ switch (size=read(child[i].inpipe[0], dns_buf, MAXHOST)) { case -1: { if(errno != EINTR) perror("Could not read from pipe"); break; } case 0: { /* EOF. Child has closed Pipe. It shouldn't have */ /* done that, could be an error or something. */ /* Reap it */ close(child[i].outpipe[1]); child[i].flags &= ~DNS_CHILD_RUNNING; if(debug_mode) printf("Child %d wants to be reaped\n", i); break; } default: { dns_buf[size] = '\0'; if( strlen(dns_buf) > 1 && memcmp(dns_buf, &(child[i].cur->addr), sizeof(child[i].cur->addr))) { if(debug_mode) printf("Child %d Got a result: %s -> %s\n", i, child[i].cur->string, dns_buf); db_put(child[i].cur->string, dns_buf, 0); } else { if(debug_mode) printf("Child %d could not resolve: %s (%s)\n", i, child[i].cur->string, (cache_ips)?"cache":"no cache"); if (cache_ips) /* Cache non-resolved? */ db_put(child[i].cur->string, child[i].cur->string,1); } if(debug_mode) printf("Child %d back in task pool\n", i); /* Child is back in the task pool */ child[i].flags |= DNS_CHILD_READY; break; } } } } break; } } } return; } /*********************************************/ /* SET_FL - set flag on pipe FD */ /*********************************************/ void set_fl(int fd, int flags) { int val; /* get current flags */ if ((val=fcntl(fd, F_GETFL, 0)) < 0) if (verbose) fprintf(stderr,"set_fl F_GETFL error\n"); /* set them */ val |= flags; /* and write them back */ if ((val=fcntl(fd, F_SETFL, val)) < 0) if (verbose) fprintf(stderr,"set_fl F_SETFL error\n"); } /*********************************************/ /* CLR_FL - clear flag on pipe FD */ /*********************************************/ void clr_fl(int fd, int flags) { int val; /* Get current flags */ if ((val=fcntl(fd, F_GETFL, 0)) < 0) if (verbose) fprintf(stderr,"clr_fl F_GETFL error\n"); /* set them */ val &= ~flags; /* and write them back */ if ((val=fcntl(fd, F_SETFL, val)) < 0) if (verbose) fprintf(stderr,"clr_fl F_SETFL error\n"); } /*********************************************/ /* DB_PUT - put key/val in the cache db */ /*********************************************/ static void db_put(char *key, char *value, int numeric) { DBT k, v; char *cp; struct dnsRecord *recPtr = NULL; int nameLen = strlen(value)+1; /* Align to multiple of eight bytes */ int recSize = (sizeof(struct dnsRecord)+nameLen+7) & ~0x7; /* make sure we have a db ;) */ if(dns_db) { if((recPtr = calloc(1, recSize))) { recPtr->timeStamp = runtime; recPtr->numeric = numeric; memcpy(&recPtr->hostName, value, nameLen); memset(&k, 0, sizeof(k)); memset(&v, 0, sizeof(v)); /* Ensure all data is lowercase */ cp=key; while (*cp++!='\0') *cp=tolower(*cp); cp=value; while (*cp++!='\0') *cp=tolower(*cp); k.data = key; k.size = strlen(key); v.size = recSize; v.data = recPtr; if ( dns_db->put(dns_db, NULL, &k, &v, 0) != 0 ) if (verbose>1) fprintf(stderr,"db_put fail!\n"); free(recPtr); } } } /*********************************************/ /* SIGCHILD - raise our signal */ /*********************************************/ static void sigChild(int signum) { raiseSigChild++; } /*********************************************/ /* OPEN_CACHE - open our cache file RDONLY */ /*********************************************/ int open_cache() { struct stat dbStat; struct flock tmp_flock; tmp_flock.l_whence=SEEK_SET; /* default flock fields */ tmp_flock.l_start=0; tmp_flock.l_len=0; tmp_flock.l_pid=0; tmp_flock.l_type=F_RDLCK; /* double check filename was specified */ if(!dns_cache) { dns_db=NULL; return 0; } /* minimal sanity check on it */ if(stat(dns_cache, &dbStat) < 0) { if(errno != ENOENT) return 0; } else { if(!dbStat.st_size) /* bogus file, probably from a crash */ { unlink(dns_cache); /* remove it so we can recreate... */ } } /* open cache file */ if ( (db_create(&dns_db, NULL, 0) != 0) || (dns_db->open(dns_db, NULL, dns_cache, NULL, DB_HASH, DB_RDONLY, 0644) != 0) ) { /* Error: Unable to open DNS cache file */ if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nodb,dns_cache); return 0; /* disable cache */ } /* get file descriptor */ dns_db->fd(dns_db, &dns_fd); /* Get shared lock on cache file */ if (fcntl(dns_fd, F_SETLK, &tmp_flock) < 0) { if (verbose) fprintf(stderr,"%s %s\n",msg_dns_nolk,dns_cache); dns_db->close(dns_db, 0); return 0; } return 1; } /*********************************************/ /* CLOSE_CACHE - close our RDONLY cache */ /*********************************************/ int close_cache() { struct flock tmp_flock; tmp_flock.l_whence=SEEK_SET; /* default flock fields */ tmp_flock.l_start=0; tmp_flock.l_len=0; tmp_flock.l_pid=0; tmp_flock.l_type=F_UNLCK; /* clear lock and close cache file */ fcntl(dns_fd, F_SETLK, &tmp_flock); dns_db->close(dns_db, 0); return 1; } /*********************************************/ /* GEODB_OPEN - Open GeoDB database/cursor */ /*********************************************/ DB *geodb_open(char *dbname) { char buf[1025]; if (dbname==NULL) snprintf(buf,sizeof(buf),"%s/GeoDB.dat",GEODB_LOC); else strncpy(buf,dbname,sizeof(buf)-1); buf[sizeof(buf)-1]='\0'; /* create database thingie */ if ( db_create(&geo_db, NULL, 0) ) return NULL; /* open the database */ if (geo_db->open(geo_db,NULL,buf,NULL,DB_BTREE,DB_RDONLY,0)) return NULL; /* create our cursor */ if (geo_db->cursor(geo_db,NULL,&geo_dbc,0)) { geo_db->close(geo_db,0); return NULL; } /* all is well in the world */ return geo_db; } /*********************************************/ /* GEODB_VER - Get database version info */ /*********************************************/ char *geodb_ver(DB *db, char *str) { int i; DBT k,v; unsigned char x[16]; memset(&x, 0, sizeof(x)); memset(&k, 0, sizeof(k)); memset(&v, 0, sizeof(v)); k.data=&x; k.size=sizeof(x); i=geo_db->get(geo_db, NULL, &k, &v, 0); if (i) strncpy(str, "Unknown", 8); else strncpy(str, v.data+3, v.size-3); return str; } /*********************************************/ /* GEODB_GET_CC - Get country code for IP */ /*********************************************/ char *geodb_get_cc(DB *db, char *ip, char *buf) { int i; DBT k,v; unsigned char addr[16]; memset(addr, 0, sizeof(addr)); strncpy(buf, "--", 3); /* get IP address */ if (!iptype(ip, addr)) return buf; /* kludge for IPv6 mapped IPv4 */ if (addr[0]==0 && addr[1]==0 && addr[2]==0) { addr[10]=0; addr[11]=0; } /* kludge for IPv6 6to4 (RFC3056) */ if (addr[0]==0x20 && addr[1]==0x02) { memcpy(&addr[12],&addr[2],4); memset(&addr,0,12); } memset(&k, 0, sizeof(k)); memset(&v, 0, sizeof(v)); k.data=&addr; k.size=sizeof(addr); i=geo_dbc->c_get(geo_dbc, &k, &v, DB_SET_RANGE); if (!i) memcpy(buf, v.data, 2); return buf; } /*********************************************/ /* GEODB_CLOSE - close GeoDB database */ /*********************************************/ void geodb_close(DB *db) { db->close(db,0); } /*********************************************/ /* IPTYPE - get IP type and format addr buf */ /*********************************************/ int iptype(char *ip, unsigned char *buf) { if (inet_pton(AF_INET6, ip, buf)>0) return 2; if (inet_pton(AF_INET, ip, buf+12)>0) return 1; else return 0; } #endif /* USE_DNS */ webalizer-2.23-05/dns_resolv.h0000644000175000017500000000252111032254167014600 0ustar bradbrad#ifndef _DNS_RESOLV_H #define _DNS_RESOLV_H #ifdef USE_DNS /* skip whole file if not using DNS stuff... */ struct dnsRecord { time_t timeStamp; /* Timestamp of resolv data */ int numeric; /* 0: Name, 1: IP-address */ char hostName[1]; }; /* Hostname (var length) */ struct dns_child /* Defines the communication with a DNS child */ { int inpipe[2]; /* Pipe Child -> Father */ int outpipe[2]; /* Pipe Father -> Child */ int pid; /* PID of Child */ int flags; /* see below */ struct dnode *cur; /* Currently processed node */ }; extern void resolve_dns(struct log_struct *); extern DB *dns_db; extern int dns_fd; extern int dns_resolver(void *); extern int open_cache(); extern int close_cache(); extern DB *geo_db; extern DB *geodb_open(char *); extern char *geodb_ver(DB *, char *); extern char *geodb_get_cc(DB *, char *, char *); extern void geodb_close(DB *); #define DNS_CHILD_READY 0x1 /* Our child flags */ #define DNS_CHILD_RUNNING 0x2 #define MAXCHILD 100 /* Maximum number of DNS children */ #ifndef GEODB_LOC #define GEODB_LOC "/usr/share/GeoDB" #endif #endif /* USE_DNS */ #endif /* _DNS_RESOLV_H */ webalizer-2.23-05/graphs.c0000644000175000017500000007473011510252672013714 0ustar bradbrad/* graphs.c - produces graphs used by the Webalizer Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ #include #include #include #include #include #include #include #include #include #include /* need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif #include "webalizer.h" #include "preserve.h" #include "lang.h" #include "graphs.h" /* Some systems don't define this */ #ifndef PI #define PI 3.14159265358979323846 #endif #define HITCOLOR hit_or_green /* graph color - hits */ #define FILECOLOR file_or_blue /* files */ #define SITECOLOR site_or_orange /* sites */ #define KBYTECOLOR kbyte_or_red /* KBytes */ #define PAGECOLOR page_or_cyan /* Files */ #define VISITCOLOR visit_or_yellow /* Visits */ /* shortcuts to convert ASCII hex color for gdImageColorAllocate() */ #define getred(s) (ashex2int((s[0] == '#')?s+1:s)) /* returns the red base-10 integer value from a html color */ #define getgreen(s) (ashex2int((s[0] == '#')?s+3:s+2)) /* returns the green base-10 integer value from a html color */ #define getblue(s) (ashex2int((s[0] == '#')?s+5:s+4)) /* returns the blue base-10 integer value from a html color */ #define CX 156 /* center x (for pie) */ #define CY 150 /* center y (chart) */ #define XRAD 240 /* X-axis radius */ #define YRAD 200 /* Y-axis radius */ /* forward reference internal routines */ void init_graph(char *, int, int); struct pie_data *calc_arc(float, float); int ashex2int(char *); /* common public declarations */ char *numchar[] = { " 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","25","26","27","28","29","30","31"}; gdImagePtr im; /* image buffer */ FILE *out; /* output file for PNG */ struct stat out_stat; /* stat struct for PNG */ char maxvaltxt[32]; /* graph values */ float percent; /* percent storage */ u_int64_t julday; /* julday value */ struct pie_data { int x; int y; /* line x,y */ int mx; int my; }; /* midpoint x,y */ /* colors */ int black, white, grey, dkgrey, kbyte_or_red, file_or_blue, site_or_orange, hit_or_green, page_or_cyan, visit_or_yellow, blue; /*****************************************************************/ /* */ /* YEAR_GRAPH6x - Year graph from array of hist_rec structs */ /* */ /*****************************************************************/ int year_graph6x(char *fname, char *title, struct hist_rec data[HISTSIZE]) { /* local variables */ int i,j,x1,y1,x2; int s_mth,s_year=0; float cw,cs,co,ci; u_int64_t maxval=1; double fmaxval=0.0; /* initalize the graph */ init_graph(title,512,256); /* init as 512 x 256 */ gdImageLine(im, 305,25,305,233,black); /* draw section lines */ gdImageLine(im, 304,25,304,233,white); gdImageLine(im, 305,130,490,130,black); gdImageLine(im, 305,129,490,129,white); /* index lines? */ if (graph_lines) { y1=210/(graph_lines+1); for (i=0;i28) { /* format the year string */ sprintf(maxvaltxt, "%04d", data[i].year); gdImageString(im,gdFontSmall,ci+((i-s_mth)*cs)+(j/2)-12, 236, (unsigned char *)maxvaltxt, black); } s_year=data[i].year; } } if (data[i].hit > maxval) maxval = data[i].hit; if (data[i].files > maxval) maxval = data[i].files; if (data[i].page > maxval) maxval = data[i].page; } if (maxval <= 0) maxval = 1; sprintf(maxvaltxt, "%llu", maxval); gdImageStringUp(im,gdFontSmall,6,26+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt,black); /* hits */ for (i=s_mth; i2) gdImageRectangle(im, x1, y1, x2, 232, black); } /* files */ for (i=s_mth; i2) gdImageRectangle(im, x1, y1, x2, 232, black); } /* pages */ for (i=s_mth; i2) gdImageRectangle(im, x1, y1, x2, 232, black); } maxval=0; for (i=s_mth; i maxval) maxval = data[i].site; if (data[i].visit > maxval) maxval = data[i].visit; } if (maxval <= 0) maxval = 1; sprintf(maxvaltxt, "%llu", maxval); gdImageStringUp(im, gdFontSmall,493,26+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt, black); cs = 180.0/graph_mths; cw = cs/2; co = (48/graph_mths<1)?1:48/graph_mths; ci = 308+((cw-co)/2); /* visits */ for (i=s_mth; i2) gdImageRectangle(im, x1, y1, x2, 127, black); } /* sites */ for (i=s_mth; i2) gdImageRectangle(im, x1, y1, x2, 127, black); } fmaxval=0.0; for (i=s_mth; i fmaxval) fmaxval = data[i].xfer; if (fmaxval <= 0.0) fmaxval = 1.0; sprintf(maxvaltxt, "%.0f", fmaxval); gdImageStringUp(im, gdFontSmall,493,130+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt,black); cs = 180.0/graph_mths; cw = (cs/2)+(co/2); ci = 308+((cw-co)/2); /* xfer */ for (i=s_mth; i2) gdImageRectangle(im, x1, y1, x2, 232, black); } /* stat the file */ if ( !(lstat(fname, &out_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(out_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname); return(EBADF); } } /* save PNG image */ if ((out = fopen(fname, "wb")) != NULL) { gdImagePng(im, out); fclose(out); } /* deallocate memory */ gdImageDestroy(im); return (0); } /*****************************************************************/ /* */ /* MONTH_GRAPH6 - Month graph with six data sets */ /* */ /*****************************************************************/ #define YSIZE 400 int month_graph6( char *fname, /* filename */ char *title, /* graph title */ int month, /* graph month */ int year, /* graph year */ u_int64_t data1[31], /* data1 (hits) */ u_int64_t data2[31], /* data2 (files) */ u_int64_t data3[31], /* data3 (sites) */ double data4[31], /* data4 (kbytes) */ u_int64_t data5[31], /* data5 (views) */ u_int64_t data6[31]) /* data6 (visits) */ { /* local variables */ int i,j,s,x1,y1,x2; u_int64_t maxval=0; double fmaxval=0.0; /* calc julian date for month */ julday = (jdate(1, month,year) % 7); /* initalize the graph */ init_graph(title,512,400); gdImageLine(im, 21, 180, 490, 180, black); /* draw section lines */ gdImageLine(im, 21, 179, 490, 179, white); gdImageLine(im, 21, 280, 490, 280, black); gdImageLine(im, 21, 279, 490, 279, white); /* index lines? */ if (graph_lines) { y1=154/(graph_lines+1); for (i=0;i maxval) maxval = data1[i]; /* get max val */ if (data2[i] > maxval) maxval = data2[i]; if (data5[i] > maxval) maxval = data5[i]; } if (maxval <= 0) maxval = 1; sprintf(maxvaltxt, "%llu", maxval); gdImageStringUp(im, gdFontSmall,8,26+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt,black); if (graph_legend) /* Print color coded legends? */ { /* Kbytes Legend */ gdImageStringUp(im,gdFontSmall,494,376, (unsigned char *)msg_h_xfer,dkgrey); gdImageStringUp(im,gdFontSmall,493,375, (unsigned char *)msg_h_xfer,KBYTECOLOR); /* Sites/Visits Legend */ i = (strlen(msg_h_sites)*6); gdImageStringUp(im,gdFontSmall,494,276, (unsigned char *)msg_h_sites,dkgrey); gdImageStringUp(im,gdFontSmall,493,275, (unsigned char *)msg_h_sites,SITECOLOR); gdImageStringUp(im,gdFontSmall,494,276-i-3,(unsigned char *)"/",dkgrey); gdImageStringUp(im,gdFontSmall,493,275-i-3,(unsigned char *)"/",black); gdImageStringUp(im,gdFontSmall,494,276-i-12, (unsigned char *)msg_h_visits,dkgrey); gdImageStringUp(im,gdFontSmall,493,275-i-12, (unsigned char *)msg_h_visits,VISITCOLOR); /* Pages/Files/Hits Legend */ s = ( i=(strlen(msg_h_pages)*6) )+ ( j=(strlen(msg_h_files)*6) )+ ( strlen(msg_h_hits)*6 )+ 52; gdImageStringUp(im,gdFontSmall,494,s, (unsigned char *)msg_h_pages,dkgrey); gdImageStringUp(im,gdFontSmall,493,s-1, (unsigned char *)msg_h_pages,PAGECOLOR); gdImageStringUp(im,gdFontSmall,494,s-i-3,(unsigned char *)"/",dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-4,(unsigned char *)"/",black); gdImageStringUp(im,gdFontSmall,494,s-i-12, (unsigned char *)msg_h_files,dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-13, (unsigned char *)msg_h_files,FILECOLOR); gdImageStringUp(im,gdFontSmall,494,s-i-j-15,(unsigned char *)"/",dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-j-16,(unsigned char *)"/",black); gdImageStringUp(im,gdFontSmall,494,s-i-j-24, (unsigned char *)msg_h_hits,dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-j-25, (unsigned char *)msg_h_hits,HITCOLOR); } /* data1 */ for (i=0; i<31; i++) { percent = ((float)data1[i] / (float)maxval); if (percent <= 0.0) continue; x1 = 25 + (i*15); x2 = x1 + 7; y1 = 176 - (percent * 147); gdImageFilledRectangle(im, x1, y1, x2, 176, HITCOLOR); gdImageRectangle(im, x1, y1, x2, 176, black); } /* data2 */ for (i=0; i<31; i++) { percent = ((float)data2[i] / (float)maxval); if (percent <= 0.0) continue; x1 = 27 + (i*15); x2 = x1 + 7; y1 = 176 - (percent * 147); gdImageFilledRectangle(im, x1, y1, x2, 176, FILECOLOR); gdImageRectangle(im, x1, y1, x2, 176, black); } /* data5 */ for (i=0; i<31; i++) { if (data5[i]==0) continue; percent = ((float)data5[i] / (float)maxval); if (percent <= 0.0) continue; x1 = 29 + (i*15); x2 = x1 + 7; y1 = 176 - (percent * 147); gdImageFilledRectangle(im, x1, y1, x2, 176, PAGECOLOR); gdImageRectangle(im, x1, y1, x2, 176, black); } /* sites / visits */ maxval=0; for (i=0; i<31; i++) { if (data3[i]>maxval) maxval = data3[i]; if (data6[i]>maxval) maxval = data6[i]; } if (maxval <= 0) maxval = 1; sprintf(maxvaltxt, "%llu", maxval); gdImageStringUp(im, gdFontSmall,8,180+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt, black); /* data 6 */ for (i=0; i<31; i++) { percent = ((float)data6[i] / (float)maxval); if (percent <= 0.0) continue; x1 = 25 + (i*15); x2 = x1 + 8; y1 = 276 - (percent * 92); gdImageFilledRectangle(im, x1, y1, x2, 276, VISITCOLOR); gdImageRectangle(im, x1, y1, x2, 276, black); } /* data 3 */ for (i=0; i<31; i++) { percent = ((float)data3[i] / (float)maxval); if (percent <= 0.0) continue; x1 = 29 + (i*15); x2 = x1 + 7; y1 = 276 - (percent * 92); gdImageFilledRectangle(im, x1, y1, x2, 276, SITECOLOR); gdImageRectangle(im, x1, y1, x2, 276, black); } /* data4 */ fmaxval=0.0; for (i=0; i<31; i++) if (data4[i]>fmaxval) fmaxval = data4[i]; if (fmaxval <= 0.0) fmaxval = 1.0; sprintf(maxvaltxt, "%.0f", fmaxval/1024); gdImageStringUp(im, gdFontSmall,8,280+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt, black); for (i=0; i<31; i++) { percent = data4[i] / fmaxval; if (percent <= 0.0) continue; x1 = 26 + (i*15); x2 = x1 + 10; y1 = 375 - ( percent * 91 ); gdImageFilledRectangle(im, x1, y1, x2, 375, KBYTECOLOR); gdImageRectangle(im, x1, y1, x2, 375, black); } /* stat the file */ if ( !(lstat(fname, &out_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(out_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname); return(EBADF); } } /* save PNG image */ if ((out = fopen(fname, "wb")) != NULL) { gdImagePng(im, out); fclose(out); } /* deallocate memory */ gdImageDestroy(im); return (0); } /*****************************************************************/ /* */ /* DAY_GRAPH3 - Day graph with three data sets */ /* */ /*****************************************************************/ int day_graph3( char *fname, char *title, u_int64_t data1[24], u_int64_t data2[24], u_int64_t data3[24]) { /* local variables */ int i,j,s,x1,y1,x2; u_int64_t maxval=0; /* initalize the graph */ init_graph(title,512,256); /* index lines? */ if (graph_lines) { y1=210/(graph_lines+1); for (i=0;i maxval) maxval = data1[i]; /* get max val */ if (data2[i] > maxval) maxval = data2[i]; if (data3[i] > maxval) maxval = data3[i]; } if (maxval <= 0) maxval = 1; sprintf(maxvaltxt, "%llu", maxval); gdImageStringUp(im, gdFontSmall, 8, 26+(strlen(maxvaltxt)*6), (unsigned char *)maxvaltxt, black); if (graph_legend) /* print color coded legends? */ { /* Pages/Files/Hits Legend */ s = ( i=(strlen(msg_h_pages)*6) )+ ( j=(strlen(msg_h_files)*6) )+ ( strlen(msg_h_hits)*6 )+ 52; gdImageStringUp(im,gdFontSmall,494,s, (unsigned char *)msg_h_pages,dkgrey); gdImageStringUp(im,gdFontSmall,493,s-1, (unsigned char *)msg_h_pages,PAGECOLOR); gdImageStringUp(im,gdFontSmall,494,s-i-3,(unsigned char *)"/",dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-4,(unsigned char *)"/",black); gdImageStringUp(im,gdFontSmall,494,s-i-12, (unsigned char *)msg_h_files,dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-13, (unsigned char *)msg_h_files,FILECOLOR); gdImageStringUp(im,gdFontSmall,494,s-i-j-15,(unsigned char *)"/",dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-j-16,(unsigned char *)"/",black); gdImageStringUp(im,gdFontSmall,494,s-i-j-24, (unsigned char *)msg_h_hits,dkgrey); gdImageStringUp(im,gdFontSmall,493,s-i-j-25, (unsigned char *)msg_h_hits,HITCOLOR); } /* data1 */ for (i=0; i<24; i++) { percent = ((float)data1[i] / (float)maxval); /* percent of 100% */ if (percent <= 0.0) continue; x1 = 29 + (i*19); x2 = x1 + 10; y1 = 232 - (percent * 203); gdImageFilledRectangle(im, x1, y1, x2, 232, HITCOLOR); gdImageRectangle(im, x1, y1, x2, 232, black); } /* data2 */ for (i=0; i<24; i++) { percent = ((float)data2[i] / (float)maxval); /* percent of 100% */ if (percent <= 0.0) continue; x1 = 32 + (i*19); x2 = x1 + 10; y1 = 232 - (percent * 203); gdImageFilledRectangle(im, x1, y1, x2, 232, FILECOLOR); gdImageRectangle(im, x1, y1, x2, 232, black); } /* data3 */ for (i=0; i<24; i++) { percent = ((float)data3[i] / (float)maxval); /* percent of 100% */ if (percent <= 0.0) continue; x1 = 35 + (i*19); x2 = x1 + 10; y1 = 232 - (percent * 203); gdImageFilledRectangle(im, x1, y1, x2, 232, PAGECOLOR); gdImageRectangle(im, x1, y1, x2, 232, black); } /* stat the file */ if ( !(lstat(fname, &out_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(out_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname); return(EBADF); } } /* save PNG image */ if ((out = fopen(fname, "wb")) != NULL) { gdImagePng(im, out); fclose(out); } /* deallocate memory */ gdImageDestroy(im); return (0); } /*****************************************************************/ /* */ /* PIE_CHART - draw a pie chart (10 data items max) */ /* */ /*****************************************************************/ int pie_chart(char *fname, char *title, u_int64_t t_val, u_int64_t data1[], char *legend[]) { int i,x,percent,y=47; double s_arc=0.0; int purple_or_pie1, ltgreen_or_pie2, ltpurple_or_pie3, brown_or_pie4; int r, g, b; char buffer[128]; struct pie_data gdata; /* init graph and colors */ init_graph(title,512,300); r=getred(pie_color1); g=getgreen(pie_color1); b=getblue(pie_color1); purple_or_pie1 = gdImageColorAllocate(im, r, g, b); r=getred(pie_color2); g=getgreen(pie_color2); b=getblue(pie_color2); ltgreen_or_pie2 = gdImageColorAllocate(im, r, g, b); r=getred(pie_color3); g=getgreen(pie_color3); b=getblue(pie_color3); ltpurple_or_pie3= gdImageColorAllocate(im, r, g, b); r=getred(pie_color4); g=getgreen(pie_color4); b=getblue(pie_color4); brown_or_pie4 = gdImageColorAllocate(im, r, g, b); /* do the circle... */ gdImageArc(im, CX, CY, XRAD, YRAD, 0, 360, black); gdImageArc(im, CX, CY+10, XRAD-2, YRAD-2, 2, 178, black); gdImageFillToBorder(im, CX, CY+(YRAD/2)+1, black, black); /* slice the pie */ gdata=*calc_arc(0.0,0.0); gdImageLine(im,CX,CY,gdata.x,gdata.y,black); /* inital line */ for (i=0;i<10;i++) /* run through data array */ { if ((data1[i]!=0)&&(s_arc<1.0)) /* make sure valid slice */ { percent=(((double)data1[i]/t_val)+0.005)*100.0; if (percent<1) break; if (s_arc+((double)percent/100.0)>=1.0) { gdata=*calc_arc(s_arc,1.0); s_arc=1.0; } else { gdata=*calc_arc(s_arc,s_arc+((double)percent/100.0)); s_arc+=(double)percent/100.0; } gdImageLine(im, CX, CY, gdata.x, gdata.y, black); gdImageFill(im, gdata.mx, gdata.my, i+5); snprintf(buffer,sizeof(buffer),"%s (%d%%)",legend[i], percent); x=480-(strlen(buffer)*7); gdImageString(im,gdFontMediumBold, x+1, y+1, (unsigned char *)buffer, black); gdImageString(im,gdFontMediumBold, x, y, (unsigned char *)buffer, i+5); y+=20; } } if (s_arc < 1.0) /* anything left over? */ { gdata=*calc_arc(s_arc,1.0); gdImageFill(im, gdata.mx, gdata.my, white); snprintf(buffer,sizeof(buffer),"%s (%d%%)", msg_h_other,100-(int)(s_arc*100)); x=480-(strlen(buffer)*7); gdImageString(im,gdFontMediumBold, x+1, y+1, (unsigned char *)buffer, black); gdImageString(im,gdFontMediumBold, x, y, (unsigned char *)buffer, white); } /* stat the file */ if ( !(lstat(fname, &out_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(out_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,fname); return(EBADF); } } /* save PNG image */ if ((out = fopen(fname, "wb")) != NULL) { gdImagePng(im, out); fclose(out); } /* deallocate memory */ gdImageDestroy(im); return (0); } /*****************************************************************/ /* */ /* CALC_ARC - generate x,y coordinates for pie chart */ /* */ /*****************************************************************/ struct pie_data *calc_arc(float min, float max) { static struct pie_data data; double d; /* Calculate max line */ d=max; data.x=cos(d*(2*PI))*((XRAD-2)/2)+CX; data.y=sin(d*(2*PI))*((YRAD-2)/2)+CY; /* Now get mid-point */ d=((min+max)/2); data.mx=cos(d*(2*PI))*(XRAD/3)+CX; data.my=sin(d*(2*PI))*(YRAD/3)+CY; return &data; } /*****************************************************************/ /* */ /* INIT_GRAPH - initalize graph and draw borders */ /* */ /*****************************************************************/ void init_graph(char *title, int xsize, int ysize) { int i, r, g, b; im = gdImageCreate(xsize,ysize); /* allocate color maps, background color first (grey) */ grey = gdImageColorAllocate(im, 192, 192, 192); dkgrey = gdImageColorAllocate(im, 128, 128, 128); black = gdImageColorAllocate(im, 0, 0, 0); white = gdImageColorAllocate(im, 255, 255, 255); blue = gdImageColorAllocate(im, 0, 0, 255); r=getred(hit_color); g=getgreen(hit_color); b=getblue(hit_color); hit_or_green = gdImageColorAllocate(im, r, g, b); r=getred(site_color); g=getgreen(site_color); b=getblue(site_color); site_or_orange = gdImageColorAllocate(im, r, g, b); r=getred(file_color); g=getgreen(file_color); b=getblue(file_color); file_or_blue = gdImageColorAllocate(im, r, g, b); r=getred(kbyte_color); g=getgreen(kbyte_color); b=getblue(kbyte_color); kbyte_or_red = gdImageColorAllocate(im, r, g, b); r=getred(page_color); g=getgreen(page_color); b=getblue(page_color); page_or_cyan = gdImageColorAllocate(im, r, g, b); r=getred(visit_color); g=getgreen(visit_color); b=getblue(visit_color); visit_or_yellow = gdImageColorAllocate(im, r, g, b); /* black outside border */ gdImageRectangle(im, 0, 0, xsize-1, ysize-1, black); /* do shadow effect (bevel) border */ for (i=1; i<5 ;i++) { gdImageLine(im, i, i, xsize-i-2, i, white); gdImageLine(im, i, i, i, ysize-i-2, white); gdImageLine(im, i+1, ysize-i-1, xsize-i-1, ysize-i-1, dkgrey); gdImageLine(im, xsize-i-1, i+1, xsize-i-1, ysize-i-1, dkgrey); } /* generic inside shadow box */ gdImageRectangle(im, 20, 25, xsize-21, ysize-21, black); gdImageRectangle(im, 19, 24, xsize-22, ysize-22, white); /* display the graph title */ gdImageString(im, gdFontMediumBold, 20, 8, (unsigned char *)title, blue); return; } /****************************************************************/ /* */ /* ASHEX2INT - ASCII HEX TO INT CONVERTER */ /* */ /****************************************************************/ int ashex2int(char *str) { /* returns base-10 integer value from a 2 ASCII hex number */ return from_hex(str[1])+(from_hex(str[0])*16); } webalizer-2.23-05/graphs.h0000644000175000017500000000063611020476106013707 0ustar bradbrad#ifndef _GRAPHS_H #define _GRAPHS_H extern int month_graph6(char *, char *, int, int, u_int64_t *, u_int64_t *, u_int64_t *, double *, u_int64_t *, u_int64_t *); extern int year_graph6x(char *, char *, struct hist_rec *); extern int day_graph3(char *, char *, u_int64_t *, u_int64_t *, u_int64_t *); extern int pie_chart(char *, char *, u_int64_t, u_int64_t *, char **); #endif /* _GRAPHS_H */ webalizer-2.23-05/hashtab.c0000644000175000017500000007641011512462505014037 0ustar bradbrad/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include #include #include #include #include /* normal stuff */ #include #include /* ensure sys/types */ #ifndef _SYS_TYPES_H #include #endif /* some need for uint* */ #ifdef HAVE_STDINT_H #include #endif /* need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif /* some systems need this */ #ifdef HAVE_MATH_H #include #endif #include "webalizer.h" /* main header */ #include "lang.h" #include "linklist.h" #include "hashtab.h" /* internal function prototypes */ HNODEPTR new_hnode(char *); /* new host node */ UNODEPTR new_unode(char *); /* new url node */ RNODEPTR new_rnode(char *); /* new referrer node */ ANODEPTR new_anode(char *); /* new user agent node */ SNODEPTR new_snode(char *); /* new search string.. */ INODEPTR new_inode(char *); /* new ident node */ #ifdef USE_DNS DNODEPTR new_dnode(char *); /* new DNS node */ #endif /* USE_DNS */ void update_entry(char *); /* update entry/exit */ void update_exit(char *); /* page totals */ unsigned int hash(char *); /* hash function */ /* local data */ HNODEPTR sm_htab[MAXHASH]; /* hash tables */ HNODEPTR sd_htab[MAXHASH]; UNODEPTR um_htab[MAXHASH]; /* for hits, sites, */ RNODEPTR rm_htab[MAXHASH]; /* referrers and agents... */ ANODEPTR am_htab[MAXHASH]; SNODEPTR sr_htab[MAXHASH]; /* search string table */ INODEPTR im_htab[MAXHASH]; /* ident table (username) */ #ifdef USE_DNS DNODEPTR host_table[MAXHASH]; /* DNS hash table */ #endif /* USE_DNS */ /* Last node pointers */ HNODEPTR lm_hnode=NULL; HNODEPTR ld_hnode=NULL; RNODEPTR l_rnode=NULL; /*********************************************/ /* DEL_HTABS - clear out our hash tables */ /*********************************************/ void del_htabs() { del_hlist(sd_htab); /* Clear out our various */ del_ulist(um_htab); /* hash tables here by */ del_hlist(sm_htab); /* calling the appropriate */ del_rlist(rm_htab); /* del_* fuction for each */ del_alist(am_htab); del_slist(sr_htab); del_ilist(im_htab); #ifdef USE_DNS /* del_dlist(host_table); */ /* delete DNS hash table */ #endif /* USE_DNS */ } /*********************************************/ /* NEW_HNODE - create host node */ /*********************************************/ HNODEPTR new_hnode(char *str) { HNODEPTR newptr; char *sptr; if (strlen(str) >= MAXHOST) { if (verbose) { fprintf(stderr,"[new_hnode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXHOST-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL ) return (HNODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct hnode))) != NULL) { newptr->string =sptr; newptr->visit =0; newptr->tstamp =0; newptr->lasturl =blank_str; } else free(sptr); return newptr; } /*********************************************/ /* PUT_HNODE - insert/update host node */ /*********************************************/ int put_hnode( char *str, /* Hostname */ int type, /* obj type */ u_int64_t count, /* hit count */ u_int64_t file, /* File flag */ double xfer, /* xfer size */ u_int64_t *ctr, /* counter */ u_int64_t visit, /* visits */ u_int64_t tstamp,/* timestamp */ char *lasturl, /* lasturl */ HNODEPTR *htab) /* ptr>next */ { HNODEPTR cptr,nptr; unsigned int hval; /* check if hashed */ hval=hash(str); if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_hnode(str)) != NULL) { if (htab==sm_htab) lm_hnode=nptr; else ld_hnode=nptr; nptr->flag = type; nptr->count = count; nptr->files = file; nptr->xfer = xfer; nptr->next = NULL; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; if (visit) { nptr->visit=(visit-1); nptr->lasturl=find_url(lasturl); nptr->tstamp=tstamp; return 0; } else { if (ispage(log_rec.url)) { if (htab==sm_htab) update_entry(log_rec.url); nptr->lasturl=find_url(log_rec.url); nptr->tstamp=tstamp; nptr->visit=1; } } } } else { /* hashed (SPEEDUP) */ if (htab==sm_htab) { if (lm_hnode!=NULL && strcmp(lm_hnode->string,str)==0) cptr=lm_hnode; } else { if (ld_hnode!=NULL && strcmp(ld_hnode->string,str)==0) cptr=ld_hnode; } while (cptr != NULL) { if (strcmp(cptr->string,str)==0) { if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP))) { /* found... bump counter */ cptr->count+=count; cptr->files+=file; cptr->xfer +=xfer; if (ispage(log_rec.url)) { if ((tstamp-cptr->tstamp)>=visit_timeout) { cptr->visit++; if (htab==sm_htab) { update_exit(cptr->lasturl); update_entry(log_rec.url); } } cptr->lasturl=find_url(log_rec.url); cptr->tstamp=tstamp; } if (htab==sm_htab) lm_hnode=cptr; else ld_hnode=cptr; return 0; } } cptr = cptr->next; } /* not found... */ if ( (nptr = new_hnode(str)) != NULL) { if (htab==sm_htab) lm_hnode=nptr; else ld_hnode=nptr; nptr->flag = type; nptr->count = count; nptr->files = file; nptr->xfer = xfer; nptr->next = htab[hval]; htab[hval]=nptr; if (type!=OBJ_GRP) (*ctr)++; if (visit) { nptr->visit = (visit-1); nptr->lasturl=find_url(lasturl); nptr->tstamp= tstamp; return 0; } else { if (ispage(log_rec.url)) { if (htab==sm_htab) update_entry(log_rec.url); nptr->lasturl=find_url(log_rec.url); nptr->tstamp= tstamp; nptr->visit=1; } } } } if (nptr!=NULL) { /* set object type */ if (type==OBJ_GRP) nptr->flag=OBJ_GRP; /* is it a grouping? */ else { /* check if it's a hidden object */ if ((hide_sites)||(isinlist(hidden_sites,nptr->string)!=NULL)) nptr->flag=OBJ_HIDE; if (htab==sm_htab) lm_hnode=nptr; else ld_hnode=nptr; } } return nptr==NULL; } /*********************************************/ /* DEL_HLIST - delete host hash table */ /*********************************************/ void del_hlist(HNODEPTR *htab) { /* free memory used by hash table */ HNODEPTR aptr,temp; int i; for (i=0;inext; free (aptr->string); /* free hostname string space */ free (aptr); /* free hostname structure */ aptr = temp; } htab[i]=NULL; } } lm_hnode=NULL; ld_hnode=NULL; } /*********************************************/ /* NEW_UNODE - URL node creation */ /*********************************************/ UNODEPTR new_unode(char *str) { UNODEPTR newptr; char *sptr; if (strlen(str) >= MAXURLH) { if (verbose) { fprintf(stderr,"[new_unode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXURLH-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL) return (UNODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct unode))) != NULL) { newptr->string=sptr; newptr->count = 0; newptr->flag = OBJ_REG; } else free(sptr); return newptr; } /*********************************************/ /* PUT_UNODE - insert/update URL node */ /*********************************************/ int put_unode(char *str, int type, u_int64_t count, double xfer, u_int64_t *ctr, u_int64_t entry, u_int64_t exit, UNODEPTR *htab) { UNODEPTR cptr,nptr; unsigned int hval; if (str[0]=='-') return 0; hval = hash(str); /* check if hashed */ if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_unode(str)) != NULL) { nptr->flag = type; nptr->count= count; nptr->xfer = xfer; nptr->next = NULL; nptr->entry= entry; nptr->exit = exit; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; } } else { /* hashed */ while (cptr != NULL) { if (strcmp(cptr->string,str)==0) { if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP))) { /* found... bump counter */ cptr->count+=count; cptr->xfer += xfer; return 0; } } cptr = cptr->next; } /* not found... */ if ( (nptr = new_unode(str)) != NULL) { nptr->flag = type; nptr->count= count; nptr->xfer = xfer; nptr->next = htab[hval]; nptr->entry= entry; nptr->exit = exit; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; } } if (nptr!=NULL) { if (type==OBJ_GRP) nptr->flag=OBJ_GRP; else if (isinlist(hidden_urls,nptr->string)!=NULL) nptr->flag=OBJ_HIDE; } return nptr==NULL; } /*********************************************/ /* DEL_ULIST - delete URL hash table */ /*********************************************/ void del_ulist(UNODEPTR *htab) { /* free memory used by hash table */ UNODEPTR aptr,temp; int i; for (i=0;inext; free (aptr->string); /* free up URL string memory */ free (aptr); /* free up URL struct node */ aptr = temp; } htab[i]=NULL; } } } /*********************************************/ /* NEW_RNODE - Referrer node creation */ /*********************************************/ RNODEPTR new_rnode(char *str) { RNODEPTR newptr; char *sptr; if (strlen(str) >= MAXREFH) { if (verbose) { fprintf(stderr,"[new_rnode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXREFH-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL ) return (RNODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct rnode))) != NULL) { newptr->string= sptr; newptr->count = 1; newptr->flag = OBJ_REG; } else free(sptr); return newptr; } /*********************************************/ /* PUT_RNODE - insert/update referrer node */ /*********************************************/ int put_rnode(char *str, int type, u_int64_t count, u_int64_t *ctr, RNODEPTR *htab) { RNODEPTR cptr,nptr; unsigned int hval; if (str[0]=='-') strcpy(str,"- (Direct Request)"); hval = hash(str); /* check if hashed */ if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_rnode(str)) != NULL) { nptr->flag = type; nptr->count = count; nptr->next = NULL; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; } } else { /* hashed (SPEEDUP) */ if (l_rnode!=NULL && strcmp(l_rnode->string,str)==0) cptr=l_rnode; while (cptr != NULL) { if (strcmp(cptr->string,str)==0) { if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP))) { /* found... bump counter */ cptr->count+=count; return 0; } } cptr = cptr->next; } /* not found... */ if ( (nptr = new_rnode(str)) != NULL) { nptr->flag = type; nptr->count = count; nptr->next = htab[hval]; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; } } if (nptr!=NULL) { if (type==OBJ_GRP) nptr->flag=OBJ_GRP; else if (isinlist(hidden_refs,nptr->string)!=NULL) nptr->flag=OBJ_HIDE; l_rnode=nptr; } return nptr==NULL; } /*********************************************/ /* DEL_RLIST - delete referrer hash table */ /*********************************************/ void del_rlist(RNODEPTR *htab) { /* free memory used by hash table */ RNODEPTR aptr,temp; int i; for (i=0;inext; free (aptr->string); free (aptr); aptr = temp; } htab[i]=NULL; } } l_rnode=NULL; } /*********************************************/ /* NEW_ANODE - User Agent node creation */ /*********************************************/ ANODEPTR new_anode(char *str) { ANODEPTR newptr; char *sptr; if (strlen(str) >= MAXAGENT) { if (verbose) { fprintf(stderr,"[new_anode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXAGENT-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL ) return (ANODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct anode))) != NULL) { newptr->string= sptr; newptr->count = 1; newptr->flag = OBJ_REG; } else free(sptr); return newptr; } /*********************************************/ /* PUT_ANODE - insert/update user agent node */ /*********************************************/ int put_anode(char *str, int type, u_int64_t count, u_int64_t *ctr, ANODEPTR *htab) { ANODEPTR cptr,nptr; unsigned int hval; if (str[0]=='-') return 0; /* skip bad user agents */ hval = hash(str); /* check if hashed */ if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_anode(str)) != NULL) { nptr->flag = type; nptr->count= count; nptr->next = NULL; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; } } else { /* hashed */ while (cptr != NULL) { if (strcmp(cptr->string,str)==0) { if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP))) { /* found... bump counter */ cptr->count+=count; return 0; } } cptr = cptr->next; } /* not found... */ if ( (nptr = new_anode(str)) != NULL) { nptr->flag = type; nptr->count = count; nptr->next = htab[hval]; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; } } if (type==OBJ_GRP) nptr->flag=OBJ_GRP; else if (isinlist(hidden_agents,nptr->string)!=NULL) nptr->flag=OBJ_HIDE; return nptr==NULL; } /*********************************************/ /* DEL_ALIST - delete user agent hash table */ /*********************************************/ void del_alist(ANODEPTR *htab) { /* free memory used by hash table */ ANODEPTR aptr,temp; int i; for (i=0;inext; free (aptr->string); free (aptr); aptr = temp; } htab[i]=NULL; } } } /*********************************************/ /* NEW_SNODE - Search str node creation */ /*********************************************/ SNODEPTR new_snode(char *str) { SNODEPTR newptr; char *sptr; if (strlen(str) >= MAXSRCHH) { if (verbose) { fprintf(stderr,"[new_snode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXSRCHH-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL ) return (SNODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct snode))) != NULL) { newptr->string= sptr; newptr->count = 1; } else free(sptr); return newptr; } /*********************************************/ /* PUT_SNODE - insert/update search str node */ /*********************************************/ int put_snode(char *str, u_int64_t count, SNODEPTR *htab) { SNODEPTR cptr,nptr; unsigned int hval; if (str[0]==0 || str[0]==' ') return 0; /* skip bad search strs */ hval=hash(str); /* check if hashed */ if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_snode(str)) != NULL) { nptr->count = count; nptr->next = NULL; htab[hval] = nptr; } } else { /* hashed */ while (cptr != NULL) { if (strcmp(cptr->string,str)==0) { /* found... bump counter */ cptr->count+=count; return 0; } cptr = cptr->next; } /* not found... */ if ( (nptr = new_snode(str)) != NULL) { nptr->count = count; nptr->next = htab[hval]; htab[hval] = nptr; } } return nptr==NULL; } /*********************************************/ /* DEL_SLIST - delete search str hash table */ /*********************************************/ void del_slist(SNODEPTR *htab) { /* free memory used by hash table */ SNODEPTR aptr,temp; int i; for (i=0;inext; free (aptr->string); free (aptr); aptr = temp; } htab[i]=NULL; } } } /*********************************************/ /* NEW_INODE - create ident (username) node */ /*********************************************/ INODEPTR new_inode(char *str) { INODEPTR newptr; char *sptr; if (strlen(str) >= MAXIDENT) { if (verbose) { fprintf(stderr,"[new_inode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXIDENT-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL ) return (INODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct inode))) != NULL) { newptr->string =sptr; newptr->visit =1; newptr->tstamp =0; } else free(sptr); return newptr; } /*********************************************/ /* PUT_INODE - insert/update ident node */ /*********************************************/ int put_inode( char *str, /* ident str */ int type, /* obj type */ u_int64_t count, /* hit count */ u_int64_t file, /* File flag */ double xfer, /* xfer size */ u_int64_t *ctr, /* counter */ u_int64_t visit, /* visits */ u_int64_t tstamp,/* timestamp */ INODEPTR *htab) /* hashtable */ { INODEPTR cptr,nptr; unsigned int hval; if ((str[0]=='-') || (str[0]==0)) return 0; /* skip if no username */ hval = hash(str); /* check if hashed */ if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_inode(str)) != NULL) { nptr->flag = type; nptr->count = count; nptr->files = file; nptr->xfer = xfer; nptr->next = NULL; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; if (visit) { nptr->visit=(visit-1); nptr->tstamp=tstamp; return 0; } else { if (ispage(log_rec.url)) nptr->tstamp=tstamp; } } } else { /* hashed */ while (cptr != NULL) { if (strcmp(cptr->string,str)==0) { if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP))) { /* found... bump counter */ cptr->count+=count; cptr->files+=file; cptr->xfer +=xfer; if (ispage(log_rec.url)) { if ((tstamp-cptr->tstamp)>=visit_timeout) cptr->visit++; cptr->tstamp=tstamp; } return 0; } } cptr = cptr->next; } /* not found... */ if ( (nptr = new_inode(str)) != NULL) { nptr->flag = type; nptr->count = count; nptr->files = file; nptr->xfer = xfer; nptr->next = htab[hval]; htab[hval] = nptr; if (type!=OBJ_GRP) (*ctr)++; if (visit) { nptr->visit = (visit-1); nptr->tstamp= tstamp; return 0; } else { if (ispage(log_rec.url)) nptr->tstamp= tstamp; } } } if (nptr!=NULL) { /* set object type */ if (type==OBJ_GRP) nptr->flag=OBJ_GRP; /* is it a grouping? */ else { /* check if it's a hidden object */ if (isinlist(hidden_users,nptr->string)!=NULL) nptr->flag=OBJ_HIDE; } } return nptr==NULL; } /*********************************************/ /* DEL_ILIST - delete ident hash table */ /*********************************************/ void del_ilist(INODEPTR *htab) { /* free memory used by hash table */ INODEPTR aptr,temp; int i; for (i=0;inext; free (aptr->string); /* free ident string space */ free (aptr); /* free ident structure */ aptr = temp; } htab[i]=NULL; } } } #ifdef USE_DNS /* only add these for DNS */ /*********************************************/ /* NEW_DNODE - DNS resolver node creation */ /*********************************************/ DNODEPTR new_dnode(char *str) { DNODEPTR newptr; char *sptr; if (strlen(str) >= MAXHOST) { if (verbose) { fprintf(stderr,"[new_dnode] %s (%d)",msg_big_one,strlen(str)); if (debug_mode) fprintf(stderr,":\n--> %s",str); fprintf(stderr,"\n"); } str[MAXHOST-1]=0; } if ( (sptr=malloc(strlen(str)+1))==NULL ) return (DNODEPTR)NULL; strcpy(sptr,str); if (( newptr = malloc(sizeof(struct dnode))) != NULL) { newptr->string= sptr; } else free(sptr); return newptr; } /*********************************************/ /* PUT_DNODE - insert/update dns host node */ /*********************************************/ int put_dnode(char *str, void *addr, int len, DNODEPTR *htab) { DNODEPTR cptr,nptr; unsigned int hval; if (str[0]==0 || str[0]==' ') return 0; /* skip bad hostnames */ hval = hash(str); /* check if hashed */ if ( (cptr = htab[hval]) == NULL) { /* not hashed */ if ( (nptr=new_dnode(str)) != NULL) { if (addr) memcpy(&nptr->addr, addr, len); else memset(&nptr->addr, 0, sizeof(struct sockaddr_storage)); nptr->addrlen = len; nptr->next = NULL; htab[hval] = nptr; } } else { /* hashed */ while (cptr != NULL) { if (strcmp(cptr->string,str)==0) return 0; cptr = cptr->next; } /* not found... */ if ( (nptr = new_dnode(str)) != NULL) { if (addr) memcpy(&nptr->addr, addr, len); else memset(&nptr->addr, 0, sizeof(struct sockaddr_storage)); nptr->addrlen = len; nptr->next = htab[hval]; htab[hval] = nptr; } } return nptr==NULL; } /*********************************************/ /* DEL_DLIST - delete dns hash table */ /*********************************************/ void del_dlist(DNODEPTR *htab) { /* free memory used by hash table */ DNODEPTR dptr,temp; int i; for (i=0;inext; free (dptr->string); free (dptr); dptr = temp; } htab[i]=NULL; } } } #endif /* USE_DNS */ /*********************************************/ /* FIND_URL - Find URL in hash table */ /*********************************************/ char *find_url(char *str) { UNODEPTR cptr; if ( (cptr=um_htab[hash(str)]) != NULL) { while (cptr != NULL) { if (strcmp(cptr->string,str)==0) return cptr->string; cptr = cptr->next; } } return blank_str; /* shouldn't get here */ } /*********************************************/ /* UPDATE_ENTRY - update entry page total */ /*********************************************/ void update_entry(char *str) { UNODEPTR uptr; if (str==NULL) return; if ( (uptr = um_htab[hash(str)]) == NULL) return; else { while (uptr != NULL) { if (strcmp(uptr->string,str)==0) { if (uptr->flag!=OBJ_GRP) { uptr->entry++; return; } } uptr=uptr->next; } } } /*********************************************/ /* UPDATE_EXIT - update exit page total */ /*********************************************/ void update_exit(char *str) { UNODEPTR uptr; if (str==NULL) return; if ( (uptr = um_htab[hash(str)]) == NULL) return; else { while (uptr != NULL) { if (strcmp(uptr->string,str)==0) { if (uptr->flag!=OBJ_GRP) { uptr->exit++; return; } } uptr=uptr->next; } } } /*********************************************/ /* MONTH_UPDATE_EXIT - eom exit page update */ /*********************************************/ void month_update_exit(u_int64_t tstamp) { HNODEPTR nptr; int i; for (i=0;iflag!=OBJ_GRP) { if ((tstamp-nptr->tstamp)>=visit_timeout) update_exit(nptr->lasturl); } nptr=nptr->next; } } } /*********************************************/ /* TOT_VISIT - calculate total visits */ /*********************************************/ u_int64_t tot_visit(HNODEPTR *list) { HNODEPTR hptr; u_int64_t tot=0; int i; for (i=0;iflag!=OBJ_GRP) tot+=hptr->visit; hptr=hptr->next; } } return tot; } #ifdef USE_OLDHASH /*********************************************/ /* HASH - return hash value for string */ /*********************************************/ unsigned int hash(char *str) { uint32_t hashval=0; for (hashval = 0; *str != '\0'; str++) hashval = *str + (hashval << 5) - hashval; return hashval % MAXHASH; } #else /* USE_OLDHASH */ /*********************************************/ /* HASH (SuperFastHash by Paul Hsieh) */ /*********************************************/ #undef get16bits #if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) #define get16bits(d) (*((const uint16_t *) (d))) #endif #if !defined (get16bits) #define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\ +(uint32_t)(((const uint8_t *)(d))[0]) ) #endif unsigned int hash(char *str) { int len=strlen(str); uint32_t hash = len, tmp; int rem; if (len <= 0 || str == NULL) return 0; rem = len & 3; len >>= 2; /* Main loop */ for (;len > 0; len--) { hash += get16bits (str); tmp = (get16bits (str+2) << 11) ^ hash; hash = (hash << 16) ^ tmp; str += 2*sizeof (uint16_t); hash += hash >> 11; } /* Handle end cases */ switch (rem) { case 3: hash += get16bits (str); hash ^= hash << 16; hash ^= str[sizeof (uint16_t)] << 18; hash += hash >> 11; break; case 2: hash += get16bits (str); hash ^= hash << 11; hash += hash >> 17; break; case 1: hash += *str; hash ^= hash << 10; hash += hash >> 1; } /* Force "avalanching" of final 127 bits */ hash ^= hash << 3; hash += hash >> 5; hash ^= hash << 4; hash += hash >> 17; hash ^= hash << 25; hash += hash >> 6; return hash % MAXHASH; } #endif /* USE_OLDHASH */ webalizer-2.23-05/hashtab.h0000644000175000017500000001132111015225546014032 0ustar bradbrad#ifndef _HASHTAB_H #define _HASHTAB_H typedef struct hnode *HNODEPTR; /* site node (host) pointer */ typedef struct unode *UNODEPTR; /* url node pointer */ typedef struct rnode *RNODEPTR; /* referrer node */ typedef struct anode *ANODEPTR; /* user agent node pointer */ typedef struct snode *SNODEPTR; /* Search string node pointer */ typedef struct inode *INODEPTR; /* user (ident) node pointer */ #ifdef USE_DNS typedef struct dnode *DNODEPTR; /* DNS hash table node struct */ #endif /* Object flags */ #define OBJ_REG 0 /* Regular object */ #define OBJ_HIDE 1 /* Hidden object */ #define OBJ_GRP 2 /* Grouped object */ #ifdef USE_DNS struct dnode { char *string; /* DNS node hash table struct */ struct sockaddr_storage addr; int addrlen; struct dnode *llist; struct dnode *next; }; #endif struct hnode { char *string; /* host hash table structure */ int flag; u_int64_t count; u_int64_t files; u_int64_t visit; /* visit information */ u_int64_t tstamp; char *lasturl; double xfer; struct hnode *next; }; struct unode { char *string; /* url hash table structure */ int flag; /* Object type (REG, HIDE, GRP) */ u_int64_t count; /* requests counter */ u_int64_t files; /* files counter */ u_int64_t entry; /* entry page counter */ u_int64_t exit; /* exit page counter */ double xfer; /* xfer size in bytes */ struct unode *next; }; /* pointer to next node */ struct rnode { char *string; /* referrer hash table struct */ int flag; u_int64_t count; struct rnode *next; }; struct anode { char *string; int flag; u_int64_t count; struct anode *next; }; struct snode { char *string; /* search string struct */ u_int64_t count; struct snode *next; }; struct inode { char *string; /* host hash table struct */ int flag; u_int64_t count; u_int64_t files; u_int64_t visit; u_int64_t tstamp; double xfer; struct inode *next; }; extern HNODEPTR sm_htab[MAXHASH]; /* hash tables */ extern HNODEPTR sd_htab[MAXHASH]; extern UNODEPTR um_htab[MAXHASH]; /* for hits, sites, */ extern RNODEPTR rm_htab[MAXHASH]; /* referrers and agents... */ extern ANODEPTR am_htab[MAXHASH]; extern SNODEPTR sr_htab[MAXHASH]; /* search string table */ extern INODEPTR im_htab[MAXHASH]; /* ident table (username) */ #ifdef USE_DNS extern DNODEPTR host_table[MAXHASH]; /* DNS resolver table */ #endif extern int put_hnode(char *, int, u_int64_t, u_int64_t, double, u_int64_t *, u_int64_t, u_int64_t, char *, HNODEPTR *); extern int put_unode(char *, int, u_int64_t, double, u_int64_t *, u_int64_t, u_int64_t, UNODEPTR *); extern int put_inode(char *, int, u_int64_t, u_int64_t, double, u_int64_t *, u_int64_t, u_int64_t, INODEPTR *); extern int put_rnode(char *, int, u_int64_t, u_int64_t *, RNODEPTR *); extern int put_anode(char *, int, u_int64_t, u_int64_t *, ANODEPTR *); extern int put_snode(char *, u_int64_t, SNODEPTR *); #ifdef USE_DNS extern int put_dnode(char *, void *, int, DNODEPTR *); extern void del_dlist(DNODEPTR *); #endif extern void del_htabs(); /* delete hash tables */ extern void del_hlist(HNODEPTR *); /* delete host htab */ extern void del_ulist(UNODEPTR *); /* delete url htab */ extern void del_rlist(RNODEPTR *); /* delete referrer htab */ extern void del_alist(ANODEPTR *); /* delete host htab */ extern void del_slist(SNODEPTR *); /* delete host htab */ extern void del_ilist(INODEPTR *); /* delete host htab */ extern void month_update_exit(u_int64_t); extern u_int64_t tot_visit(HNODEPTR *); extern char *find_url(char *); #endif /* _HASHTAB_H */ webalizer-2.23-05/install-sh0000755000175000017500000001272110771016751014264 0ustar bradbrad#! /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=: 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 webalizer-2.23-05/lang.h0000644000175000017500000001025711032342336013344 0ustar bradbrad#ifndef _LANG_H #define _LANG_H extern char *language ; extern char *langcode ; extern char *msg_records ; extern char *msg_addresses; extern char *msg_ignored ; extern char *msg_bad ; extern char *msg_in ; extern char *msg_seconds ; extern char *msg_log_err ; extern char *msg_log_use ; extern char *msg_dir_err ; extern char *msg_dir_use ; extern char *msg_cur_dir ; extern char *msg_hostname; extern char *msg_ign_hist; extern char *msg_no_hist ; extern char *msg_get_hist; extern char *msg_put_hist; extern char *msg_hist_err; extern char *msg_bad_hist; extern char *msg_bad_conf; extern char *msg_bad_key ; extern char *msg_bad_date; extern char *msg_ign_nscp; extern char *msg_bad_rec ; extern char *msg_no_vrec ; extern char *msg_gen_rpt ; extern char *msg_gen_sum ; extern char *msg_get_data; extern char *msg_put_data; extern char *msg_no_data ; extern char *msg_bad_data; extern char *msg_data_err; extern char *msg_dup_data; extern char *msg_dns_nocf; extern char *msg_dns_nodb; extern char *msg_dns_nolk; extern char *msg_dns_usec; extern char *msg_dns_rslf; extern char *msg_dns_none; extern char *msg_dns_abrt; extern char *msg_geo_open; extern char *msg_geo_use ; extern char *msg_geo_nolu; extern char *msg_geo_dflt; extern char *msg_nomem_ts; extern char *msg_nomem_tr; extern char *msg_nomem_tu; extern char *msg_nomem_tc; extern char *msg_nomem_ta; extern char *msg_nomem_tsr; extern char *msg_nomem_ti; extern char *msg_nomem_dh; extern char *msg_nomem_mh; extern char *msg_nomem_u ; extern char *msg_nomem_a ; extern char *msg_nomem_r ; extern char *msg_nomem_sc; extern char *msg_nomem_i ; extern char *msg_big_rec ; extern char *msg_big_host; extern char *msg_big_date; extern char *msg_big_req ; extern char *msg_big_ref ; extern char *msg_big_user; extern char *msg_big_one ; extern char *msg_no_open ; extern char *h_usage1 ; extern char *h_usage2 ; extern char *h_msg[]; /* HTML Strings */ extern char *msg_hhdr_sp ; extern char *msg_hhdr_gt ; extern char *msg_main_us ; extern char *msg_main_per; extern char *msg_main_sum; extern char *msg_main_da ; extern char *msg_main_mt ; extern char *msg_hmth_du ; extern char *msg_hmth_hu ; extern char *msg_h_by ; extern char *msg_h_avg ; extern char *msg_h_max ; extern char *msg_h_total ; extern char *msg_h_totals; extern char *msg_h_day ; extern char *msg_h_mth ; extern char *msg_h_hour ; extern char *msg_h_hits ; extern char *msg_h_pages ; extern char *msg_h_visits; extern char *msg_h_files ; extern char *msg_h_sites ; extern char *msg_h_xfer ; extern char *msg_h_hname ; extern char *msg_h_url ; extern char *msg_h_agent ; extern char *msg_h_ref ; extern char *msg_h_ctry ; extern char *msg_h_search; extern char *msg_h_uname ; extern char *msg_hlnk_ds ; extern char *msg_hlnk_hs ; extern char *msg_hlnk_u ; extern char *msg_hlnk_s ; extern char *msg_hlnk_a ; extern char *msg_hlnk_c ; extern char *msg_hlnk_r ; extern char *msg_hlnk_en ; extern char *msg_hlnk_ex ; extern char *msg_hlnk_sr ; extern char *msg_hlnk_i ; extern char *msg_mtot_ms ; extern char *msg_mtot_th ; extern char *msg_mtot_tf ; extern char *msg_mtot_tx ; extern char *msg_mtot_us ; extern char *msg_mtot_ur ; extern char *msg_mtot_ua ; extern char *msg_mtot_uu ; extern char *msg_mtot_ui ; extern char *msg_mtot_mhd; extern char *msg_mtot_mhh; extern char *msg_mtot_mfd; extern char *msg_mtot_mpd; extern char *msg_mtot_msd; extern char *msg_mtot_mvd; extern char *msg_mtot_mkd; extern char *msg_mtot_rc ; extern char *msg_dtot_ds ; extern char *msg_htot_hs ; extern char *msg_ctry_use; extern char *msg_top_top ; extern char *msg_top_of ; extern char *msg_top_s ; extern char *msg_top_u ; extern char *msg_top_r ; extern char *msg_top_a ; extern char *msg_top_c ; extern char *msg_top_en ; extern char *msg_top_ex ; extern char *msg_top_sr ; extern char *msg_top_i ; extern char *msg_v_sites ; extern char *msg_v_urls ; extern char *msg_v_refs ; extern char *msg_v_agents; extern char *msg_v_search; extern char *msg_v_users ; extern char *msg_title ; extern char *msg_h_other ; extern char *s_month[12]; extern char *l_month[12]; extern struct response_code response[]; extern struct country_code ctry[]; #endif /* _LANG_H */ webalizer-2.23-05/linklist.c0000644000175000017500000002067411510252710014250 0ustar bradbrad/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include #include #include #include #include /* normal stuff */ #include #include /* ensure sys/types */ #ifndef _SYS_TYPES_H #include #endif /* need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif /* some systems need this */ #ifdef HAVE_MATH_H #include #endif #include "webalizer.h" /* main header */ #include "lang.h" #include "linklist.h" /* internal function prototypes */ NLISTPTR new_nlist(char *); /* new list node */ void del_nlist(NLISTPTR *); /* del list */ GLISTPTR new_glist(char *, char *); /* new group list node */ void del_glist(GLISTPTR *); /* del group list */ int isinstr(char *, char *); /* Linkded list pointers */ GLISTPTR group_sites = NULL; /* "group" lists */ GLISTPTR group_urls = NULL; GLISTPTR group_refs = NULL; GLISTPTR group_agents = NULL; GLISTPTR group_users = NULL; NLISTPTR hidden_sites = NULL; /* "hidden" lists */ NLISTPTR hidden_urls = NULL; NLISTPTR hidden_refs = NULL; NLISTPTR hidden_agents = NULL; NLISTPTR hidden_users = NULL; NLISTPTR ignored_sites = NULL; /* "Ignored" lists */ NLISTPTR ignored_urls = NULL; NLISTPTR ignored_refs = NULL; NLISTPTR ignored_agents= NULL; NLISTPTR ignored_users = NULL; NLISTPTR include_sites = NULL; /* "Include" lists */ NLISTPTR include_urls = NULL; NLISTPTR include_refs = NULL; NLISTPTR include_agents= NULL; NLISTPTR include_users = NULL; NLISTPTR index_alias = NULL; /* index. aliases */ NLISTPTR html_pre = NULL; /* before anything else :) */ NLISTPTR html_head = NULL; /* top HTML code */ NLISTPTR html_body = NULL; /* body HTML code */ NLISTPTR html_post = NULL; /* middle HTML code */ NLISTPTR html_tail = NULL; /* tail HTML code */ NLISTPTR html_end = NULL; /* after everything else */ NLISTPTR page_type = NULL; /* page view types */ NLISTPTR omit_page = NULL; /* pages not counted */ NLISTPTR page_prefix = NULL; /* page view prefixes */ GLISTPTR search_list = NULL; /* Search engine list */ /*********************************************/ /* NEW_NLIST - create new linked list node */ /*********************************************/ NLISTPTR new_nlist(char *str) { NLISTPTR newptr; if (sizeof(newptr->string) < strlen(str)) { if (verbose) fprintf(stderr,"[new_nlist] %s\n",msg_big_one); } if (( newptr = malloc(sizeof(struct nlist))) != NULL) {strncpy(newptr->string, str, sizeof(newptr->string));newptr->next=NULL;} return newptr; } /*********************************************/ /* ADD_NLIST - add item to FIFO linked list */ /*********************************************/ int add_nlist(char *str, NLISTPTR *list) { NLISTPTR newptr,cptr,pptr; if ( (newptr = new_nlist(str)) != NULL) { if (*list==NULL) *list=newptr; else { cptr=pptr=*list; while(cptr!=NULL) { pptr=cptr; cptr=cptr->next; }; pptr->next = newptr; } } return newptr==NULL; } /*********************************************/ /* DEL_NLIST - delete FIFO linked list */ /*********************************************/ void del_nlist(NLISTPTR *list) { NLISTPTR cptr,nptr; cptr=*list; while (cptr!=NULL) { nptr=cptr->next; free(cptr); cptr=nptr; } } /*********************************************/ /* NEW_GLIST - create new linked list node */ /*********************************************/ GLISTPTR new_glist(char *str, char *name) { GLISTPTR newptr; if (sizeof(newptr->string) < strlen(str) || sizeof(newptr->name) < strlen(name)) { if (verbose) fprintf(stderr,"[new_glist] %s\n",msg_big_one); } if (( newptr = malloc(sizeof(struct glist))) != NULL) { strncpy(newptr->string, str, sizeof(newptr->string)); strncpy(newptr->name, name, sizeof(newptr->name)); newptr->next=NULL; } return newptr; } /*********************************************/ /* ADD_GLIST - add item to FIFO linked list */ /*********************************************/ int add_glist(char *str, GLISTPTR *list) { GLISTPTR newptr,cptr,pptr; char temp_buf[MAXKVAL]; char *name=temp_buf; char sep=0; /* make local copy of string */ if (*str=='"' || *str=='\'') sep=*str++; /* Quote character? */ strncpy(temp_buf,str,MAXKVAL-1); temp_buf[MAXKVAL-1]=0; if (!sep) /* Space seperated */ while (!isspace((unsigned char)*name) && *name!=0) name++; else while (*name!=sep && *name!=0) name++; /* Quote seperated */ if (*name==0) name=temp_buf; else { *name++=0; while (isspace((unsigned char)*name)&&*name!=0) name++; if (*name==0) name=temp_buf; } if ( (newptr = new_glist(temp_buf, name)) != NULL) { if (*list==NULL) *list=newptr; else { cptr=pptr=*list; while(cptr!=NULL) { pptr=cptr; cptr=cptr->next; }; pptr->next = newptr; } } return newptr==NULL; } /*********************************************/ /* DEL_GLIST - delete FIFO linked list */ /*********************************************/ void del_glist(GLISTPTR *list) { GLISTPTR cptr,nptr; cptr=*list; while (cptr!=NULL) { nptr=cptr->next; free(cptr); cptr=nptr; } } /*********************************************/ /* ISINLIST - Test if string is in list */ /*********************************************/ char *isinlist(NLISTPTR list, char *str) { NLISTPTR lptr; lptr=list; while (lptr!=NULL) { if (isinstr(str,lptr->string)) return lptr->string; lptr=lptr->next; } return NULL; } /*********************************************/ /* ISINGLIST - Test if string is in list */ /*********************************************/ char *isinglist(GLISTPTR list, char *str) { GLISTPTR lptr; lptr=list; while (lptr!=NULL) { if (isinstr(str,lptr->string)) return lptr->name; lptr=lptr->next; } return NULL; } /*********************************************/ /* ISINSTR - Scan for string in string */ /*********************************************/ int isinstr(char *str, char *cp) { char *cp1,*cp2; cp1=(cp+strlen(cp))-1; if (*cp=='*') { /* if leading wildcard, start from end */ cp2=str+strlen(str)-1; while ( (cp1!=cp) && (cp2!=str)) { if (*cp1=='*') return 1; if (*cp1--!=*cp2--) return 0; } if (cp1==cp) return 1; else return 0; } else { /* if no leading/trailing wildcard, just strstr */ if (*cp1!='*') return(strstr(str,cp)!=NULL); /* otherwise do normal forward scan */ cp1=cp; cp2=str; while (*cp2!='\0') { if (*cp1=='*') return 1; if (*cp1++!=*cp2++) return 0; } if (*cp1=='*') return 1; else return 0; } } webalizer-2.23-05/linklist.h0000644000175000017500000000465111477352727014277 0ustar bradbrad#ifndef _LINKLIST_H #define _LINKLIST_H struct nlist { char string[MAXKVAL]; /* list struct for HIDE items */ struct nlist *next; }; typedef struct nlist *NLISTPTR; struct glist { char string[MAXKVAL]; /* list struct for GROUP items */ char name[MAXKVAL]; struct glist *next; }; typedef struct glist *GLISTPTR; extern GLISTPTR group_sites ; /* "group" lists */ extern GLISTPTR group_urls ; extern GLISTPTR group_refs ; extern GLISTPTR group_agents ; extern GLISTPTR group_users ; extern NLISTPTR hidden_sites ; /* "hidden" lists */ extern NLISTPTR hidden_urls ; extern NLISTPTR hidden_refs ; extern NLISTPTR hidden_agents ; extern NLISTPTR hidden_users ; extern NLISTPTR ignored_sites ; /* "Ignored" lists */ extern NLISTPTR ignored_urls ; extern NLISTPTR ignored_refs ; extern NLISTPTR ignored_agents; extern NLISTPTR ignored_users ; extern NLISTPTR include_sites ; /* "Include" lists */ extern NLISTPTR include_urls ; extern NLISTPTR include_refs ; extern NLISTPTR include_agents; extern NLISTPTR include_users ; extern NLISTPTR index_alias ; /* index. aliases */ extern NLISTPTR html_pre ; /* before anything else :) */ extern NLISTPTR html_head ; /* top HTML code */ extern NLISTPTR html_body ; /* body HTML code */ extern NLISTPTR html_post ; /* middle HTML code */ extern NLISTPTR html_tail ; /* tail HTML code */ extern NLISTPTR html_end ; /* after everything else */ extern NLISTPTR page_type ; /* page view types */ extern NLISTPTR omit_page ; /* pages not counted */ extern NLISTPTR page_prefix ; /* page view prefixes */ extern GLISTPTR search_list ; /* Search engine list */ extern char *isinlist(NLISTPTR, char *); /* scan list for str */ extern char *isinglist(GLISTPTR, char *); /* scan glist for str */ extern int add_nlist(char *, NLISTPTR *); /* add list item */ extern int add_glist(char *, GLISTPTR *); /* add group list item */ #endif /* _LINKLIST_H */ webalizer-2.23-05/msfree.png0000644000175000017500000000270610771016751014251 0ustar bradbrad┴PNG  IHDRd&ы≤dgAMA╠▐ ЭaPLTEЪЪЪs{!!!)))111999BBBJJJRRRZZZc11ccck11kkksss{{{└└└▄!!▄▄▄■■■°°°°╔╔╔╜ZZ╜╜╜╣╣╣╫╫╫ф!!фффнннжжжжччч!!ч11чччГГ!!Г11Г99ГBBГRRГccГ{{ОccОssО{{О└└О▄▄О■■О°°О╜╜О╫╫ОООВ■■В╔╔В╜╜В╫╫ВффВннВччВООЪннЪччЪГГЪОО5·■6qIDATx°М√akш0├охajbF&-KpМ&,^╟IЧЪ÷╨╫╡°фvэvt[║cg"ЫIо╫wRЯ;1ЩuШy;ДXwD┤г╡ЙИэЛй├нUыSЪ}╨ ┌∙m┌щ ДтX[сicwvK╣щnЛ~ЪP=Ru\╛_║С╜÷┤─a╢%Yшml┤╥оy{╬│C\░^щпz²≈│%Щ■тbm▐╥о╠ гLВ©6O"╒ЫП╒&ЕU┴╣┤Qи╝[OлК░╖Р- %╖Шoм╤╤╩╥Aжj╡PБjБ*Uш┐МV 4-DПT╞YM~I фНо╤╥=Щ√╫\╒^g┌{b┤{R В└╗зсФг⌡∙╢3Hи≤Хк╖╩■Н>╜N╦Яe 5g:Н шЕ1KJ╣ЯNgеR≥л ?З┘л ■л^1gNIbЖХХ╣IЗб·@р█Бk╣■X╖U.]@2)пе2FДыЮ%≤· S╞┼Sё█J╘Hd▓#KJ╨Hв qй.$9|б░b▄╘"bя╕,т▌^└pLхrх°Ц╛[аJ┬кЦ┬ Й%$▓#(▒╛═©-■$R$░≤░╣f√╨╦x≤О6W4.&Е╗ C%9qИ▀9╓√мБvЯ*ЭНKн\⌠Й4МХ 3&5│ч┬@RJ#╨иY╦B\-]lЬ@6"╠©qЯй /Y╓P3#╫7BBsU╧≈╟U▒кZ▌BЗ╠9Y(F%■ Dm<$г≥C}\пАp:Hф>_^┴▀IЦ╗╔т-оo cфLн╚i}WL╪ukM~ЁЭЩ▒╟ош┐╪jЪДЛ'ЗАМО·ЁяIEND╝B`┌webalizer-2.23-05/output.c0000644000175000017500000032231411510252765013765 0ustar bradbrad/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include #include #include #include #include /* normal stuff */ #include #include #include #include #ifdef USE_DNS #include #endif /* ensure sys/types */ #ifndef _SYS_TYPES_H #include #endif /* need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif /* some systems need this */ #ifdef HAVE_MATH_H #include #endif #ifdef USE_GEOIP #include #endif #include "webalizer.h" /* main header */ #include "lang.h" #include "hashtab.h" #include "preserve.h" #include "linklist.h" #include "graphs.h" #include "output.h" /* internal function prototypes */ void write_html_head(char *, FILE *); /* head of html page */ void write_html_tail(FILE *); /* tail of html page */ void month_links(); /* Page links */ void month_total_table(); /* monthly total table */ void daily_total_table(); /* daily total table */ void hourly_total_table(); /* hourly total table */ void top_sites_table(int); /* top n sites table */ void top_urls_table(int); /* top n URLs table */ void top_entry_table(int); /* top n entry/exits */ void top_refs_table(); /* top n referrers "" */ void top_agents_table(); /* top n u-agents "" */ void top_ctry_table(); /* top n countries "" */ void top_search_table(); /* top n search strs */ void top_users_table(); /* top n ident table */ u_int64_t load_url_array( UNODEPTR *); /* load URL array */ u_int64_t load_site_array( HNODEPTR *); /* load Site array */ u_int64_t load_ref_array( RNODEPTR *); /* load Refs array */ u_int64_t load_agent_array(ANODEPTR *); /* load Agents array */ u_int64_t load_srch_array( SNODEPTR *); /* load srch str array */ u_int64_t load_ident_array(INODEPTR *); /* load ident array */ int qs_url_cmph( const void*, const void*); /* compare by hits */ int qs_url_cmpk( const void*, const void*); /* compare by kbytes */ int qs_url_cmpn( const void*, const void*); /* compare by entrys */ int qs_url_cmpx( const void*, const void*); /* compare by exits */ int qs_site_cmph(const void*, const void*); /* compare by hits */ int qs_site_cmpk(const void*, const void*); /* compare by kbytes */ int qs_ref_cmph( const void*, const void*); /* compare by hits */ int qs_agnt_cmph(const void*, const void*); /* compare by hits */ int qs_srch_cmph(const void*, const void*); /* compare by hits */ int qs_ident_cmph(const void*, const void*); /* compare by hits */ int qs_ident_cmpk(const void*, const void*); /* compare by kbytes */ int all_sites_page(u_int64_t, u_int64_t); /* output site page */ int all_urls_page(u_int64_t, u_int64_t); /* output urls page */ int all_refs_page(u_int64_t, u_int64_t); /* output refs page */ int all_agents_page(u_int64_t, u_int64_t); /* output agents page */ int all_search_page(u_int64_t, u_int64_t); /* output search page */ int all_users_page(u_int64_t, u_int64_t); /* output ident page */ void dump_all_sites(); /* dump sites tab file */ void dump_all_urls(); /* dump urls tab file */ void dump_all_refs(); /* dump refs tab file */ void dump_all_agents(); /* dump agents file */ void dump_all_users(); /* dump usernames file */ void dump_all_search(); /* dump search file */ /* define some colors for HTML */ #define WHITE "#FFFFFF" #define BLACK "#000000" #define RED "#FF0000" #define ORANGE "#FF8000" #define LTBLUE "#0080FF" #define BLUE "#0000FF" #define GREEN "#00FF00" #define DKGREEN "#008040" #define GREY "#C0C0C0" #define LTGREY "#E8E8E8" #define YELLOW "#FFFF00" #define PURPLE "#FF00FF" #define CYAN "#00E0FF" #define GRPCOLOR "#D0D0E0" /* configurable html colors */ #define HITCOLOR hit_color #define FILECOLOR file_color #define SITECOLOR site_color #define KBYTECOLOR kbyte_color #define PAGECOLOR page_color #define VISITCOLOR visit_color #define MISCCOLOR misc_color /* sort arrays */ UNODEPTR *u_array = NULL; /* Sort array for URLs */ HNODEPTR *h_array = NULL; /* hostnames (sites) */ RNODEPTR *r_array = NULL; /* referrers */ ANODEPTR *a_array = NULL; /* user agents */ SNODEPTR *s_array = NULL; /* search strings */ INODEPTR *i_array = NULL; /* ident strings (username) */ u_int64_t a_ctr = 0; /* counter for sort array */ FILE *out_fp; /*********************************************/ /* WRITE_HTML_HEAD - output top of HTML page */ /*********************************************/ void write_html_head(char *period, FILE *out_fp) { NLISTPTR lptr; /* used for HTMLhead processing */ /* HTMLPre code goes before all else */ lptr = html_pre; if (lptr==NULL) { /* Default 'DOCTYPE' header record if none specified */ fprintf(out_fp, "\n\n"); } else { while (lptr!=NULL) { fprintf(out_fp,"%s\n",lptr->string); lptr=lptr->next; } } /* Standard header comments */ fprintf(out_fp,"\n", version,editlvl); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n\n",cur_time()); fprintf(out_fp,"\n\n",langcode); fprintf(out_fp," %s %s - %s\n", msg_title, hname, (period)?period:msg_main_per); lptr=html_head; while (lptr!=NULL) { fprintf(out_fp,"%s\n",lptr->string); lptr=lptr->next; } fprintf(out_fp,"\n\n"); lptr = html_body; if (lptr==NULL) fprintf(out_fp,"\n", LTGREY, BLACK, BLUE, RED); else { while (lptr!=NULL) { fprintf(out_fp,"%s\n",lptr->string); lptr=lptr->next; } } fprintf(out_fp,"

%s %s

\n",msg_title, hname); if (period) fprintf(out_fp,"\n%s: %s
\n",msg_hhdr_sp,period); else fprintf(out_fp,"\n%s
\n",msg_main_per); fprintf(out_fp,"%s %s
\n
\n",msg_hhdr_gt,cur_time()); lptr=html_post; while (lptr!=NULL) { fprintf(out_fp,"%s\n",lptr->string); lptr=lptr->next; } fprintf(out_fp,"
\n
\n

\n"); } /*********************************************/ /* WRITE_HTML_TAIL - output HTML page tail */ /*********************************************/ void write_html_tail(FILE *out_fp) { NLISTPTR lptr; fprintf(out_fp,"

\n"); fprintf(out_fp,"

\n


\n"); fprintf(out_fp,"
..
\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); lptr=html_tail; if (lptr) { fprintf(out_fp,"\n"); } fprintf(out_fp,"\n
\n"); fprintf(out_fp,"Generated by\n"); fprintf(out_fp,""); fprintf(out_fp,"Webalizer Version %s\n",version); fprintf(out_fp,"\n\n"); while (lptr!=NULL) { fprintf(out_fp,"%s\n",lptr->string); lptr=lptr->next; } fprintf(out_fp,"
\n"); /* wind up, this is the end of the file */ fprintf(out_fp,"\n\n", version,editlvl,moddate); lptr = html_end; if (lptr) { while (lptr!=NULL) { fprintf(out_fp,"%s\n",lptr->string); lptr=lptr->next; } } else fprintf(out_fp,"\n\n\n"); } /*********************************************/ /* WRITE_MONTH_HTML - does what it says... */ /*********************************************/ int write_month_html() { char html_fname[256]; /* filename storage areas... */ char png1_fname[32]; char png2_fname[32]; char buffer[BUFSIZE]; /* scratch buffer */ char dtitle[256]; char htitle[256]; if (verbose>1) printf("%s %s %d\n",msg_gen_rpt, l_month[cur_month-1], cur_year); /* fill in filenames */ snprintf(html_fname,sizeof(html_fname),"usage_%04d%02d.%s", cur_year,cur_month,html_ext); sprintf(png1_fname,"daily_usage_%04d%02d.png",cur_year,cur_month); sprintf(png2_fname,"hourly_usage_%04d%02d.png",cur_year,cur_month); /* create PNG images for web page */ if (daily_graph) { snprintf(dtitle,sizeof(dtitle),"%s %s %d", msg_hmth_du,l_month[cur_month-1],cur_year); month_graph6 ( png1_fname, /* filename */ dtitle, /* graph title */ cur_month, /* graph month */ cur_year, /* graph year */ tm_hit, /* data 1 (hits) */ tm_file, /* data 2 (files) */ tm_site, /* data 3 (sites) */ tm_xfer, /* data 4 (kbytes) */ tm_page, /* data 5 (pages) */ tm_visit); /* data 6 (visits) */ } if (hourly_graph) { snprintf(htitle,sizeof(htitle),"%s %s %d", msg_hmth_hu,l_month[cur_month-1],cur_year); day_graph3( png2_fname, htitle, th_hit, th_file, th_page ); } /* now do html stuff... */ /* first, open the file */ if ( (out_fp=open_out_file(html_fname))==NULL ) return 1; snprintf(buffer,sizeof(buffer),"%s %d",l_month[cur_month-1],cur_year); write_html_head(buffer, out_fp); month_links(); month_total_table(); if (daily_graph || daily_stats) /* Daily stuff */ { fprintf(out_fp,"\n"); if (daily_graph) fprintf(out_fp,"\"%s\"

\n",png1_fname,dtitle); if (daily_stats) daily_total_table(); } if (hourly_graph || hourly_stats) /* Hourly stuff */ { fprintf(out_fp,"\n"); if (hourly_graph) fprintf(out_fp,"\"%s\"

\n",png2_fname,htitle); if (hourly_stats) hourly_total_table(); } /* Do URL related stuff here, sorting appropriately */ if ( (a_ctr=load_url_array(NULL)) ) { if ( (u_array=malloc(sizeof(UNODEPTR)*(a_ctr))) !=NULL ) { a_ctr=load_url_array(u_array); /* load up our sort array */ if (ntop_urls || dump_urls) { qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmph); if (ntop_urls) top_urls_table(0); /* Top URLs (by hits) */ if (dump_urls) dump_all_urls(); /* Dump URLs tab file */ } if (ntop_urlsK) /* Top URLs (by kbytes) */ {qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmpk); top_urls_table(1); } if (ntop_entry) /* Top Entry Pages */ {qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmpn); top_entry_table(0);} if (ntop_exit) /* Top Exit Pages */ {qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmpx); top_entry_table(1);} free(u_array); } else if (verbose) fprintf(stderr,"%s [u_array]\n",msg_nomem_tu); /* err */ } /* do hostname (sites) related stuff here, sorting appropriately... */ if ( (a_ctr=load_site_array(NULL)) ) { if ( (h_array=malloc(sizeof(HNODEPTR)*(a_ctr))) !=NULL ) { a_ctr=load_site_array(h_array); /* load up our sort array */ if (ntop_sites || dump_sites) { qsort(h_array,a_ctr,sizeof(HNODEPTR),qs_site_cmph); if (ntop_sites) top_sites_table(0); /* Top sites table (by hits) */ if (dump_sites) dump_all_sites(); /* Dump sites tab file */ } if (ntop_sitesK) /* Top Sites table (by kbytes) */ { qsort(h_array,a_ctr,sizeof(HNODEPTR),qs_site_cmpk); top_sites_table(1); } free(h_array); } else if (verbose) fprintf(stderr,"%s [h_array]\n",msg_nomem_ts); /* err */ } /* do referrer related stuff here, sorting appropriately... */ if ( (a_ctr=load_ref_array(NULL)) ) { if ( (r_array=malloc(sizeof(RNODEPTR)*(a_ctr))) != NULL) { a_ctr=load_ref_array(r_array); if (ntop_refs || dump_refs) { qsort(r_array,a_ctr,sizeof(RNODEPTR),qs_ref_cmph); if (ntop_refs) top_refs_table(); /* Top referrers table */ if (dump_refs) dump_all_refs(); /* Dump referrers tab file */ } free(r_array); } else if (verbose) fprintf(stderr,"%s [r_array]\n",msg_nomem_tr); /* err */ } /* do search string related stuff, sorting appropriately... */ if ( (a_ctr=load_srch_array(NULL)) ) { if ( (s_array=malloc(sizeof(SNODEPTR)*(a_ctr))) != NULL) { a_ctr=load_srch_array(s_array); if (ntop_search || dump_search) { qsort(s_array,a_ctr,sizeof(SNODEPTR),qs_srch_cmph); if (ntop_search) top_search_table(); /* top search strings table */ if (dump_search) dump_all_search(); /* dump search string tab file */ } free(s_array); } else if (verbose) fprintf(stderr,"%s [s_array]\n",msg_nomem_tsr);/* err */ } /* do ident (username) related stuff here, sorting appropriately... */ if ( (a_ctr=load_ident_array(NULL)) ) { if ( (i_array=malloc(sizeof(INODEPTR)*(a_ctr))) != NULL) { a_ctr=load_ident_array(i_array); if (ntop_users || dump_users) { qsort(i_array,a_ctr,sizeof(INODEPTR),qs_ident_cmph); if (ntop_users) top_users_table(); /* top usernames table */ if (dump_users) dump_all_users(); /* dump usernames tab file */ } free(i_array); } else if (verbose) fprintf(stderr,"%s [i_array]\n",msg_nomem_ti); /* err */ } /* do user agent related stuff here, sorting appropriately... */ if ( (a_ctr=load_agent_array(NULL)) ) { if ( (a_array=malloc(sizeof(ANODEPTR)*(a_ctr))) != NULL) { a_ctr=load_agent_array(a_array); if (ntop_agents || dump_agents) { qsort(a_array,a_ctr,sizeof(ANODEPTR),qs_agnt_cmph); if (ntop_agents) top_agents_table(); /* top user agents table */ if (dump_agents) dump_all_agents(); /* dump user agents tab file */ } free(a_array); } else if (verbose) fprintf(stderr,"%s [a_array]\n",msg_nomem_ta); /* err */ } if (ntop_ctrys ) top_ctry_table(); /* top countries table */ write_html_tail(out_fp); /* finish up the HTML document */ fclose(out_fp); /* close the file */ return (0); /* done... */ } /*********************************************/ /* MONTH_LINKS - links to other page parts */ /*********************************************/ void month_links() { fprintf(out_fp,"\n"); if (daily_stats || daily_graph) fprintf(out_fp,"[%s]\n",msg_hlnk_ds); if (hourly_stats || hourly_graph) fprintf(out_fp,"[%s]\n",msg_hlnk_hs); if (ntop_urls || ntop_urlsK) fprintf(out_fp,"[%s]\n",msg_hlnk_u); if (ntop_entry) fprintf(out_fp,"[%s]\n",msg_hlnk_en); if (ntop_exit) fprintf(out_fp,"[%s]\n",msg_hlnk_ex); if (ntop_sites || ntop_sitesK) fprintf(out_fp,"[%s]\n",msg_hlnk_s); if (ntop_refs && t_ref) fprintf(out_fp,"[%s]\n",msg_hlnk_r); if (ntop_search) fprintf(out_fp,"[%s]\n",msg_hlnk_sr); if (ntop_users && t_user) fprintf(out_fp,"[%s]\n",msg_hlnk_i); if (ntop_agents && t_agent) fprintf(out_fp,"[%s]\n",msg_hlnk_a); if (ntop_ctrys) fprintf(out_fp,"[%s]\n",msg_hlnk_c); fprintf(out_fp,"\n

\n"); } /*********************************************/ /* MONTH_TOTAL_TABLE - monthly totals table */ /*********************************************/ void month_total_table() { int i,days_in_month; u_int64_t max_files=0,max_hits=0,max_visits=0,max_pages=0,max_sites=0; double max_xfer=0.0; days_in_month=(l_day-f_day)+1; for (i=0;i<31;i++) { /* Get max/day values */ if (tm_hit[i]>max_hits) max_hits = tm_hit[i]; if (tm_file[i]>max_files) max_files = tm_file[i]; if (tm_page[i]>max_pages) max_pages = tm_page[i]; if (tm_visit[i]>max_visits) max_visits= tm_visit[i]; if (tm_site[i]>max_sites) max_sites = tm_site[i]; if (tm_xfer[i]>max_xfer) max_xfer = tm_xfer[i]; } fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY,msg_mtot_ms,l_month[cur_month-1],cur_year); fprintf(out_fp,"\n"); /* Total Hits */ fprintf(out_fp,"\n" \ "\n",msg_mtot_th,t_hit); /* Total Files */ fprintf(out_fp,"\n" \ "\n",msg_mtot_tf,t_file); /* Total Pages */ fprintf(out_fp,"\n" \ "\n",msg_h_total, msg_h_pages, t_page); /* Total Visits */ fprintf(out_fp,"\n" \ "\n",msg_h_total, msg_h_visits, t_visit); /* Total XFer */ fprintf(out_fp,"\n" \ "\n",msg_mtot_tx,t_xfer/1024); fprintf(out_fp,"\n"); /**********************************************/ /* Unique Sites */ fprintf(out_fp,"" \ "\n" \ "\n",msg_mtot_us,t_site); /* Unique URLs */ fprintf(out_fp,"" \ "\n" \ "\n",msg_mtot_uu,t_url); /* Unique Referrers */ if (t_ref != 0) fprintf(out_fp,"" \ "\n" \ "\n",msg_mtot_ur,t_ref); /* Unique Usernames */ if (t_user != 0) fprintf(out_fp,"" \ "\n" \ "\n",msg_mtot_ui,t_user); /* Unique Agents */ if (t_agent != 0) fprintf(out_fp,"" \ "\n" \ "\n",msg_mtot_ua,t_agent); fprintf(out_fp,"\n"); /**********************************************/ /* Hourly/Daily avg/max totals */ fprintf(out_fp,"" \ "\n"\ "\n" \ "\n", GREY,GREY,GREY,msg_h_avg,GREY,msg_h_max); fprintf(out_fp,"\n"); /* Max/Avg Hits per Hour */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_mhh, t_hit/(24*days_in_month),mh_hit); /* Max/Avg Hits per Day */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_mhd, t_hit/days_in_month, max_hits); /* Max/Avg Files per Day */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_mfd, t_file/days_in_month,max_files); /* Max/Avg Pages per Day */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_mpd, t_page/days_in_month,max_pages); /* Max/Avg Sites per Day */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_msd, t_site/days_in_month,max_sites); /* Max/Avg Visits per Day */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_mvd, t_visit/days_in_month,max_visits); /* Max/Avg KBytes per Day */ fprintf(out_fp,"" \ "\n" \ "\n" \ "\n",msg_mtot_mkd, (t_xfer/1024)/days_in_month,max_xfer/1024); fprintf(out_fp,"\n"); /**********************************************/ /* response code totals */ fprintf(out_fp,"\n",GREY,msg_mtot_rc); fprintf(out_fp,"\n"); for (i=0;i\n" \ "\n" \ "\n", response[i].desc,PCENT(response[i].count,t_hit),response[i].count); } fprintf(out_fp,"\n"); /**********************************************/ fprintf(out_fp,"
" \ "%s %s %d
%s%llu" \ "
%s%llu" \ "
%s %s%llu" \ "
%s %s%llu" \ "
%s%.0f" \ "
%s%llu" \ "
%s%llu" \ "
%s%llu" \ "
%s%llu" \ "
%s%llu" \ "
." \ "%s " \ "%s
%s%llu%llu" \ "
%s%llu%llu" \ "
%s%llu%llu" \ "
%s%llu%llu" \ "
%s%llu%llu" \ "
%s%llu%llu" \ "
%s%.0f%.0f" \ "
\n" \ "%s
%s%3.02f%%%llu
\n"); fprintf(out_fp,"

\n"); } /*********************************************/ /* DAILY_TOTAL_TABLE - daily totals */ /*********************************************/ void daily_total_table() { int i,j; /* Daily stats */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); /* Daily statistics for ... */ fprintf(out_fp,"\n", GREY,msg_dtot_ds,l_month[cur_month-1], cur_year); fprintf(out_fp,"\n"); fprintf(out_fp,"\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n", GREY, msg_h_day, HITCOLOR, msg_h_hits, FILECOLOR, msg_h_files, PAGECOLOR, msg_h_pages, VISITCOLOR, msg_h_visits, SITECOLOR, msg_h_sites, KBYTECOLOR, msg_h_xfer); fprintf(out_fp,"\n"); /* skip beginning blank days in a month */ for (i=0;i\n", i+1); fprintf(out_fp,"\n" \ "\n", tm_hit[i],PCENT(tm_hit[i],t_hit)); fprintf(out_fp,"\n" \ "\n", tm_file[i],PCENT(tm_file[i],t_file)); fprintf(out_fp,"\n" \ "\n", tm_page[i],PCENT(tm_page[i],t_page)); fprintf(out_fp,"\n" \ "\n", tm_visit[i],PCENT(tm_visit[i],t_visit)); fprintf(out_fp,"\n" \ "\n", tm_site[i],PCENT(tm_site[i],t_site)); fprintf(out_fp,"\n" \ "\n", tm_xfer[i]/1024,PCENT(tm_xfer[i],t_xfer)); } fprintf(out_fp,"\n"); fprintf(out_fp,"
" \ "%s %s %d
" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s
",GRPCOLOR); else fprintf(out_fp,"
"); fprintf(out_fp,"%d" \ "%llu%3.02f%%" \ "%llu%3.02f%%" \ "%llu%3.02f%%" \ "%llu%3.02f%%" \ "%llu%3.02f%%" \ "%.0f%3.02f%%
\n"); fprintf(out_fp,"

\n"); } /*********************************************/ /* HOURLY_TOTAL_TABLE - hourly table */ /*********************************************/ void hourly_total_table() { int i,days_in_month; u_int64_t avg_file=0; double avg_xfer=0.0; days_in_month=(l_day-f_day)+1; /* Hourly stats */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY,msg_htot_hs,l_month[cur_month-1], cur_year); fprintf(out_fp,"\n"); fprintf(out_fp,"\n" \ "\n" \ "\n" \ "\n" \ "\n", GREY, msg_h_hour, HITCOLOR, msg_h_hits, FILECOLOR, msg_h_files, PAGECOLOR, msg_h_pages, KBYTECOLOR, msg_h_xfer); fprintf(out_fp,"\n" \ "\n", HITCOLOR, msg_h_avg, HITCOLOR, msg_h_total); fprintf(out_fp,"\n" \ "\n", FILECOLOR, msg_h_avg, FILECOLOR, msg_h_total); fprintf(out_fp,"\n" \ "\n", PAGECOLOR, msg_h_avg, PAGECOLOR, msg_h_total); fprintf(out_fp,"\n" \ "\n", KBYTECOLOR, msg_h_avg, KBYTECOLOR, msg_h_total); fprintf(out_fp,"\n"); for (i=0;i<24;i++) { fprintf(out_fp,"\n",i); fprintf(out_fp, "\n"\ "\n"\ "\n", th_hit[i]/days_in_month,th_hit[i], PCENT(th_hit[i],t_hit)); fprintf(out_fp, "\n"\ "\n"\ "\n", th_file[i]/days_in_month,th_file[i], PCENT(th_file[i],t_file)); fprintf(out_fp, "\n"\ "\n"\ "\n", th_page[i]/days_in_month,th_page[i], PCENT(th_page[i],t_page)); fprintf(out_fp, "\n" \ "\n" \ "\n", (th_xfer[i]/days_in_month)/1024,th_xfer[i]/1024, PCENT(th_xfer[i],t_xfer)); avg_file += th_file[i]/days_in_month; avg_xfer+= (th_xfer[i]/days_in_month)/1024; } fprintf(out_fp,"\n"); fprintf(out_fp,"
"\ "%s %s %d
" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s
" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s
" \ "%d%llu%llu%3.02f%%%llu%llu%3.02f%%%llu%llu%3.02f%%%.0f%.0f%3.02f%%
\n

\n"); } /*********************************************/ /* TOP_SITES_TABLE - generate top n table */ /*********************************************/ void top_sites_table(int flag) { u_int64_t cnt=0, h_reg=0, h_grp=0, h_hid=0, tot_num; int i; HNODEPTR hptr, *pointer; cnt=a_ctr; pointer=h_array; while(cnt--) { /* calculate totals */ switch ( (int)((HNODEPTR)(*pointer)->flag) ) { case OBJ_REG: h_reg++; break; case OBJ_GRP: h_grp++; break; case OBJ_HIDE: h_hid++; break; } pointer++; } if ( (tot_num=h_reg+h_grp)==0 ) return; /* split if none */ i=(flag)?ntop_sitesK:ntop_sites; /* Hits or KBytes?? */ if (tot_num > i) tot_num = i; /* get max to do... */ if ((!flag) || (flag&&!ntop_sites)) /* now do tag */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); if (flag) fprintf(out_fp,"\n", GREY, msg_top_top,tot_num,msg_top_of, t_site,msg_top_s,msg_h_by,msg_h_xfer); else fprintf(out_fp,"\n", GREY,msg_top_top, tot_num, msg_top_of, t_site, msg_top_s); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY); fprintf(out_fp,"\n",HITCOLOR,msg_h_hits); fprintf(out_fp,"\n",FILECOLOR,msg_h_files); fprintf(out_fp,"\n",KBYTECOLOR,msg_h_xfer); fprintf(out_fp,"\n",VISITCOLOR,msg_h_visits); fprintf(out_fp,"\n",MISCCOLOR,msg_h_hname); fprintf(out_fp,"\n"); pointer=h_array; i=0; while(tot_num) { hptr=*pointer++; if (hptr->flag != OBJ_HIDE) { /* shade grouping? */ if (shade_groups && (hptr->flag==OBJ_GRP)) fprintf(out_fp,"\n", GRPCOLOR); else fprintf(out_fp,"\n"); fprintf(out_fp, "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n", hptr->string); else fprintf(out_fp,"%s\n", hptr->string); tot_num--; i++; } } fprintf(out_fp,"\n"); if ((!flag) || (flag&&!ntop_sites)) { if ( (all_sites) && ((h_reg+h_grp)>ntop_sites) ) { if (all_sites_page(h_reg, h_grp)) { fprintf(out_fp,"",GRPCOLOR); fprintf(out_fp,"\n",msg_v_sites); if (flag) /* do we need to sort? */ qsort(h_array,a_ctr,sizeof(HNODEPTR),qs_site_cmph); } } } fprintf(out_fp,"
" \ "%s %llu %s %llu %s %s %s
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s
%d%llu%3.02f%%%llu%3.02f%%%.0f%3.02f%%%llu%3.02f%%", i+1,hptr->count, (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files, (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024, (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit, (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0); if ((hptr->flag==OBJ_GRP)&&hlite_groups) fprintf(out_fp,"%s
\n"); fprintf(out_fp,""); fprintf(out_fp,"", cur_year,cur_month,html_ext); fprintf(out_fp,"%s
\n

\n"); } /*********************************************/ /* ALL_SITES_PAGE - HTML page of all sites */ /*********************************************/ int all_sites_page(u_int64_t h_reg, u_int64_t h_grp) { HNODEPTR hptr, *pointer; char site_fname[256], buffer[256]; FILE *out_fp; int i=(h_grp)?1:0; /* generate file name */ snprintf(site_fname,sizeof(site_fname),"site_%04d%02d.%s", cur_year,cur_month,html_ext); /* open file */ if ( (out_fp=open_out_file(site_fname))==NULL ) return 0; snprintf(buffer,sizeof(buffer),"%s %d - %s", l_month[cur_month-1],cur_year,msg_h_sites); write_html_head(buffer, out_fp); fprintf(out_fp,"

\n");

   fprintf(out_fp," %12s      %12s      %12s      %12s      %s\n",
           msg_h_hits, msg_h_files, msg_h_xfer, msg_h_visits, msg_h_hname);
   fprintf(out_fp,"----------------  ----------------  ----------------  " \
                  "----------------  --------------------\n\n");

   /* Do groups first (if any) */
   pointer=h_array;
   while(h_grp)
   {
      hptr=*pointer++;
      if (hptr->flag == OBJ_GRP)
      {
         fprintf(out_fp,
            "%-8llu %6.02f%%  %8llu %6.02f%%  %8.0f %6.02f%%  "            \
            "%8llu %6.02f%%  %s\n",
            hptr->count,
            (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files,
            (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024,
            (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit,
            (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0,
            hptr->string);
         h_grp--;
      }
   }

   if (i) fprintf(out_fp,"\n");

   /* Now do individual sites (if any) */
   pointer=h_array;
   if (!hide_sites) while(h_reg)
   {
      hptr=*pointer++;
      if (hptr->flag == OBJ_REG)
      {
         fprintf(out_fp,
            "%-8llu %6.02f%%  %8llu %6.02f%%  %8.0f %6.02f%%  "            \
            "%8llu %6.02f%%  %s\n",
            hptr->count,
            (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files,
            (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024,
            (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit,
            (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0,
            hptr->string);
         h_reg--;
      }
   }

   fprintf(out_fp,"
\n"); write_html_tail(out_fp); fclose(out_fp); return 1; } /*********************************************/ /* TOP_URLS_TABLE - generate top n table */ /*********************************************/ void top_urls_table(int flag) { u_int64_t cnt=0,u_reg=0,u_grp=0,u_hid=0, tot_num; int i; UNODEPTR uptr, *pointer; cnt=a_ctr; pointer=u_array; while (cnt--) { /* calculate totals */ switch ( (int)((UNODEPTR)(*pointer)->flag) ) { case OBJ_REG: u_reg++; break; case OBJ_GRP: u_grp++; break; case OBJ_HIDE: u_hid++; break; } pointer++; } if ( (tot_num=u_reg+u_grp)==0 ) return; /* split if none */ i=(flag)?ntop_urlsK:ntop_urls; /* Hits or KBytes?? */ if (tot_num > i) tot_num = i; /* get max to do... */ if ((!flag) || (flag&&!ntop_urls)) /* now do tag */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); if (flag) fprintf(out_fp,"\n", GREY,msg_top_top,tot_num,msg_top_of, t_url,msg_top_u,msg_h_by,msg_h_xfer); else fprintf(out_fp,"\n", GREY,msg_top_top,tot_num,msg_top_of,t_url,msg_top_u); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY); fprintf(out_fp,"\n", HITCOLOR,msg_h_hits); fprintf(out_fp,"\n", KBYTECOLOR,msg_h_xfer); fprintf(out_fp,"\n", MISCCOLOR,msg_h_url); fprintf(out_fp,"\n"); pointer=u_array; i=0; while (tot_num) { uptr=*pointer++; /* point to the URL node */ if (uptr->flag != OBJ_HIDE) { /* shade grouping? */ if (shade_groups && (uptr->flag==OBJ_GRP)) fprintf(out_fp,"\n", GRPCOLOR); else fprintf(out_fp,"\n"); fprintf(out_fp, "\n" \ "\n"\ "\n" \ "\n"\ "\n" \ "\n", uptr->string); else fprintf(out_fp,"%s\n",uptr->string); } else { /* check for a service prefix (ie: http://) */ if (strstr(uptr->string,"://")!=NULL) fprintf(out_fp,"%s\n", uptr->string,uptr->string); else { if (log_type == LOG_FTP) /* FTP log? */ fprintf(out_fp,"%s\n",uptr->string); else { /* Web log */ if (use_https) /* secure server mode, use https:// */ fprintf(out_fp, "%s\n", hname,uptr->string,uptr->string); else /* otherwise use standard 'http://' */ fprintf(out_fp, "%s\n", hname,uptr->string,uptr->string); } } } tot_num--; i++; } } fprintf(out_fp,"\n"); if ((!flag) || (flag&&!ntop_urls)) { if ( (all_urls) && ((u_reg+u_grp)>ntop_urls) ) { if (all_urls_page(u_reg, u_grp)) { fprintf(out_fp,"",GRPCOLOR); fprintf(out_fp,"\n",msg_v_urls); if (flag) /* do we need to sort first? */ qsort(u_array,a_ctr,sizeof(UNODEPTR),qs_url_cmph); } } } fprintf(out_fp,"
" \ "%s %llu %s %llu %s %s %s
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s" \ "%s
%d%llu%3.02f%%%.0f%3.02f%%", i+1,uptr->count, (t_hit==0)?0:((float)uptr->count/t_hit)*100.0, uptr->xfer/1024, (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0); if (uptr->flag==OBJ_GRP) { if (hlite_groups) fprintf(out_fp,"%s
\n"); fprintf(out_fp,""); fprintf(out_fp,"", cur_year,cur_month,html_ext); fprintf(out_fp,"%s
\n

\n"); } /*********************************************/ /* ALL_URLS_PAGE - HTML page of all urls */ /*********************************************/ int all_urls_page(u_int64_t u_reg, u_int64_t u_grp) { UNODEPTR uptr, *pointer; char url_fname[256], buffer[256]; FILE *out_fp; int i=(u_grp)?1:0; /* generate file name */ snprintf(url_fname,sizeof(url_fname),"url_%04d%02d.%s", cur_year,cur_month,html_ext); /* open file */ if ( (out_fp=open_out_file(url_fname))==NULL ) return 0; snprintf(buffer,sizeof(buffer),"%s %d - %s", l_month[cur_month-1],cur_year,msg_h_url); write_html_head(buffer, out_fp); fprintf(out_fp,"

\n");

   fprintf(out_fp," %12s      %12s      %s\n",
           msg_h_hits,msg_h_xfer,msg_h_url);
   fprintf(out_fp,"----------------  ----------------  " \
                  "--------------------\n\n");

   /* do groups first (if any) */
   pointer=u_array;
   while (u_grp)
   {
      uptr=*pointer++;
      if (uptr->flag == OBJ_GRP)
      {
         fprintf(out_fp,"%-8llu %6.02f%%  %8.0f %6.02f%%  %s\n",
            uptr->count,
            (t_hit==0)?0:((float)uptr->count/t_hit)*100.0,
            uptr->xfer/1024,
            (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0,
            uptr->string);
         u_grp--;
      }
   }

   if (i) fprintf(out_fp,"\n");

   /* now do invididual sites (if any) */
   pointer=u_array;
   while (u_reg)
   {
      uptr=*pointer++;
      if (uptr->flag == OBJ_REG)
      {
         fprintf(out_fp,"%-8llu %6.02f%%  %8.0f %6.02f%%  %s\n",
            uptr->count,
            (t_hit==0)?0:((float)uptr->count/t_hit)*100.0,
            uptr->xfer/1024,
            (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0,
            uptr->string);
         u_reg--;
      }
   }

   fprintf(out_fp,"
\n"); write_html_tail(out_fp); fclose(out_fp); return 1; } /*********************************************/ /* TOP_ENTRY_TABLE - top n entry/exit urls */ /*********************************************/ void top_entry_table(int flag) { u_int64_t cnt=0, u_entry=0, u_exit=0, tot_num; u_int64_t t_entry=0, t_exit=0; int i; UNODEPTR uptr, *pointer; cnt=a_ctr; pointer=u_array; while (cnt--) { if ( (int)((UNODEPTR)(*pointer)->flag) == OBJ_REG ) { if ( (u_int64_t)(((UNODEPTR)(*pointer))->entry) ) { u_entry++; t_entry+=(u_int64_t)(((UNODEPTR)(*pointer))->entry); } if ( (u_int64_t)(((UNODEPTR)(*pointer))->exit) ) { u_exit++; t_exit +=(u_int64_t)(((UNODEPTR)(*pointer))->exit); } } pointer++; } /* calculate how many we have */ tot_num=(flag)?u_exit:u_entry; if (flag) { if (tot_num > ntop_exit ) tot_num=ntop_exit; } else { if (tot_num > ntop_entry) tot_num=ntop_entry; } /* return if none to do */ if (!tot_num) return; if (flag) fprintf(out_fp,"\n"); /* do anchor tag */ else fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY,msg_top_top,tot_num,msg_top_of, (flag)?u_exit:u_entry,(flag)?msg_top_ex:msg_top_en); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY); fprintf(out_fp,"\n", HITCOLOR,msg_h_hits); fprintf(out_fp,"\n", VISITCOLOR,msg_h_visits); fprintf(out_fp,"\n", MISCCOLOR,msg_h_url); fprintf(out_fp,"\n"); pointer=u_array; i=0; while (tot_num) { uptr=*pointer++; if (uptr->flag != OBJ_HIDE) { fprintf(out_fp,"\n"); fprintf(out_fp, "\n" \ "\n"\ "\n" \ "\n"\ "\n" \ "\n", uptr->string,uptr->string); else { if (use_https) /* secure server mode, use https:// */ fprintf(out_fp, "%s\n", hname,uptr->string,uptr->string); else /* otherwise use standard 'http://' */ fprintf(out_fp, "%s\n", hname,uptr->string,uptr->string); } tot_num--; i++; } } fprintf(out_fp,"\n"); fprintf(out_fp,"
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s" \ "%s
%d%llu%3.02f%%%llu%3.02f%%", i+1,uptr->count, (t_hit==0)?0:((float)uptr->count/t_hit)*100.0, (flag)?uptr->exit:uptr->entry, (flag)?((t_exit==0)?0:((float)uptr->exit/t_exit)*100.0) :((t_entry==0)?0:((float)uptr->entry/t_entry)*100.0)); /* check for a service prefix (ie: http://) */ if (strstr(uptr->string,"://")!=NULL) fprintf(out_fp, "%s
\n

\n"); } /*********************************************/ /* TOP_REFS_TABLE - generate top n table */ /*********************************************/ void top_refs_table() { u_int64_t cnt=0, r_reg=0, r_grp=0, r_hid=0, tot_num; int i; RNODEPTR rptr, *pointer; if (t_ref==0) return; /* return if none to process */ cnt=a_ctr; pointer=r_array; while(cnt--) { /* calculate totals */ switch ( (int)((RNODEPTR)(*pointer)->flag) ) { case OBJ_REG: r_reg++; break; case OBJ_HIDE: r_hid++; break; case OBJ_GRP: r_grp++; break; } pointer++; } if ( (tot_num=r_reg+r_grp)==0 ) return; /* split if none */ if (tot_num > ntop_refs) tot_num=ntop_refs; /* get max to do... */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY, msg_top_top, tot_num, msg_top_of, t_ref, msg_top_r); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY); fprintf(out_fp,"\n", HITCOLOR,msg_h_hits); fprintf(out_fp,"\n", MISCCOLOR,msg_h_ref); fprintf(out_fp,"\n"); pointer=r_array; i=0; while(tot_num) { rptr=*pointer++; if (rptr->flag != OBJ_HIDE) { /* shade grouping? */ if (shade_groups && (rptr->flag==OBJ_GRP)) fprintf(out_fp,"\n", GRPCOLOR); else fprintf(out_fp,"\n"); fprintf(out_fp, "\n" \ "\n" \ "\n" \ "\n"); tot_num--; i++; } } fprintf(out_fp,"\n"); if ( (all_refs) && ((r_reg+r_grp)>ntop_refs) ) { if (all_refs_page(r_reg, r_grp)) { fprintf(out_fp,"",GRPCOLOR); fprintf(out_fp,"\n",msg_v_refs); } } fprintf(out_fp,"
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s
%d%llu%3.02f%%", i+1,rptr->count, (t_hit==0)?0:((float)rptr->count/t_hit)*100.0); if (rptr->flag==OBJ_GRP) { if (hlite_groups) fprintf(out_fp,"%s",rptr->string); else fprintf(out_fp,"%s",rptr->string); } else { /* only link if enabled and has a service prefix */ if ( (strstr(rptr->string,"://")!=NULL) && link_referrer ) fprintf(out_fp,"%s", rptr->string, rptr->string); else fprintf(out_fp,"%s", rptr->string); } fprintf(out_fp,"
\n"); fprintf(out_fp,""); fprintf(out_fp,"", cur_year,cur_month,html_ext); fprintf(out_fp,"%s
\n

\n"); } /*********************************************/ /* ALL_REFS_PAGE - HTML page of all refs */ /*********************************************/ int all_refs_page(u_int64_t r_reg, u_int64_t r_grp) { RNODEPTR rptr, *pointer; char ref_fname[256], buffer[256]; FILE *out_fp; int i=(r_grp)?1:0; /* generate file name */ snprintf(ref_fname,sizeof(ref_fname),"ref_%04d%02d.%s", cur_year,cur_month,html_ext); /* open file */ if ( (out_fp=open_out_file(ref_fname))==NULL ) return 0; snprintf(buffer,sizeof(buffer),"%s %d - %s", l_month[cur_month-1],cur_year,msg_h_ref); write_html_head(buffer, out_fp); fprintf(out_fp,"

\n");

   fprintf(out_fp," %12s      %s\n",msg_h_hits,msg_h_ref);
   fprintf(out_fp,"----------------  --------------------\n\n");

   /* do groups first (if any) */
   pointer=r_array;
   while(r_grp)
   {
      rptr=*pointer++;
      if (rptr->flag == OBJ_GRP)
      {
         fprintf(out_fp,"%-8llu %6.02f%%  %s\n",
            rptr->count,
            (t_hit==0)?0:((float)rptr->count/t_hit)*100.0,
            rptr->string);
         r_grp--;
      }
   }

   if (i) fprintf(out_fp,"\n");

   pointer=r_array;
   while(r_reg)
   {
      rptr=*pointer++;
      if (rptr->flag == OBJ_REG)
      {
         fprintf(out_fp,"%-8llu %6.02f%%  %s\n",
            rptr->count,
            (t_hit==0)?0:((float)rptr->count/t_hit)*100.0,
            rptr->string);
         r_reg--;
      }
   }

   fprintf(out_fp,"
\n"); write_html_tail(out_fp); fclose(out_fp); return 1; } /*********************************************/ /* TOP_AGENTS_TABLE - generate top n table */ /*********************************************/ void top_agents_table() { u_int64_t cnt, a_reg=0, a_grp=0, a_hid=0, tot_num; int i; ANODEPTR aptr, *pointer; if (t_agent == 0) return; /* don't bother if we don't have any */ cnt=a_ctr; pointer=a_array; while(cnt--) { /* calculate totals */ switch ( (int)((ANODEPTR)(*pointer)->flag) ) { case OBJ_REG: a_reg++; break; case OBJ_GRP: a_grp++; break; case OBJ_HIDE: a_hid++; break; } pointer++; } if ( (tot_num=a_reg+a_grp)==0 ) return; /* split if none */ if (tot_num > ntop_agents) tot_num=ntop_agents; /* get max to do... */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY, msg_top_top, tot_num, msg_top_of, t_agent, msg_top_a); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY); fprintf(out_fp,"\n", HITCOLOR,msg_h_hits); fprintf(out_fp,"\n", MISCCOLOR,msg_h_agent); fprintf(out_fp,"\n"); pointer=a_array; i=0; while(tot_num) { aptr=*pointer++; if (aptr->flag != OBJ_HIDE) { /* shade grouping? */ if (shade_groups && (aptr->flag==OBJ_GRP)) fprintf(out_fp,"\n", GRPCOLOR); else fprintf(out_fp,"\n"); fprintf(out_fp, "\n" \ "\n"\ "\n" \ "\n", aptr->string); else fprintf(out_fp,"%s\n", aptr->string); tot_num--; i++; } } fprintf(out_fp,"\n"); if ( (all_agents) && ((a_reg+a_grp)>ntop_agents) ) { if (all_agents_page(a_reg, a_grp)) { fprintf(out_fp,"",GRPCOLOR); fprintf(out_fp,"\n",msg_v_agents); } } fprintf(out_fp,"
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s
%d%llu%3.02f%%", i+1,aptr->count, (t_hit==0)?0:((float)aptr->count/t_hit)*100.0); if ((aptr->flag==OBJ_GRP)&&hlite_groups) fprintf(out_fp,"%s
\n"); fprintf(out_fp,""); fprintf(out_fp,"", cur_year,cur_month,html_ext); fprintf(out_fp,"%s
\n

\n"); } /*********************************************/ /* ALL_AGENTS_PAGE - HTML user agent page */ /*********************************************/ int all_agents_page(u_int64_t a_reg, u_int64_t a_grp) { ANODEPTR aptr, *pointer; char agent_fname[256], buffer[256]; FILE *out_fp; int i=(a_grp)?1:0; /* generate file name */ snprintf(agent_fname,sizeof(agent_fname),"agent_%04d%02d.%s", cur_year,cur_month,html_ext); /* open file */ if ( (out_fp=open_out_file(agent_fname))==NULL ) return 0; snprintf(buffer,sizeof(buffer),"%s %d - %s", l_month[cur_month-1],cur_year,msg_h_agent); write_html_head(buffer, out_fp); fprintf(out_fp,"

\n");

   fprintf(out_fp," %12s      %s\n",msg_h_hits,msg_h_agent);
   fprintf(out_fp,"----------------  ----------------------\n\n");

   /* do groups first (if any) */
   pointer=a_array;
   while(a_grp)
   {
      aptr=*pointer++;
      if (aptr->flag == OBJ_GRP)
      {
         fprintf(out_fp,"%-8llu %6.02f%%  %s\n",
             aptr->count,
             (t_hit==0)?0:((float)aptr->count/t_hit)*100.0,
             aptr->string);
         a_grp--;
      }
   }

   if (i) fprintf(out_fp,"\n");

   pointer=a_array;
   while(a_reg)
   {
      aptr=*pointer++;
      if (aptr->flag == OBJ_REG)
      {
         fprintf(out_fp,"%-8llu %6.02f%%  %s\n",
             aptr->count,
             (t_hit==0)?0:((float)aptr->count/t_hit)*100.0,
             aptr->string);
         a_reg--;
      }
   }

   fprintf(out_fp,"
\n"); write_html_tail(out_fp); fclose(out_fp); return 1; } /*********************************************/ /* TOP_SEARCH_TABLE - generate top n table */ /*********************************************/ void top_search_table() { u_int64_t cnt,t_val=0, tot_num; int i; SNODEPTR sptr, *pointer; if (a_ctr==0) return; /* don't bother if none to do */ cnt=tot_num=a_ctr; pointer=s_array; while(cnt--) { t_val+=(u_int64_t)(((SNODEPTR)(*pointer))->count); pointer++; } if ( tot_num > ntop_search) tot_num=ntop_search; fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY, msg_top_top, tot_num, msg_top_of, a_ctr, msg_top_sr); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY); fprintf(out_fp,"\n", HITCOLOR,msg_h_hits); fprintf(out_fp,"\n", MISCCOLOR,msg_h_search); fprintf(out_fp,"\n"); pointer=s_array; i=0; while(tot_num) { sptr=*pointer++; fprintf(out_fp, "\n" \ "\n" \ "\n"\ "\n" \ "\n",sptr->string); tot_num--; i++; } fprintf(out_fp,"\n"); if ( (all_search) && (a_ctr>ntop_search) ) { if (all_search_page(a_ctr, t_val)) { fprintf(out_fp,"",GRPCOLOR); fprintf(out_fp,"\n",msg_v_search); } } fprintf(out_fp,"
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s
%d%llu%3.02f%%", i+1,sptr->count, (t_val==0)?0:((float)sptr->count/t_val)*100.0); fprintf(out_fp,"%s
\n"); fprintf(out_fp,""); fprintf(out_fp,"", cur_year,cur_month,html_ext); fprintf(out_fp,"%s
\n

\n"); } /*********************************************/ /* ALL_SEARCH_PAGE - HTML for search strings */ /*********************************************/ int all_search_page(u_int64_t tot_num, u_int64_t t_val) { SNODEPTR sptr, *pointer; char search_fname[256], buffer[256]; FILE *out_fp; if (!tot_num) return 0; /* generate file name */ snprintf(search_fname,sizeof(search_fname),"search_%04d%02d.%s", cur_year,cur_month,html_ext); /* open file */ if ( (out_fp=open_out_file(search_fname))==NULL ) return 0; snprintf(buffer,sizeof(buffer),"%s %d - %s", l_month[cur_month-1],cur_year,msg_h_search); write_html_head(buffer, out_fp); fprintf(out_fp,"

\n");

   fprintf(out_fp," %12s      %s\n",msg_h_hits,msg_h_search);
   fprintf(out_fp,"----------------  ----------------------\n\n");

   pointer=s_array;
   while(tot_num)
   {
      sptr=*pointer++;
      fprintf(out_fp,"%-8llu %6.02f%%  %s\n",
         sptr->count,
         (t_val==0)?0:((float)sptr->count/t_val)*100.0,
         sptr->string);
      tot_num--;
   }
   fprintf(out_fp,"
\n"); write_html_tail(out_fp); fclose(out_fp); return 1; } /*********************************************/ /* TOP_USERS_TABLE - generate top n table */ /*********************************************/ void top_users_table() { u_int64_t cnt=0, i_reg=0, i_grp=0, i_hid=0, tot_num; int i; INODEPTR iptr, *pointer; cnt=a_ctr; pointer=i_array; while(cnt--) { /* calculate totals */ switch ( (int)((INODEPTR)(*pointer)->flag) ) { case OBJ_REG: i_reg++; break; case OBJ_GRP: i_grp++; break; case OBJ_HIDE: i_hid++; break; } pointer++; } if ( (tot_num=i_reg+i_grp)==0 ) return; /* split if none */ if (tot_num > ntop_users) tot_num = ntop_users; fprintf(out_fp,"\n"); /* now do tag */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY,msg_top_top, tot_num, msg_top_of, t_user, msg_top_i); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY); fprintf(out_fp,"\n",HITCOLOR,msg_h_hits); fprintf(out_fp,"\n",FILECOLOR,msg_h_files); fprintf(out_fp,"\n",KBYTECOLOR,msg_h_xfer); fprintf(out_fp,"\n",VISITCOLOR,msg_h_visits); fprintf(out_fp,"\n",MISCCOLOR,msg_h_uname); fprintf(out_fp,"\n"); pointer=i_array; i=0; while(tot_num) { iptr=*pointer++; if (iptr->flag != OBJ_HIDE) { /* shade grouping? */ if (shade_groups && (iptr->flag==OBJ_GRP)) fprintf(out_fp,"\n", GRPCOLOR); else fprintf(out_fp,"\n"); fprintf(out_fp, "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n", iptr->string); else fprintf(out_fp,"%s\n", iptr->string); tot_num--; i++; } } fprintf(out_fp,"\n"); if ( (all_users) && ((i_reg+i_grp)>ntop_users) ) { if (all_users_page(i_reg, i_grp)) { fprintf(out_fp,"",GRPCOLOR); fprintf(out_fp,"\n",msg_v_users); } } fprintf(out_fp,"
" \ "%s %llu %s %llu %s
" \ "#" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s
%d%llu%3.02f%%%llu%3.02f%%%.0f%3.02f%%%llu%3.02f%%", i+1,iptr->count, (t_hit==0)?0:((float)iptr->count/t_hit)*100.0,iptr->files, (t_file==0)?0:((float)iptr->files/t_file)*100.0,iptr->xfer/1024, (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->visit, (t_visit==0)?0:((float)iptr->visit/t_visit)*100.0); if ((iptr->flag==OBJ_GRP)&&hlite_groups) fprintf(out_fp,"%s
\n"); fprintf(out_fp,""); fprintf(out_fp,"", cur_year,cur_month,html_ext); fprintf(out_fp,"%s
\n

\n"); } /*********************************************/ /* ALL_USERS_PAGE - HTML of all usernames */ /*********************************************/ int all_users_page(u_int64_t i_reg, u_int64_t i_grp) { INODEPTR iptr, *pointer; char user_fname[256], buffer[256]; FILE *out_fp; int i=(i_grp)?1:0; /* generate file name */ snprintf(user_fname,sizeof(user_fname),"user_%04d%02d.%s", cur_year,cur_month,html_ext); /* open file */ if ( (out_fp=open_out_file(user_fname))==NULL ) return 0; snprintf(buffer,sizeof(buffer),"%s %d - %s", l_month[cur_month-1],cur_year,msg_h_uname); write_html_head(buffer, out_fp); fprintf(out_fp,"

\n");

   fprintf(out_fp," %12s      %12s      %12s      %12s      %s\n",
           msg_h_hits, msg_h_files, msg_h_xfer, msg_h_visits, msg_h_uname);
   fprintf(out_fp,"----------------  ----------------  ----------------  " \
                  "----------------  --------------------\n\n");

   /* Do groups first (if any) */
   pointer=i_array;
   while(i_grp)
   {
      iptr=*pointer++;
      if (iptr->flag == OBJ_GRP)
      {
         fprintf(out_fp,
      "%-8llu %6.02f%%  %8llu %6.02f%%  %8.0f %6.02f%%  %8llu %6.02f%%  %s\n",
            iptr->count,
            (t_hit==0)?0:((float)iptr->count/t_hit)*100.0,iptr->files,
            (t_file==0)?0:((float)iptr->files/t_file)*100.0,iptr->xfer/1024,
            (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->visit,
            (t_visit==0)?0:((float)iptr->visit/t_visit)*100.0,
            iptr->string);
         i_grp--;
      }
   }

   if (i) fprintf(out_fp,"\n");

   /* Now do individual users (if any) */
   pointer=i_array;
   while(i_reg)
   {
      iptr=*pointer++;
      if (iptr->flag == OBJ_REG)
      {
         fprintf(out_fp,
      "%-8llu %6.02f%%  %8llu %6.02f%%  %8.0f %6.02f%%  %8llu %6.02f%%  %s\n",
            iptr->count,
            (t_hit==0)?0:((float)iptr->count/t_hit)*100.0,iptr->files,
            (t_file==0)?0:((float)iptr->files/t_file)*100.0,iptr->xfer/1024,
            (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->visit,
            (t_visit==0)?0:((float)iptr->visit/t_visit)*100.0,
            iptr->string);
         i_reg--;
      }
   }

   fprintf(out_fp,"
\n"); write_html_tail(out_fp); fclose(out_fp); return 1; } /*********************************************/ /* TOP_CTRY_TABLE - top countries table */ /*********************************************/ void top_ctry_table() { int i,j,x,tot_num=0,tot_ctry=0; int ctry_fnd=0; u_int64_t idx; HNODEPTR hptr; char *domain; u_int64_t pie_data[10]; char *pie_legend[10]; char pie_title[48]; char pie_fname[48]; char flag_buf[256]; extern int ctry_graph; /* include external flag */ #ifdef USE_GEOIP extern int geoip; extern GeoIP *geo_fp; const char *geo_rc=NULL; #endif char geo_ctry[3]="--"; /* scan hash table adding up domain totals */ for (i=0;iflag != OBJ_GRP) /* ignore group totals */ { if (isipaddr(hptr->string)>0) { idx=0; /* unresolved/unknown */ #ifdef USE_DNS if (geodb) { /* Lookup IP address here, turn into idx */ geodb_get_cc(geo_db, hptr->string, geo_ctry); if (geo_ctry[0]=='-') { if (debug_mode) fprintf(stderr,"GeoDB: %s unknown!\n",hptr->string); } else idx=ctry_idx(geo_ctry); } #endif #ifdef USE_GEOIP if (geoip) { /* Lookup IP address here, turn into idx */ geo_rc=GeoIP_country_code_by_addr(geo_fp, hptr->string); if (geo_rc==NULL||geo_rc[0]=='\0'||geo_rc[0]=='-') { if (debug_mode) fprintf(stderr,"GeoIP: %s unknown (returns '%s')\n", hptr->string,(geo_rc==NULL)?"null":geo_rc); } else { /* index returned geo_ctry */ geo_ctry[0]=tolower(geo_rc[0]); geo_ctry[1]=tolower(geo_rc[1]); idx=ctry_idx(geo_ctry); } } #endif /* USE_GEOIP */ } else { /* resolved hostname.. try to get TLD */ domain = hptr->string+strlen(hptr->string)-1; while ( (*domain!='.')&&(domain!=hptr->string)) domain--; if (domain++==hptr->string) idx=0; else idx=ctry_idx(domain); } if (idx!=0) { ctry_fnd=0; for (j=0;ctry[j].desc;j++) { if (idx==ctry[j].idx) { ctry[j].count+=hptr->count; ctry[j].files+=hptr->files; ctry[j].xfer +=hptr->xfer; ctry_fnd=1; break; } } } if (!ctry_fnd || idx==0) { ctry[0].count+=hptr->count; ctry[0].files+=hptr->files; ctry[0].xfer +=hptr->xfer; } } hptr=hptr->next; } } for (i=0;ctry[i].desc;i++) { if (ctry[i].count!=0) tot_ctry++; for (j=0;j top_ctrys[j]->count) { for (x=ntop_ctrys-1;x>j;x--) top_ctrys[x]=top_ctrys[x-1]; top_ctrys[x]=&ctry[i]; break; } } } } /* put our anchor tag first... */ fprintf(out_fp,"
\n"); /* generate pie chart if needed */ if (ctry_graph) { for (i=0;i<10;i++) pie_data[i]=0; /* init data array */ if (ntop_ctrys<10) j=ntop_ctrys; else j=10; /* ensure data size */ for (i=0;icount; /* load the array */ pie_legend[i]=top_ctrys[i]->desc; } snprintf(pie_title,sizeof(pie_title),"%s %s %d", msg_ctry_use,l_month[cur_month-1],cur_year); sprintf(pie_fname,"ctry_usage_%04d%02d.png",cur_year,cur_month); pie_chart(pie_fname,pie_title,t_hit,pie_data,pie_legend); /* do it */ /* put the image tag in the page */ fprintf(out_fp,"\"%s\"

\n",pie_fname,pie_title); } /* Now do the table */ for (i=0;icount!=0) tot_num++; fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n", GREY,msg_top_top,tot_num,msg_top_of,tot_ctry,msg_top_c); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY); fprintf(out_fp,"\n",HITCOLOR,msg_h_hits); fprintf(out_fp,"\n",FILECOLOR,msg_h_files); fprintf(out_fp,"\n",KBYTECOLOR,msg_h_xfer); fprintf(out_fp,"\n",MISCCOLOR,msg_h_ctry); fprintf(out_fp,"\n"); for (i=0;iidx)); if (strlen(domain)<3 && idx!=0) /* only to ccTLDs */ { if ( domain[0]!='a'||domain[1]!='p' ) /* all but 'ap' */ snprintf(flag_buf,sizeof(flag_buf), "\"%s\" ", flag_dir,domain,top_ctrys[i]->desc); } } if (top_ctrys[i]->count!=0) fprintf(out_fp,"" \ "\n" \ "\n"\ "\n" \ "\n"\ "\n" \ "\n"\ "\n" \ "\n", i+1,top_ctrys[i]->count, (t_hit==0)?0:((float)top_ctrys[i]->count/t_hit)*100.0, top_ctrys[i]->files, (t_file==0)?0:((float)top_ctrys[i]->files/t_file)*100.0, top_ctrys[i]->xfer/1024, (t_xfer==0)?0:((float)top_ctrys[i]->xfer/t_xfer)*100.0, flag_buf,top_ctrys[i]->desc); } fprintf(out_fp,"\n"); fprintf(out_fp,"
" \ "%s %d %s %d %s
" \ "#" \ "%s" \ "%s" \ "%s" \ "%s
%d%llu%3.02f%%%llu%3.02f%%%.0f%3.02f%%%s%s" \ "
\n

\n"); } /*********************************************/ /* DUMP_ALL_SITES - dump sites to tab file */ /*********************************************/ void dump_all_sites() { HNODEPTR hptr, *pointer; FILE *out_fp; char filename[256]; u_int64_t cnt=a_ctr; /* generate file name */ snprintf(filename,sizeof(filename),"%s/site_%04d%02d.%s", (dump_path)?dump_path:".",cur_year,cur_month,dump_ext); /* open file */ if ( (out_fp=open_out_file(filename))==NULL ) return; /* need a header? */ if (dump_header) { fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\n", msg_h_hits,msg_h_files,msg_h_xfer,msg_h_visits,msg_h_hname); } /* dump 'em */ pointer=h_array; while (cnt) { hptr=*pointer++; if (hptr->flag != OBJ_GRP) { fprintf(out_fp, "%llu\t%llu\t%.0f\t%llu\t%s\n", hptr->count,hptr->files,hptr->xfer/1024, hptr->visit,hptr->string); } cnt--; } fclose(out_fp); return; } /*********************************************/ /* DUMP_ALL_URLS - dump all urls to tab file */ /*********************************************/ void dump_all_urls() { UNODEPTR uptr, *pointer; FILE *out_fp; char filename[256]; u_int64_t cnt=a_ctr; /* generate file name */ snprintf(filename,sizeof(filename),"%s/url_%04d%02d.%s", (dump_path)?dump_path:".",cur_year,cur_month,dump_ext); /* open file */ if ( (out_fp=open_out_file(filename))==NULL ) return; /* need a header? */ if (dump_header) { fprintf(out_fp,"%s\t%s\t%s\n",msg_h_hits,msg_h_xfer,msg_h_url); } /* dump 'em */ pointer=u_array; while (cnt) { uptr=*pointer++; if (uptr->flag != OBJ_GRP) { fprintf(out_fp,"%llu\t%.0f\t%s\n", uptr->count,uptr->xfer/1024,uptr->string); } cnt--; } fclose(out_fp); return; } /*********************************************/ /* DUMP_ALL_REFS - dump all refs to tab file */ /*********************************************/ void dump_all_refs() { RNODEPTR rptr, *pointer; FILE *out_fp; char filename[256]; u_int64_t cnt=a_ctr; /* generate file name */ snprintf(filename,sizeof(filename),"%s/ref_%04d%02d.%s", (dump_path)?dump_path:".",cur_year,cur_month,dump_ext); /* open file */ if ( (out_fp=open_out_file(filename))==NULL ) return; /* need a header? */ if (dump_header) { fprintf(out_fp,"%s\t%s\n",msg_h_hits,msg_h_ref); } /* dump 'em */ pointer=r_array; while(cnt) { rptr=*pointer++; if (rptr->flag != OBJ_GRP) { fprintf(out_fp,"%llu\t%s\n",rptr->count, rptr->string); } cnt--; } fclose(out_fp); return; } /*********************************************/ /* DUMP_ALL_AGENTS - dump agents htab file */ /*********************************************/ void dump_all_agents() { ANODEPTR aptr, *pointer; FILE *out_fp; char filename[256]; u_int64_t cnt=a_ctr; /* generate file name */ snprintf(filename,sizeof(filename),"%s/agent_%04d%02d.%s", (dump_path)?dump_path:".",cur_year,cur_month,dump_ext); /* open file */ if ( (out_fp=open_out_file(filename))==NULL ) return; /* need a header? */ if (dump_header) { fprintf(out_fp,"%s\t%s\n",msg_h_hits,msg_h_agent); } /* dump 'em */ pointer=a_array; while(cnt) { aptr=*pointer++; if (aptr->flag != OBJ_GRP) { fprintf(out_fp,"%llu\t%s\n",aptr->count,aptr->string); } cnt--; } fclose(out_fp); return; } /*********************************************/ /* DUMP_ALL_USERS - dump username tab file */ /*********************************************/ void dump_all_users() { INODEPTR iptr, *pointer; FILE *out_fp; char filename[256]; u_int64_t cnt=a_ctr; /* generate file name */ snprintf(filename,sizeof(filename),"%s/user_%04d%02d.%s", (dump_path)?dump_path:".",cur_year,cur_month,dump_ext); /* open file */ if ( (out_fp=open_out_file(filename))==NULL ) return; /* need a header? */ if (dump_header) { fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\n", msg_h_hits,msg_h_files,msg_h_xfer,msg_h_visits,msg_h_uname); } /* dump 'em */ pointer=i_array; while(cnt) { iptr=*pointer++; if (iptr->flag != OBJ_GRP) { fprintf(out_fp, "%llu\t%llu\t%.0f\t%llu\t%s\n", iptr->count,iptr->files,iptr->xfer/1024, iptr->visit,iptr->string); } cnt--; } fclose(out_fp); return; } /*********************************************/ /* DUMP_ALL_SEARCH - dump search htab file */ /*********************************************/ void dump_all_search() { SNODEPTR sptr, *pointer; FILE *out_fp; char filename[256]; u_int64_t cnt=a_ctr; /* generate file name */ snprintf(filename,sizeof(filename),"%s/search_%04d%02d.%s", (dump_path)?dump_path:".",cur_year,cur_month,dump_ext); /* open file */ if ( (out_fp=open_out_file(filename))==NULL ) return; /* need a header? */ if (dump_header) { fprintf(out_fp,"%s\t%s\n",msg_h_hits,msg_h_search); } /* dump 'em */ pointer=s_array; while(cnt) { sptr=*pointer++; fprintf(out_fp,"%llu\t%s\n",sptr->count,sptr->string); cnt--; } fclose(out_fp); return; } /*********************************************/ /* WRITE_MAIN_INDEX - main index.html file */ /*********************************************/ int write_main_index() { /* create main index file */ int i,j,days_in_month; int s_year=hist[HISTSIZE-1].year; char index_fname[256]; char buffer[BUFSIZE]; u_int64_t m_hit=0; u_int64_t m_files=0; u_int64_t m_pages=0; u_int64_t m_visits=0; double m_xfer=0.0; double gt_hit=0.0; double gt_files=0.0; double gt_pages=0.0; double gt_xfer=0.0; double gt_visits=0.0; if (verbose>1) printf("%s\n",msg_gen_sum); snprintf(buffer,sizeof(buffer),"%s %s",msg_main_us,hname); year_graph6x("usage.png", buffer, hist); /* now do html stuff... */ snprintf(index_fname,sizeof(index_fname),"index.%s",html_ext); /* .htaccess file needed? */ if (htaccess) { if ((out_fp=fopen(".htaccess","wx")) != NULL) { fprintf(out_fp,"DirectoryIndex %s\n",index_fname); fclose(out_fp); } else { if (errno!=EEXIST && verbose) fprintf(stderr,"Error: Failed to create .htaccess file: %s\n", strerror(errno)); } } if ( (out_fp=open_out_file(index_fname)) == NULL) { if (verbose) fprintf(stderr,"%s %s!\n",msg_no_open,index_fname); return 1; } write_html_head(NULL, out_fp); /* year graph */ fprintf(out_fp,"\"%s\"

\n",buffer); /* month table */ fprintf(out_fp,"\n"); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",msg_main_sum); fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY,msg_h_mth); fprintf(out_fp,"\n",GREY,msg_main_da); fprintf(out_fp,"\n",GREY,msg_main_mt); fprintf(out_fp,"\n",HITCOLOR,msg_h_hits); fprintf(out_fp,"\n",FILECOLOR,msg_h_files); fprintf(out_fp,"\n",PAGECOLOR,msg_h_pages); fprintf(out_fp,"\n",VISITCOLOR,msg_h_visits); fprintf(out_fp,"\n",SITECOLOR,msg_h_sites); fprintf(out_fp,"\n",KBYTECOLOR,msg_h_xfer); fprintf(out_fp,"\n",VISITCOLOR,msg_h_visits); fprintf(out_fp,"\n",PAGECOLOR,msg_h_pages); fprintf(out_fp,"\n",FILECOLOR,msg_h_files); fprintf(out_fp,"\n",HITCOLOR,msg_h_hits); fprintf(out_fp,"\n"); for (i=HISTSIZE-1;i>=HISTSIZE-index_mths;i--) { if (hist[i].hit==0) { days_in_month=1; for (j=i;j>=0;j--) if (hist[j].hit!=0) break; if (j<0) break; } else days_in_month=(hist[i].lday-hist[i].fday)+1; /* Check for year change */ if (s_year!=hist[i].year) { /* Year Totals */ if (index_mths>16 && year_totals) { fprintf(out_fp,"\n", GRPCOLOR,s_year); fprintf(out_fp,"", GRPCOLOR, m_xfer); fprintf(out_fp,"", GRPCOLOR, m_visits); fprintf(out_fp,"", GRPCOLOR, m_pages); fprintf(out_fp,"", GRPCOLOR, m_files); fprintf(out_fp,"", GRPCOLOR, m_hit); m_xfer=0; m_visits=0; m_pages=0; m_files=0; m_hit=0; } /* Year Header */ s_year=hist[i].year; if (index_mths>16 && year_hdrs) fprintf(out_fp,"\n", GREY, s_year); } fprintf(out_fp,"\n", hist[i].year, hist[i].month, html_ext, s_month[hist[i].month-1], hist[i].year); else fprintf(out_fp,"%s %d\n", \ s_month[hist[i].month-1], hist[i].year); fprintf(out_fp,"\n", hist[i].hit/days_in_month); fprintf(out_fp,"\n", hist[i].files/days_in_month); fprintf(out_fp,"\n", hist[i].page/days_in_month); fprintf(out_fp,"\n", hist[i].visit/days_in_month); fprintf(out_fp,"\n", hist[i].site); fprintf(out_fp,"\n", hist[i].xfer); fprintf(out_fp,"\n", hist[i].visit); fprintf(out_fp,"\n", hist[i].page); fprintf(out_fp,"\n", hist[i].files); fprintf(out_fp,"", hist[i].hit); fprintf(out_fp,"\n"); gt_hit += hist[i].hit; gt_files += hist[i].files; gt_pages += hist[i].page; gt_xfer += hist[i].xfer; gt_visits+= hist[i].visit; m_hit += hist[i].hit; m_files += hist[i].files; m_pages += hist[i].page; m_visits+= hist[i].visit; m_xfer += hist[i].xfer; } if (index_mths>16 && year_totals) { fprintf(out_fp,"\n", GRPCOLOR,s_year); fprintf(out_fp,"", GRPCOLOR, m_xfer); fprintf(out_fp,"", GRPCOLOR, m_visits); fprintf(out_fp,"", GRPCOLOR, m_pages); fprintf(out_fp,"", GRPCOLOR, m_files); fprintf(out_fp,"", GRPCOLOR, m_hit); } fprintf(out_fp,"\n"); fprintf(out_fp,"\n",GREY,msg_h_totals); fprintf(out_fp,"\n",GREY,gt_xfer); fprintf(out_fp,"\n",GREY,gt_visits); fprintf(out_fp,"\n",GREY,gt_pages); fprintf(out_fp,"\n",GREY,gt_files); fprintf(out_fp,"\n",GREY,gt_hit); fprintf(out_fp,"\n"); fprintf(out_fp,"
",GREY); fprintf(out_fp,"%s
" \ "%s" \ "%s" \ "%s
" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s" \ "%s
%04d" \ "%.0f" \ "%0llu" \ "%0llu" \ "%0llu" \ "%0llu
%04d
"); if (hist[i].hit!=0) fprintf(out_fp,"" \ "%s %d%llu%llu%llu%llu%llu%.0f%llu%llu%llu%llu
%04d" \ "%.0f" \ "%0llu" \ "%0llu" \ "%0llu" \ "%0llu
" \ "%s" \ "%.0f" \ "%.0f" \ "%.0f" \ "%.0f" \ "%.0f
\n"); write_html_tail(out_fp); fclose(out_fp); return 0; } /*********************************************/ /* QS_SITE_CMPH - QSort compare site by hits */ /*********************************************/ int qs_site_cmph(const void *cp1, const void *cp2) { u_int64_t t1, t2; t1=(*(HNODEPTR *)cp1)->count; t2=(*(HNODEPTR *)cp2)->count; if (t1!=t2) return (t2string, (*(HNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_SITE_CMPK - QSort cmp site by bytes */ /*********************************************/ int qs_site_cmpk(const void *cp1, const void *cp2) { double t1, t2; t1=(*(HNODEPTR *)cp1)->xfer; t2=(*(HNODEPTR *)cp2)->xfer; if (t1!=t2) return (t2string, (*(HNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_URL_CMPH - QSort compare URL by hits */ /*********************************************/ int qs_url_cmph(const void *cp1, const void *cp2) { u_int64_t t1, t2; t1=(*(UNODEPTR *)cp1)->count; t2=(*(UNODEPTR *)cp2)->count; if (t1!=t2) return (t2string, (*(UNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_URL_CMPK - QSort compare URL by bytes */ /*********************************************/ int qs_url_cmpk(const void *cp1, const void *cp2) { double t1, t2; t1=(*(UNODEPTR *)cp1)->xfer; t2=(*(UNODEPTR *)cp2)->xfer; if (t1!=t2) return (t2string, (*(UNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_URL_CMPN - QSort compare URL by entry */ /*********************************************/ int qs_url_cmpn(const void *cp1, const void *cp2) { double t1, t2; t1=(*(UNODEPTR *)cp1)->entry; t2=(*(UNODEPTR *)cp2)->entry; if (t1!=t2) return (t2string, (*(UNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_URL_CMPX - QSort compare URL by exit */ /*********************************************/ int qs_url_cmpx(const void *cp1, const void *cp2) { double t1, t2; t1=(*(UNODEPTR *)cp1)->exit; t2=(*(UNODEPTR *)cp2)->exit; if (t1!=t2) return (t2string, (*(UNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_REF_CMPH - QSort compare Refs by hits */ /*********************************************/ int qs_ref_cmph(const void *cp1, const void *cp2) { u_int64_t t1, t2; t1=(*(RNODEPTR *)cp1)->count; t2=(*(RNODEPTR *)cp2)->count; if (t1!=t2) return (t2string, (*(RNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_AGNT_CMPH - QSort cmp Agents by hits */ /*********************************************/ int qs_agnt_cmph(const void *cp1, const void *cp2) { u_int64_t t1, t2; t1=(*(ANODEPTR *)cp1)->count; t2=(*(ANODEPTR *)cp2)->count; if (t1!=t2) return (t2string, (*(ANODEPTR *)cp2)->string ); } /*********************************************/ /* QS_SRCH_CMPH - QSort cmp srch str by hits */ /*********************************************/ int qs_srch_cmph(const void *cp1, const void *cp2) { u_int64_t t1, t2; t1=(*(SNODEPTR *)cp1)->count; t2=(*(SNODEPTR *)cp2)->count; if (t1!=t2) return (t2string, (*(SNODEPTR *)cp2)->string ); } /*********************************************/ /* QS_IDENT_CMPH - QSort cmp ident by hits */ /*********************************************/ int qs_ident_cmph(const void *cp1, const void *cp2) { u_int64_t t1, t2; t1=(*(INODEPTR *)cp1)->count; t2=(*(INODEPTR *)cp2)->count; if (t1!=t2) return (t2string, (*(INODEPTR *)cp2)->string ); } /*********************************************/ /* LOAD_SITE_ARRAY - load up the sort array */ /*********************************************/ u_int64_t load_site_array(HNODEPTR *pointer) { HNODEPTR hptr; int i; u_int64_t ctr = 0; /* load the array */ for (i=0;inext; } } return ctr; /* return number loaded */ } /*********************************************/ /* LOAD_URL_ARRAY - load up the sort array */ /*********************************************/ u_int64_t load_url_array(UNODEPTR *pointer) { UNODEPTR uptr; int i; u_int64_t ctr = 0; /* load the array */ for (i=0;inext; } } return ctr; /* return number loaded */ } /*********************************************/ /* LOAD_REF_ARRAY - load up the sort array */ /*********************************************/ u_int64_t load_ref_array(RNODEPTR *pointer) { RNODEPTR rptr; int i; u_int64_t ctr = 0; /* load the array */ for (i=0;inext; } } return ctr; /* return number loaded */ } /*********************************************/ /* LOAD_AGENT_ARRAY - load up the sort array */ /*********************************************/ u_int64_t load_agent_array(ANODEPTR *pointer) { ANODEPTR aptr; int i; u_int64_t ctr = 0; /* load the array */ for (i=0;inext; } } return ctr; /* return number loaded */ } /*********************************************/ /* LOAD_SRCH_ARRAY - load up the sort array */ /*********************************************/ u_int64_t load_srch_array(SNODEPTR *pointer) { SNODEPTR sptr; int i; u_int64_t ctr = 0; /* load the array */ for (i=0;inext; } } return ctr; /* return number loaded */ } /*********************************************/ /* LOAD_IDENT_ARRAY - load up the sort array */ /*********************************************/ u_int64_t load_ident_array(INODEPTR *pointer) { INODEPTR iptr; int i; u_int64_t ctr = 0; /* load the array */ for (i=0;inext; } } return ctr; /* return number loaded */ } /*********************************************/ /* OPEN_OUT_FILE - Open file for output */ /*********************************************/ FILE *open_out_file(char *filename) { struct stat out_stat; FILE *out_fp; /* stat the file */ if ( !(lstat(filename, &out_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(out_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,filename); return NULL; } } /* open the file... */ if ( (out_fp=fopen(filename,"w")) == NULL) { if (verbose) fprintf(stderr,"%s %s!\n",msg_no_open,filename); return NULL; } return out_fp; } webalizer-2.23-05/output.h0000644000175000017500000000060611032254167013764 0ustar bradbrad#ifndef _OUTPUT_H #define _OUTPUT_H extern int write_main_index(); /* produce main HTML */ extern int write_month_html(); /* monthy HTML page */ extern FILE *open_out_file(char *); /* open output file */ #ifdef USE_DNS extern char *geodb_get_cc(DB *, char *, char *); extern DB *geo_db; #endif #endif /* _OUTPUT_H */ webalizer-2.23-05/parser.c0000644000175000017500000005223611510252726013721 0ustar bradbrad/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include #include #include #include #include /* normal stuff */ #include #include /* ensure sys/types */ #ifndef _SYS_TYPES_H #include #endif /* need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif /* some systems need this */ #ifdef HAVE_MATH_H #include #endif #include "webalizer.h" /* main header */ #include "lang.h" #include "parser.h" /* internal function prototypes */ void fmt_logrec(char *); int parse_record_clf(char *); int parse_record_ftp(char *); int parse_record_squid(char *); int parse_record_w3c(char *); /*********************************************/ /* FMT_LOGREC - terminate log fields w/zeros */ /*********************************************/ void fmt_logrec(char *buffer) { char *cp=buffer; int q=0,b=0,p=0; while (*cp != '\0') { /* break record up, terminate fields with '\0' */ switch (*cp) { case '\t': if (b || q || p) break; *cp='\0'; break; case ' ': if (b || q || p) break; *cp='\0'; break; case '"': if (*(cp-1)=='\\') break; else q^=1; break; case '[': if (q) break; b++; break; case ']': if (q) break; if (b>0) b--; break; case '(': if (q) break; p++; break; case ')': if (q) break; if (p>0) p--; break; } cp++; } } /*********************************************/ /* PARSE_RECORD - uhhh, you know... */ /*********************************************/ int parse_record(char *buffer) { /* clear out structure */ memset(&log_rec,0,sizeof(struct log_struct)); /* call appropriate handler */ switch (log_type) { default: case LOG_CLF: return parse_record_clf(buffer); break; /* clf */ case LOG_FTP: return parse_record_ftp(buffer); break; /* ftp */ case LOG_SQUID: return parse_record_squid(buffer); break; /* squid */ case LOG_W3C: return parse_record_w3c(buffer); break; /* w3c */ } } /*********************************************/ /* PARSE_RECORD_FTP - ftp log handler */ /*********************************************/ int parse_record_ftp(char *buffer) { int size; int i,j,count; char *cp1, *cp2, *cpx, *cpy, *eob; size = strlen(buffer); /* get length of buffer */ eob = buffer+size; /* calculate end of buffer */ fmt_logrec(buffer); /* seperate fields with \0's */ /* Start out with date/time */ cp1=buffer; while (*cp1!=0 && cp12100) return 0; if (i<1 || i>31) return 0; /* format date/time field */ snprintf(log_rec.datetime,sizeof(log_rec.datetime), "[%02d/%s/%4d:%s -0000]",i,cpx,j,cpy); /* skip seconds... */ while (*cp1!=0 && cp1'9') log_rec.xfer_size=0; else log_rec.xfer_size = strtoul(cp1,NULL,10); /* URL stuff */ while (*cp1!=0 && cp1= eob) eos=eob-1; while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; if (*cp1 != '\0') { if (verbose) { fprintf(stderr,"%s",msg_big_host); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; /* skip next field (ident) */ while ( (*cp1 != '\0') && (cp1 < eob) ) cp1++; if (cp1 < eob) cp1++; /* IDENT (authuser) field */ cpx = cp1; cp2 = log_rec.ident; eos = (cp1+MAXIDENT-1); if (eos >= eob) eos=eob-1; while ( (*cp1 != '[') && (cp1 < eos) ) /* remove embeded spaces */ { if (*cp1=='\0') *cp1=' '; *cp2++=*cp1++; } *cp2--='\0'; if (cp1 >= eob) return 0; /* check if oversized username */ if (*cp1 != '[') { if (verbose) { fprintf(stderr,"%s",msg_big_user); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while ( (*cp1 != '[') && (cp1 < eob) ) cp1++; } /* strip trailing space(s) */ while (*cp2==' ') *cp2--='\0'; /* date/time string */ cpx = cp1; cp2 = log_rec.datetime; eos = (cp1+28); if (eos >= eob) eos=eob-1; while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; if (*cp1 != '\0') { if (verbose) { fprintf(stderr,"%s",msg_big_date); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; /* minimal sanity check on timestamp */ if ( (log_rec.datetime[0] != '[') || (log_rec.datetime[3] != '/') || (cp1 >= eob)) return 0; /* HTTP request */ cpx = cp1; cp2 = log_rec.url; eos = (cp1+MAXURL-1); if (eos >= eob) eos = eob-1; while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; if (*cp1 != '\0') { if (verbose) { fprintf(stderr,"%s",msg_big_req); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; if ( (log_rec.url[0] != '"') || (cp1 >= eob) ) return 0; /* Strip off HTTP version from URL */ if ( (cp2=strstr(log_rec.url,"HTTP"))!=NULL ) { *cp2='\0'; /* Terminate string */ *(--cp2)='"'; /* change to " */ } /* response code */ log_rec.resp_code = atoi(cp1); /* xfer size */ while ( (*cp1 != '\0') && (cp1 < eob) ) cp1++; if (cp1 < eob) cp1++; if (*cp1<'0'||*cp1>'9') log_rec.xfer_size=0; else log_rec.xfer_size = strtoul(cp1,NULL,10); /* done with CLF record */ if (cp1>=eob) return 1; while ( (*cp1 != '\0') && (*cp1 != '\n') && (cp1 < eob) ) cp1++; if (cp1 < eob) cp1++; /* get referrer if present */ cpx = cp1; cp2 = log_rec.refer; eos = (cp1+MAXREF-1); if (eos >= eob) eos = eob-1; while ( (*cp1 != '\0') && (*cp1 != '\n') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; if (*cp1 != '\0') { if (verbose) { fprintf(stderr,"%s",msg_big_ref); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; cpx = cp1; cp2 = log_rec.agent; eos = cp1+(MAXAGENT-1); if (eos >= eob) eos = eob-1; while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; return 1; /* maybe a valid record, return with TRUE */ } /*********************************************/ /* PARSE_RECORD_SQUID - squid log handler */ /*********************************************/ int parse_record_squid(char *buffer) { int size, slash_count=0; time_t i; char *cp1, *cp2, *cpx, *eob, *eos; size = strlen(buffer); /* get length of buffer */ eob = buffer+size; /* calculate end of buffer */ fmt_logrec(buffer); /* seperate fields with \0's */ /* date/time */ cp1=buffer; i=atoi(cp1); /* get timestamp */ /* format date/time field */ strftime(log_rec.datetime,sizeof(log_rec.datetime), "[%d/%b/%Y:%H:%M:%S -0000]",localtime(&i)); while (*cp1!=0 && cp1= eob) eos=eob-1; while ((*cp1 != '\0') && (cp1 != eos)) *cp2++ = *cp1++; *cp2='\0'; if (*cp1 != '\0') { if (verbose) { fprintf(stderr,"%s",msg_big_host); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; /* skip cache status */ while (*cp1!=0 && cp1'9') log_rec.xfer_size=0; else log_rec.xfer_size = strtoul(cp1,NULL,10); while (*cp1!=0 && cp1= eob) eos = eob-1; while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; if (*cp1 != '\0') { if (verbose) { fprintf(stderr,"%s",msg_big_req); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; *cp2++ = ' '; /* HTTP URL requested */ cpx = cp1; if (trimsquid>0) { slash_count=trimsquid+2; while ( (*cp1 != '\0') && (cp1 != eos) && slash_count) { *cp2++ = *cp1++; if (*cp1 == '/') slash_count--; } } else while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++; *cp2 = '\0'; if ((*cp1 != '\0' && trimsquid==0) || (trimsquid && slash_count) ) { if (verbose) { fprintf(stderr,"%s",msg_big_req); if (debug_mode) fprintf(stderr,": %s\n",cpx); else fprintf(stderr,"\n"); } while (*cp1 != '\0') cp1++; } if (cp1 < eob) cp1++; *cp2++ = '\"'; /* IDENT (authuser) field */ cpx = cp1; cp2 = log_rec.ident; eos = (cp1+MAXIDENT-1); if (eos >= eob) eos=eob-1; while (*cp1 == ' ') cp1++; /* skip white space */ while ( (*cp1 != ' ' && *cp1!='\0') && (cp1 < eos) ) *cp2++=*cp1++; *cp2--='\0'; if (cp1 >= eob) return 0; /* strip trailing space(s) */ while (*cp2==' ') *cp2--='\0'; /* we have no interest in the remaining fields */ return 1; } /*********************************************/ /* PARSE_RECORD_W3C - w3c log handler */ /*********************************************/ /* field index structure */ struct field_index_struct { int date; /* Date field index */ int time; /* Time field index */ int ip; /* IP field index */ int username; /* Username field index */ int method; /* Method field index */ int url; /* URL field index */ int query; /* Querystring field index */ int status; /* Status code field index */ int size; /* Size field index */ int referer; /* Referrer field index */ int agent; /* User agent field index */ int fields; /* Number of fields in this format */ }; /* field structure */ struct fields_struct { char *date; /* Date field */ char *time; /* Time field */ char *ip; /* IP field */ char *username; /* Username field */ char *method; /* Method field */ char *url; /* URL field */ char *query; /* Querystring */ char *status; /* Status code */ char *size; /* Size field */ char *referer; /* Referrer field */ char *agent; /* User agent field */ }; int parse_record_w3c(char *buffer) { int size; char *eob; char *cp; int index; static struct field_index_struct field_index; struct fields_struct fields; struct tm gm_time, *local_time; time_t timestamp; memset(&gm_time, 0, sizeof(struct tm)); size = strlen(buffer); /* get length of buffer */ eob = buffer + size; /* calculate end of buffer */ /* remove line end markers, reduce eob accordingly */ cp = eob; while(cp>buffer) { cp--; if (*cp == '\r' || *cp=='\n') { *cp = '\0'; eob--; } else break; } fmt_logrec(buffer); /* seperate fields with \0's */ cp = buffer; /* Check if the line is empty or a line suffers from the IIS Null-Character bug and abort parsing if found. */ if (*cp == '\0') return 0; /* If it's a header line ignore it or parse the Fields header if found */ if (*cp == '#') { cp++; if (!strcmp(cp, "Fields:")) { /* Reset the field indices */ memset(&field_index, 0, sizeof(struct field_index_struct)); while (*cp) cp++; cp++; index = 1; while (cp < eob) { /* Set the field index */ if (!strcmp(cp, "date")) field_index.date = index; if (!strcmp(cp, "time")) field_index.time = index; if (!strcmp(cp, "c-ip")) field_index.ip = index; if (!strcmp(cp, "cs-method")) field_index.method = index; if (!strcmp(cp, "cs-uri-stem")) field_index.url = index; if (!strcmp(cp, "cs-uri-query")) field_index.query = index; if (!strcmp(cp, "sc-status")) field_index.status = index; if (!strcmp(cp, "cs(Referer)")) field_index.referer = index; if (!strcmp(cp, "sc-bytes")) field_index.size = index; if (!strcmp(cp, "cs(User-Agent)")) field_index.agent = index; if (!strcmp(cp, "cs-username")) field_index.username = index; /* Continue with the next field */ while (*cp) cp++; cp++; index++; } field_index.fields = index -1; } /* Return because this header line is completely parsed */ return 0; } /* A data line has been found */ /* Check if the number of entries in this line are conform to the format specified in the header */ index = 1; while (cp < eob) { while (*cp) cp++; cp++; index++; } if (index-1 != field_index.fields) return 0; /* Reset pointer */ cp = buffer; /* Reset the field pointers and begin parsing the data line */ memset(&fields, 0, sizeof(struct fields_struct)); index = 1; while (cp < eob) { /* Set the field pointers */ if (index == field_index.date) fields.date = cp; if (index == field_index.time) fields.time = cp; if (index == field_index.ip) fields.ip = cp; if (index == field_index.method) fields.method = cp; if (index == field_index.url) fields.url = cp; if (index == field_index.query) fields.query = cp; if (index == field_index.status) fields.status = cp; if (index == field_index.referer) fields.referer = cp; if (index == field_index.size) fields.size = cp; if (index == field_index.agent) fields.agent = cp; if (index == field_index.username) fields.username = cp; /* Continue with the next data field */ while (*cp) cp++; cp++; index++; } /* Save URL */ if (fields.url) { cp = fields.url; while (*cp) { if (*cp=='+') *cp=' '; cp++; } /* If no HTTP Method, force to "NONE" */ if (fields.method && (fields.method[0]=='-')) fields.method="NONE"; if (fields.query && (fields.query[0]!='-')) snprintf(log_rec.url, MAXURL, "\"%s %s?%s\"", fields.method, fields.url, fields.query); else snprintf(log_rec.url, MAXURL, "\"%s %s\"", fields.method, fields.url); } else return 0; /* Save hostname */ if (fields.ip) strncpy(log_rec.hostname, fields.ip, MAXHOST - 1); /* Save response code */ if (fields.status) log_rec.resp_code = atoi(fields.status); /* Save referer */ if (fields.referer) strncpy(log_rec.refer, fields.referer, MAXREF - 1); /* Save transfer size */ if (fields.size) log_rec.xfer_size = strtoul(fields.size, NULL, 10); /* Save user agent */ if (fields.agent) { cp = fields.agent; while (*cp) { if (*cp=='+') *cp=' '; cp++; } strncpy(log_rec.agent, fields.agent, MAXAGENT - 1); } /* Save auth username */ if (fields.username) strncpy(log_rec.ident, fields.username, MAXIDENT - 1); /* Parse date and time and save it */ if (fields.date) { gm_time.tm_year = atoi(fields.date); if (gm_time.tm_year > 1900) gm_time.tm_year-=1900; while ((fields.date[0] != '\0') && (fields.date[0] != '-')) fields.date++; if (fields.date[0] == '\0') return 0; fields.date++; gm_time.tm_mon = atoi(fields.date) - 1; while ((fields.date[0] != '\0') && (fields.date[0] != '-')) fields.date++; if (fields.date[0] == '\0') return 0; fields.date++; gm_time.tm_mday = atoi(fields.date); } if (fields.time) { gm_time.tm_hour = atoi(fields.time); while ((fields.time[0] != '\0') && (fields.time[0] != ':')) fields.time++; if (fields.time[0] == '\0') return 0; fields.time++; gm_time.tm_min = atoi(fields.time); while ((fields.time[0] != '\0') && (fields.time[0] != ':')) fields.time++; if (fields.time[0] == '\0') return 0; fields.time++; gm_time.tm_sec = atoi(fields.time); } /* Convert GMT to localtime */ gm_time.tm_isdst = -1; /* force dst check */ timestamp = mktime(&gm_time); /* get time in sec */ #ifdef HAVE_ALTZONE timestamp-=(gm_time.tm_isdst)?altzone:timezone; /* solaris & friends */ #else timestamp = mktime(&gm_time)+gm_time.tm_gmtoff; /* glibc systems */ #endif local_time = localtime(×tamp); /* update tm struct */ strftime(log_rec.datetime, sizeof(log_rec.datetime),/* and format sting */ "[%d/%b/%Y:%H:%M:%S -0000]", local_time); /* for log_rec field */ return 1; } webalizer-2.23-05/parser.h0000644000175000017500000000014010771016751013715 0ustar bradbrad#ifndef _PARSER_H #define _PARSER_H extern int parse_record(char *); #endif /* _PARSER_H */ webalizer-2.23-05/preserve.c0000644000175000017500000006436011510252734014260 0ustar bradbrad/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include #include #include #include #include /* normal stuff */ #include #include #include #include /* ensure sys/types */ #ifndef _SYS_TYPES_H #include #endif /* need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include #endif /* some systems need this */ #ifdef HAVE_MATH_H #include #endif #include "webalizer.h" /* main header */ #include "lang.h" #include "hashtab.h" #include "parser.h" #include "preserve.h" struct hist_rec hist[HISTSIZE]; /* history structure array */ /*********************************************/ /* GET_HISTORY - load in history file */ /*********************************************/ void get_history() { int i,n,numfields; int in_m,in_y; int mth, yr; FILE *hist_fp; char buffer[BUFSIZE]; /* try to open history file */ hist_fp=fopen(hist_fname,"r"); if (hist_fp) { if (verbose>1) printf("%s %s\n",msg_get_hist,hist_fname); while ( fgets(buffer,BUFSIZE,hist_fp) != NULL ) { if (buffer[0]=='#') { continue; } /* skip comments */ /* get record month/year */ sscanf(buffer,"%d %d",&in_m,&in_y); /* check if valid numbers */ if ( (in_m<1 || in_m>12 || in_y<1970) ) { if (verbose) fprintf(stderr,"%s (mth=%d)\n",msg_bad_hist,in_m); continue; } /* populate if first time through */ if (hist[HISTSIZE-1].year==0) populate_history(in_m, in_y); for (i=HISTSIZE-1;i>=0;i--) { if (in_m==hist[i].month && in_y==hist[i].year) break; else { if ( (in_m>hist[i].month&&in_y==hist[i].year) || (in_y>hist[i].year) ) { if (i>0) { n=(mth_idx(in_m,in_y)-mth_idx(hist[i].month,hist[i].year)); while (n) { yr = hist[i].year; mth= hist[i].month+1; if (mth>12) { mth=1; yr++; } memcpy(&hist[0], &hist[1], sizeof(hist[0])*i); memset(&hist[i], 0, sizeof(struct hist_rec)); hist[i].year=yr; hist[i].month=mth; n--; } } break; } } } if (i>=0) { /* month# year# requests files sites xfer firstday lastday */ numfields = sscanf(buffer,"%d %d %llu %llu %llu %lf %d %d %llu %llu", &hist[i].month, &hist[i].year, &hist[i].hit, &hist[i].files, &hist[i].site, &hist[i].xfer, &hist[i].fday, &hist[i].lday, &hist[i].page, &hist[i].visit); } } fclose(hist_fp); } else if (verbose>1) printf("%s\n",msg_no_hist); } /*********************************************/ /* PUT_HISTORY - write out history file */ /*********************************************/ void put_history() { int i; FILE *hist_fp; char new_fname[MAXKVAL+4]; char old_fname[MAXKVAL+4]; struct stat hist_stat; time_t now; char timestamp[48]; /* generate 'new' filename */ sprintf(new_fname, "%s.new", hist_fname); /* stat the file */ if ( !(lstat(new_fname, &hist_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(hist_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,new_fname); return; } } /* Generate our timestamp */ now=time(NULL); strftime(timestamp,sizeof(timestamp),"%d/%b/%Y %H:%M:%S",localtime(&now)); /* Open file for writing */ hist_fp = fopen(new_fname,"w"); if (hist_fp) { if (verbose>1) printf("%s\n",msg_put_hist); /* write header */ fprintf(hist_fp,"# Webalizer V%s-%s History Data - %s (%d month)\n", version, editlvl, timestamp, HISTSIZE); for (i=HISTSIZE-1;i>=0;i--) { fprintf(hist_fp,"%d %d %llu %llu %llu %.0f %d %d %llu %llu\n", hist[i].month, hist[i].year, hist[i].hit, hist[i].files, hist[i].site, hist[i].xfer, hist[i].fday, hist[i].lday, hist[i].page, hist[i].visit); } /* Done, close file */ fclose(hist_fp); /* if time-warp error detected, save old */ if (hist_gap) { sprintf(old_fname, "%s.sav", hist_fname); if ((rename(hist_fname,old_fname)==-1)&&(errno!=ENOENT)&&verbose) fprintf(stderr,"Failed renaming %s to %s: %s\n", hist_fname,old_fname,strerror(errno)); } /* now rename the 'new' file to real name */ if ((rename(new_fname,hist_fname) == -1) && verbose) fprintf(stderr,"Failed renaming %s to %s\n",new_fname,hist_fname); } else if (verbose) fprintf(stderr,"%s %s\n",msg_hist_err,new_fname); } /*********************************************/ /* POPULATE_HISTORY - populate with dates */ /*********************************************/ void populate_history(int month, int year) { int i; int mth=month; int yr =year; if (hist[HISTSIZE-1].year==0) { for (i=HISTSIZE-1;i>=0;i--) { hist[i].year=yr; hist[i].month=mth--; if (mth==0) { yr--; mth=12; } } } } /*********************************************/ /* UPDATE_HISTORY - update with cur totals */ /*********************************************/ void update_history() { int i,n; int mth,yr; /* populate if first time through */ if (hist[HISTSIZE-1].year==0) populate_history(cur_month,cur_year); /* we need to figure out where to put in history */ for (i=HISTSIZE-1;i>=0;i--) { if (cur_month==hist[i].month && cur_year==hist[i].year) break; else { if ((cur_month>hist[i].month&&cur_year==hist[i].year) || (cur_year>hist[i].year)) { if (i>0) { n=(mth_idx(cur_month,cur_year) - mth_idx(hist[i].month,hist[i].year)); if (n>2) { if (verbose) fprintf(stderr,"Warning! %d month gap detected! " \ "(%d/%d to %d/%d)\n", n, hist[i].month, hist[i].year, cur_month, cur_year); if (n>11) hist_gap=1; /* year or more? */ } while (n) { yr = hist[i].year; mth= hist[i].month+1; if (mth>12) { mth=1; yr++; } memcpy(&hist[0],&hist[1],sizeof(hist[0])*i); memset(&hist[i], 0, sizeof(struct hist_rec)); hist[i].year=yr; hist[i].month=mth; n--; } } break; } } } if (i>=0) { hist[i].month = cur_month; hist[i].year = cur_year; hist[i].hit = t_hit; hist[i].files = t_file; hist[i].page = t_page; hist[i].visit = t_visit; hist[i].site = t_site; hist[i].xfer = t_xfer/1024; hist[i].fday = f_day; hist[i].lday = l_day; } } /*********************************************/ /* SAVE_STATE - save internal data structs */ /*********************************************/ int save_state() { HNODEPTR hptr; UNODEPTR uptr; RNODEPTR rptr; ANODEPTR aptr; SNODEPTR sptr; INODEPTR iptr; FILE *fp; int i; struct stat state_stat; char buffer[BUFSIZE]; char new_fname[MAXKVAL+4]; /* generate 'new' filename */ sprintf(new_fname, "%s.new", state_fname); /* stat the file */ if ( !(lstat(new_fname, &state_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(state_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_no_open,new_fname); return(EBADF); } } /* Open file for writing */ fp=fopen(new_fname,"w"); if (fp==NULL) return 1; /* Saving current run data... */ if (verbose>1) { sprintf(buffer,"%02d/%02d/%04d %02d:%02d:%02d", cur_month,cur_day,cur_year,cur_hour,cur_min,cur_sec); printf("%s [%s]\n",msg_put_data,buffer); } /* first, save the easy stuff */ /* Header record */ snprintf(buffer,sizeof(buffer), "# Webalizer V%s-%s Incremental Data - %02d/%02d/%04d %02d:%02d:%02d\n", version,editlvl,cur_month,cur_day,cur_year,cur_hour,cur_min,cur_sec); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ /* Current date/time */ sprintf(buffer,"%d %d %d %d %d %d\n", cur_year, cur_month, cur_day, cur_hour, cur_min, cur_sec); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ /* Monthly totals for sites, urls, etc... */ sprintf(buffer,"%llu %llu %llu %llu %llu %llu %.0f %llu %llu %llu\n", t_hit, t_file, t_site, t_url, t_ref, t_agent, t_xfer, t_page, t_visit, t_user); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ /* Daily totals for sites, urls, etc... */ sprintf(buffer,"%llu %llu %llu %d %d\n", dt_site, ht_hit, mh_hit, f_day, l_day); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ /* Monthly (by day) total array */ for (i=0;i<31;i++) { sprintf(buffer,"%llu %llu %.0f %llu %llu %llu\n", tm_hit[i],tm_file[i],tm_xfer[i],tm_site[i],tm_page[i],tm_visit[i]); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ } /* Daily (by hour) total array */ for (i=0;i<24;i++) { sprintf(buffer,"%llu %llu %.0f %llu\n", th_hit[i],th_file[i],th_xfer[i],th_page[i]); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ } /* Response codes */ for (i=0;istring, uptr->flag, uptr->count, uptr->files, uptr->xfer, uptr->entry, uptr->exit); if (fputs(buffer,fp)==EOF) return 1; uptr=uptr->next; } } if (fputs("# End Of Table - urls\n",fp)==EOF) return 1; /* error exit */ /* daily hostname list */ if (fputs("# -sites- (monthly)\n",fp)==EOF) return 1; /* error exit */ for (i=0;istring, hptr->flag, hptr->count, hptr->files, hptr->xfer, hptr->visit, hptr->tstamp, (hptr->lasturl==blank_str)?"-":hptr->lasturl); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ hptr=hptr->next; } } if (fputs("# End Of Table - sites (monthly)\n",fp)==EOF) return 1; /* hourly hostname list */ if (fputs("# -sites- (daily)\n",fp)==EOF) return 1; /* error exit */ for (i=0;istring, hptr->flag, hptr->count, hptr->files, hptr->xfer, hptr->visit, hptr->tstamp, (hptr->lasturl==blank_str)?"-":hptr->lasturl); if (fputs(buffer,fp)==EOF) return 1; hptr=hptr->next; } } if (fputs("# End Of Table - sites (daily)\n",fp)==EOF) return 1; /* Referrer list */ if (fputs("# -referrers- \n",fp)==EOF) return 1; /* error exit */ if (t_ref != 0) { for (i=0;istring, rptr->flag, rptr->count); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ rptr=rptr->next; } } } if (fputs("# End Of Table - referrers\n",fp)==EOF) return 1; /* User agent list */ if (fputs("# -agents- \n",fp)==EOF) return 1; /* error exit */ if (t_agent != 0) { for (i=0;istring, aptr->flag, aptr->count); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ aptr=aptr->next; } } } if (fputs("# End Of Table - agents\n",fp)==EOF) return 1; /* Search String list */ if (fputs("# -search strings- \n",fp)==EOF) return 1; /* error exit */ for (i=0;istring,sptr->count); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ sptr=sptr->next; } } if (fputs("# End Of Table - search strings\n",fp)==EOF) return 1; /* username list */ if (fputs("# -usernames- \n",fp)==EOF) return 1; /* error exit */ for (i=0;istring, iptr->flag, iptr->count, iptr->files, iptr->xfer, iptr->visit, iptr->tstamp); if (fputs(buffer,fp)==EOF) return 1; /* error exit */ iptr=iptr->next; } } if (fputs("# End Of Table - usernames\n",fp)==EOF) return 1; /* Done, close file */ fclose(fp); /* now rename the 'new' file to real name */ if ((rename(new_fname,state_fname) == -1) && verbose) { fprintf(stderr,"Failed renaming %s to %s\n",new_fname,state_fname); return 1; /* Failed, return with error code */ } return 0; /* successful, return with good return code */ } /*********************************************/ /* RESTORE_STATE - reload internal run data */ /*********************************************/ int restore_state() { FILE *fp; int i; struct hnode t_hnode; /* Temporary hash nodes */ struct unode t_unode; struct rnode t_rnode; struct anode t_anode; struct snode t_snode; struct inode t_inode; char buffer[BUFSIZE]; char tmp_buf[BUFSIZE]; u_int64_t ul_bogus=0; /* if ignoring, just return */ if (ignore_state) return 0; /* try to open state file */ fp=fopen(state_fname,"r"); if (fp==NULL) { /* Previous run data not found... */ if (verbose>1) printf("%s\n",msg_no_data); return 0; /* return with ok code */ } /* Reading previous run data... */ if (verbose>1) printf("%s %s\n",msg_get_data,state_fname); /* get easy stuff */ sprintf(tmp_buf,"# Webalizer V%s ",version); if ((fgets(buffer,BUFSIZE,fp)) != NULL) /* Header record */ { if (strncmp(buffer,tmp_buf,16)) { /* Kludge to allow 2.01 files also */ sprintf(tmp_buf,"# Webalizer V2.01-1"); if (strncmp(buffer,tmp_buf,19)) return 99; /* bad magic? */ } } else return 1; /* error exit */ /* Get current timestamp */ if ((fgets(buffer,BUFSIZE,fp)) != NULL) { sscanf(buffer,"%d %d %d %d %d %d", &cur_year, &cur_month, &cur_day, &cur_hour, &cur_min, &cur_sec); } else return 2; /* error exit */ /* calculate current timestamp (seconds since epoch) */ cur_tstamp=((jdate(cur_day,cur_month,cur_year)-epoch)*86400)+ (cur_hour*3600)+(cur_min*60)+cur_sec; /* Get monthly totals */ if ((fgets(buffer,BUFSIZE,fp)) != NULL) { sscanf(buffer,"%llu %llu %llu %llu %llu %llu %lf %llu %llu %llu", &t_hit, &t_file, &t_site, &t_url, &t_ref, &t_agent, &t_xfer, &t_page, &t_visit, &t_user); } else return 3; /* error exit */ /* Get daily totals */ if ((fgets(buffer,BUFSIZE,fp)) != NULL) { sscanf(buffer,"%llu %llu %llu %d %d", &dt_site, &ht_hit, &mh_hit, &f_day, &l_day); } else return 4; /* error exit */ /* get daily totals */ for (i=0;i<31;i++) { if ((fgets(buffer,BUFSIZE,fp)) != NULL) { sscanf(buffer,"%llu %llu %lf %llu %llu %llu", &tm_hit[i],&tm_file[i],&tm_xfer[i],&tm_site[i],&tm_page[i], &tm_visit[i]); } else return 5; /* error exit */ } /* get hourly totals */ for (i=0;i<24;i++) { if ((fgets(buffer,BUFSIZE,fp)) != NULL) { sscanf(buffer,"%llu %llu %lf %llu", &th_hit[i],&th_file[i],&th_xfer[i],&th_page[i]); } else return 6; /* error exit */ } /* get response code totals */ for (i=0;i 0 # causes all URLs to be truncated after the nth '/' after the http:// # portion. Setting TrimSquidURL to one (1) will cause all URLs to be # summarized by domain only. The default is zero (0), which disables # any such truncation and preserve the URLs as they are in the log. # TrimSquidURL 0 # DNSCache specifies the DNS cache filename to use for reverse DNS lookups. # This file must be specified if you wish to perform name lookups on any IP # addresses found in the log file. If an absolute path is not given as # part of the filename (ie: starts with a leading '/'), then the name is # relative to the default output directory. See the DNS.README file for # additional information. #DNSCache dns_cache.db # DNSChildren allows you to specify how many "children" processes are # run to perform DNS lookups to create or update the DNS cache file. # If a number is specified, the DNS cache file will be created/updated # each time the Webalizer is run, immediately prior to normal processing, # by running the specified number of "children" processes to perform # DNS lookups. If used, the DNS cache filename MUST be specified as # well. The default value is zero (0), which disables DNS cache file # creation/updates at run time. The number of children processes to # run may be anywhere from 1 to 100, however a large number may effect # normal system operations. Reasonable values should be between 5 and # 20. See the DNS.README file for additional information. #DNSChildren 0 # CacheIPs allows unresolved IP addresses to be cached in the DNS # database. Normally, only resolved addresses are saved. At some # sites, particularly those with a large number of unresolvable IP # addresses visiting, it may be useful to enable this feature so # those addresses are not constantly looked up each time the program # is run. Values can be 'yes' or 'no', with 'no' being the default. #CacheIPs no # CacheTTL specifies the time to live (TTL) value for cached DNS # entries, in days. This value may be anywhere between 1 and 100 # with the default being 7 days (1 week). #CacheTTL 7 # The GeoDB option enables or disabled the use of the native # Webalizer GeoDB geolocation services. This is the preferred # geolocation option. Values may be 'yes' or 'no', with 'no' # being the default. #GeoDB no # GeoDBDatabase specifies an alternate database to use. The # default database is /usr/share/GeoDB/GeoDB.dat (however the # path may be changed at compile time; use the -vV command # line option to determine where). If a different database is # to be used, it may be specified here. The name is relative # to the output directory being used unless an absolute name # (ie: starts with a leading '/') is specified. #GeoDBDatabase /usr/share/GeoDB/GeoDB.dat # The GeoIP option enables or disables the use of geolocation # services provided by the GeoIP library (http://www.maxmind.com), # if available. Values may be 'yes' or 'no, with 'no' being the # default. Note: if GeoDB is enabled, then this option will have # no effect (GeoDB will be used regardless of this setting). #GeoIP no # GeoIPDatabase specifies an alternate database filename to use by the # GeoIP library. If an absolute path is not given as part of the name # (ie: starts with a leading '/'), then the name is relative to the # default output directory. This option should not normally be needed. #GeoIPDatabase /usr/share/GeoIP/GeoIP.dat # HTMLPre defines HTML code to insert at the very beginning of the # file. Default is the DOCTYPE line shown below. Max line length # is 80 characters, so use multiple HTMLPre lines if you need more. #HTMLPre # HTMLHead defines HTML code to insert within the # block, immediately after the line. Maximum line length # is 80 characters, so use multiple lines if needed. #HTMLHead <META NAME="author" CONTENT="The Webalizer"> #HTMLHead <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> # HTMLBody defined the HTML code to be inserted, starting with the # <BODY> tag. If not specified, the default is shown below. If # used, you MUST include your own <BODY> tag as the first line. # Maximum line length is 80 char, use multiple lines if needed. #HTMLBody <BODY BGCOLOR="#E8E8E8" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000"> # HTMLPost defines the HTML code to insert immediately before the # first <HR> on the document, which is just after the title and # "summary period"-"Generated on:" lines. If anything, this should # be used to clean up in case an image was inserted with HTMLBody. # As with HTMLHead, you can define as many of these as you want and # they will be inserted in the output stream in order of apperance. # Max string size is 80 characters. Use multiple lines if you need to. #HTMLPost <BR CLEAR="all"> # HTMLTail defines the HTML code to insert at the bottom of each # HTML document, usually to include a link back to your home # page or insert a small graphic. It is inserted as a table # data element (ie: <TD> your code here </TD>) and is right # alligned with the page. Max string size is 80 characters. #HTMLTail <IMG SRC="msfree.png" ALT="100% Micro$oft free!"> # HTMLEnd defines the HTML code to add at the very end of the # generated files. It defaults to what is shown below. If # used, you MUST specify the </BODY> and </HTML> closing tags # as the last lines. Max string length is 80 characters. #HTMLEnd </BODY></HTML> # The LinkReferrer option determines if entries in the referrer table # should be plain text or a HTML link to the referrer. Values can be # either 'yes' or 'no', with 'no' being the default. #LinkReferrer no # The Quiet option suppresses output messages... Useful when run # as a cron job to prevent bogus e-mails. Values can be either # "yes" or "no". Default is "no". Note: this does not suppress # warnings and errors (which are printed to stderr). #Quiet no # ReallyQuiet will supress all messages including errors and # warnings. Values can be 'yes' or 'no' with 'no' being the # default. If 'yes' is used here, it cannot be overriden from # the command line, so use with caution. A value of 'no' has # no effect. #ReallyQuiet no # TimeMe allows you to force the display of timing information # at the end of processing. A value of 'yes' will force the # timing information to be displayed. A value of 'no' has no # effect. #TimeMe no # GMTTime allows reports to show GMT (UTC) time instead of local # time. Default is to display the time the report was generated # in the timezone of the local machine, such as EDT or PST. This # keyword allows you to have times displayed in UTC instead. Use # only if you really have a good reason, since it will probably # screw up the reporting periods by however many hours your local # time zone is off of GMT. #GMTTime no # Debug prints additional information for error messages. This # will cause webalizer to dump bad records/fields instead of just # telling you it found a bad one. As usual, the value can be # either "yes" or "no". The default is "no". It shouldn't be # needed unless you start getting a lot of Warning or Error # messages and want to see why. (Note: warning and error messages # are printed to stderr, not stdout like normal messages). #Debug no # FoldSeqErr forces the Webalizer to ignore sequence errors. # This is useful for Netscape and other web servers that cache # the writing of log records and do not guarentee that they # will be in chronological order. The use of the FoldSeqErr # option will cause out of sequence log records to be treated # as if they had the same time stamp as the last valid record. # Default is to ignore out of sequence log records. The use # of this feature is strongly discouraged and rarely needed. # (the webalizer already compensates for up to 60 minutes of # difference between records). #FoldSeqErr no # VisitTimeout allows you to set the default timeout for a visit # (sometimes called a 'session'). The default is 30 minutes, # which should be fine for most sites. # Visits are determined by looking at the time of the current # request, and the time of the last request from the site. If # the time difference is greater than the VisitTimeout value, it # is considered a new visit, and visit totals are incremented. # Value is the number of seconds to timeout (default=1800=30min) #VisitTimeout 1800 # IgnoreHist shouldn't be used in a config file, but it is here # just because it might be usefull in certain situations. If the # history file is ignored, the main "index.html" file will only # report on the current log files contents. Usefull only when you # want to reproduce the reports from scratch. USE WITH CAUTION! # Valid values are "yes" or "no". Default is "no". #IgnoreHist no # IgnoreState also shouldn't be used, but is here anyway. It is # similar to the IgnoreHist option, but for the incremental data # file. If this is set to 'yes', any existing incrememtal data # will be ignored and a new data file will be written at the end # of processing. USE WITH CAUTION. By ignoring an existing # incremental data file, all previous processing for the current # month will be lost, and those logs must be re-processed. # Valid values are "yes" or "no". Default is "no". #IgnoreState no # CountryGraph allows the usage by country graph to be disabled. # Values can be 'yes' or 'no', default is 'yes'. #CountryGraph yes # CountryFlags allows flags to be displayed in the top country # table in monthly reports. Values can be 'yes' or 'no', with # the default being 'no'. #CountryFlags no # FlagDir specifies the location of flag graphics which will be # used in the top country table. If not specified, the default # is to look in the 'flags' directory directly under the output # directory being used for the reports. If this option is used, # the display of flag graphics will be enabled by default. #FlagDir flags # DailyGraph and DailyStats allows the daily statistics graph # and statistics table to be disabled (not displayed). Values # may be "yes" or "no". Default is "yes". #DailyGraph yes #DailyStats yes # HourlyGraph and HourlyStats allows the hourly statistics graph # and statistics table to be disabled (not displayed). Values # may be "yes" or "no". Default is "yes". #HourlyGraph yes #HourlyStats yes # GraphLegend allows the color coded legends to be turned on or off # in the graphs. The default is for them to be displayed. This only # toggles the color coded legends, the other legends are not changed. # If you think they are hideous and ugly, say 'no' here :) #GraphLegend yes # GraphLines allows you to have index lines drawn behind the graphs. # I personally am not crazy about them, but a lot of people requested # them and they weren't a big deal to add. The number represents the # number of lines you want displayed. Default is 2, you can disable # the lines by using a value of zero ('0'). [max is 20] # Note, due to rounding errors, some values don't work quite right. # The lower the better, with 1,2,3,4,6 and 10 producing nice results. #GraphLines 2 # IndexMonths defines the number of months to display in the main index # (yearly summary) table. Value can be between 12 and 120, with the # default being 12 months (1 year). #IndexMonths 12 # YearHeaders enables/disables the display of year headers in the main # index (yearly summary) table. If enabled, year headers will be shown # when the table is displaying more than 16 months worth of data. Values # can be 'yes' or 'no', with 'yes' being the default. #YearHeaders yes # YearTotals enables/disables the display of yearly totals in the main # index (yearly summary) table. If enabled, year totals will be shown # when the table is displaying more than 16 months worth of data. Values # can be 'yes' or 'no', with 'yes' being the default. #YearTotals yes # GraphMonths defines the number of months to display in the main index # (yearly summary) graph. Value can be between 12 and 72 months, with # the default being 12 months. #GraphMonths 12 # The "Top" options below define the number of entries for each table. # Defaults are Sites=30, URLs=30, Referrers=30 and Agents=15, and # Countries=30. TopKSites and TopKURLs (by KByte tables) both default # to 10, as do the top entry/exit tables (TopEntry/TopExit). The top # search strings and usernames default to 20. Tables may be disabled # by using zero (0) for the value. #TopSites 30 #TopKSites 10 #TopURLs 30 #TopKURLs 10 #TopReferrers 30 #TopAgents 15 #TopCountries 30 #TopEntry 10 #TopExit 10 #TopSearch 20 #TopUsers 20 # The All* keywords allow the display of all URLs, Sites, Referrers # User Agents, Search Strings and Usernames. If enabled, a seperate # HTML page will be created, and a link will be added to the bottom # of the appropriate "Top" table. There are a couple of conditions # for this to occur.. First, there must be more items than will fit # in the "Top" table (otherwise it would just be duplicating what is # already displayed). Second, the listing will only show those items # that are normally visable, which means it will not show any hidden # items. Grouped entries will be listed first, followed by individual # items. The value for these keywords can be either 'yes' or 'no', # with the default being 'no'. Please be aware that these pages can # be quite large in size, particularly the sites page, and seperate # pages are generated for each month, which can consume quite a lot # of disk space depending on the traffic to your site. #AllSites no #AllURLs no #AllReferrers no #AllAgents no #AllSearchStr no #AllUsers no # The Webalizer normally strips the string 'index.' off the end of # URLs in order to consolidate URL totals. For example, the URL # /somedir/index.html is turned into /somedir/ which is really the # same URL. This option allows you to specify additional strings # to treat in the same way. You don't need to specify 'index.' as # it is always scanned for by The Webalizer, this option is just to # specify _additional_ strings if needed. If you don't need any, # don't specify any as each string will be scanned for in EVERY # log record... A bunch of them will degrade performance. Also, # the string is scanned for anywhere in the URL, so a string of # 'home' would turn the URL /somedir/homepages/brad/home.html into # just /somedir/ which is probably not what was intended. #IndexAlias home.htm #IndexAlias homepage.htm # The DefaultIndex option is used to enable/disable the use of # "index." as the default index name to be stripped off the end of # a URL (as described above). Most sites will not need to use this # option, but some may, such as those whose default index file name # is different, or those that use "index.php" or similar URLs in a # dynamic environment. Values can be 'yes' or 'no', with the default # being 'yes'. This option does not effect any names added using the # IndexAlias option, and those names will still function as described # regardless of this setting. #DefaultIndex yes # The Hide*, Group* and Ignore* and Include* keywords allow you to # change the way Sites, URLs, Referrers, User Agents and Usernames # are manipulated. The Ignore* keywords will cause The Webalizer to # completely ignore records as if they didn't exist (and thus not # counted in the main site totals). The Hide* keywords will prevent # things from being displayed in the 'Top' tables, but will still be # counted in the main totals. The Group* keywords allow grouping # similar objects as if they were one. Grouped records are displayed # in the 'Top' tables and can optionally be displayed in BOLD and/or # shaded. Groups cannot be hidden, and are not counted in the main # totals. The Group* options do not, by default, hide all the items # that it matches. If you want to hide the records that match (so just # the grouping record is displayed), follow with an identical Hide* # keyword with the same value. (see example below) In addition, # Group* keywords may have an optional label which will be displayed # instead of the keywords value. The label should be seperated from # the value by at least one 'white-space' character, such as a space # or tab. If the match string contains whitespace (spaces or tabs), # the string should be quoted with either single or double quotes. # # The value can have either a leading or trailing '*' wildcard # character. If no wildcard is found, a match can occur anywhere # in the string. Given a string "www.yourmama.com", the values "your", # "*mama.com" and "www.your*" will all match. # Your own site should be hidden #HideSite *webalizer.org #HideSite localhost # Your own site gives most referrals #HideReferrer webalizer.org/ # This one hides non-referrers ("-" Direct requests) #HideReferrer Direct Request # Usually you want to hide these HideURL *.gif HideURL *.GIF HideURL *.jpg HideURL *.JPG HideURL *.png HideURL *.PNG HideURL *.ra # Hiding agents is kind of futile #HideAgent RealPlayer # You can also hide based on authenticated username #HideUser root #HideUser admin # Grouping options #GroupURL /cgi-bin/* CGI Scripts #GroupURL /images/* Images #GroupSite *.aol.com #GroupSite *.compuserve.com #GroupReferrer yahoo.com/ Yahoo! #GroupReferrer excite.com/ Excite #GroupReferrer infoseek.com/ InfoSeek #GroupReferrer webcrawler.com/ WebCrawler #GroupUser root Admin users #GroupUser admin Admin users #GroupUser wheel Admin users # The following is a great way to get an overall total # for browsers, and not display all the detail records. # (You should use MangleAgent to refine further...) #GroupAgent Opera/ Opera #HideAgent Opera/ #GroupAgent "MSIE 7" Microsoft Internet Exploder 7 #HideAgent MSIE 7 #GroupAgent "MSIE 6" Microsoft Internet Exploder 6 #HideAgent MSIE 6 #GroupAgent "MSIE " Older Microsoft Exploders #HideAgent MSIE #GroupAgent Firefox/2. Firefox 2 #HideAgent Firefox/2. #GroupAgent Firefox/1. Firefox 1.x #HideAgent Firefox/1. #GroupAgent Konqueror Konqueror #HideAgent Konqueror #GroupAgent Safari Safari #HideAgent Safari #GroupAgent Lynx* Lynx #HideAgent Lynx* #GroupAgent Wget/ WGet #HideAgent Wget/ #GroupAgent (compatible; Other Mozilla Compatibles #HideAgent (compatible; #GroupAgent Mozilla* Mozilla/Netscape #HideAgent Mozilla* # HideAllSites allows forcing individual sites to be hidden in the # report. This is particularly useful when used in conjunction # with the "GroupDomain" feature, but could be useful in other # situations as well, such as when you only want to display grouped # sites (with the GroupSite keywords...). The value for this # keyword can be either 'yes' or 'no', with 'no' the default, # allowing individual sites to be displayed. #HideAllSites no # The GroupDomains keyword allows you to group individual hostnames # into their respective domains. The value specifies the level of # grouping to perform, and can be thought of as 'the number of dots' # that will be displayed. For example, if a visiting host is named # cust1.tnt.mia.uu.net, a domain grouping of 1 will result in just # "uu.net" being displayed, while a 2 will result in "mia.uu.net". # The default value of zero disable this feature. Domains will only # be grouped if they do not match any existing "GroupSite" records, # which allows overriding this feature with your own if desired. #GroupDomains 0 # The GroupShading allows grouped rows to be shaded in the report. # Useful if you have lots of groups and individual records that # intermingle in the report, and you want to diferentiate the group # records a little more. Value can be 'yes' or 'no', with 'yes' # being the default. #GroupShading yes # GroupHighlight allows the group record to be displayed in BOLD. # Can be either 'yes' or 'no' with the default 'yes'. #GroupHighlight yes # The Ignore* keywords allow you to completely ignore log records based # on hostname, URL, user agent, referrer or username. I hesitated in # adding these, since the Webalizer was designed to generate _accurate_ # statistics about a web servers performance. By choosing to ignore # records, the accuracy of reports become skewed, negating why I wrote # this program in the first place. However, due to popular demand, here # they are. Use the same as the Hide* keywords, where the value can have # a leading or trailing wildcard '*'. Use at your own risk ;) Please # remember, the use of these will MAKE YOUR STATS INACCURATE and you # should consider using an equivalent 'Hide*' keyword instead. #IgnoreSite bad.site.net #IgnoreURL /test* #IgnoreReferrer file:/* #IgnoreAgent RealPlayer #IgnoreUser root # The Include* keywords allow you to force the inclusion of log records # based on hostname, URL, user agent, referrer or username. They take # precidence over the Ignore* keywords. Note: Using Ignore/Include # combinations to selectivly process parts of a web site is _extremely # inefficent_!!! Avoid doing so if possible (ie: grep the records to a # seperate file if you really want that kind of report). # Example: Only show stats on Joe User's pages... #IgnoreURL * #IncludeURL ~joeuser* # Or based on an authenticated username #IgnoreUser * #IncludeUser someuser # The MangleAgents allows you to specify how much, if any, The Webalizer # should mangle user agent names. This allows several levels of detail # to be produced when reporting user agent statistics. There are six # levels that can be specified, which define different levels of detail # supression. Level 5 shows only the browser name (MSIE or Mozilla) # and the major version number. Level 4 adds the minor version number # (single decimal place). Level 3 displays the minor version to two # decimal places. Level 2 will add any sub-level designation (such # as Mozilla/3.01Gold or MSIE 3.0b). Level 1 will attempt to also add # the system type if it is specified. The default Level 0 displays the # full user agent field without modification and produces the greatest # amount of detail. User agent names that can't be mangled will be # left unmodified. #MangleAgents 0 # The SearchEngine keywords allow specification of search engines and # their query strings on the URL. These are used to locate and report # what search strings are used to find your site. The first word is # a substring to match in the referrer field that identifies the search # engine, and the second is the URL variable used by that search engine # to define it's search terms. #SearchEngine .google. q= #SearchEngine yahoo.com p= #SearchEngine altavista.com q= #SearchEngine aolsearch. query= #SearchEngine ask.co q= #SearchEngine eureka.com q= #SearchEngine lycos.com query= #SearchEngine hotbot.com MT= #SearchEngine msn.com q= #SearchEngine infoseek.com qt= #SearchEngine excite search= #SearchEngine netscape.com query= #SearchEngine mamma.com query= #SearchEngine alltheweb.com q= #SearchEngine northernlight.com qr= # Normally, search strings are converted to lower case in order to # increase accuracy. The SearchCaseI option allows them to maintain # case sensitivity, useful for some sites. The value can be 'yes' # or 'no', with 'yes' (case insensitive) being the default. #SearchCaseI yes # The Dump* keywords allow the dumping of Sites, URLs, Referrers # User Agents, Usernames and Search strings to seperate tab delimited # text files, suitable for import into most database or spreadsheet # programs. # DumpPath specifies the path to dump the files. If not specified, # it will default to the current output directory. Do not use a # trailing slash ('/'). #DumpPath /var/lib/httpd/logs # The DumpHeader keyword specifies if a header record should be # written to the file. A header record is the first record of the # file, and contains the labels for each field written. Normally, # files that are intended to be imported into a database system # will not need a header record, while spreadsheets usually do. # Value can be either 'yes' or 'no', with 'no' being the default. #DumpHeader no # DumpExtension allow you to specify the dump filename extension # to use. The default is "tab", but some programs are pickey about # the filenames they use, so you may change it here (for example, # some people may prefer to use "csv"). #DumpExtension tab # These control the dumping of each individual table. The value # can be either 'yes' or 'no'.. the default is 'no'. #DumpSites no #DumpURLs no #DumpReferrers no #DumpAgents no #DumpUsers no #DumpSearchStr no # The custom graph colors are defined here. Declare them # in the standard hexadecimal way (as HTML, without the '#') # If none are given, you will get the standard default colors. #ColorHit 00805c #ColorFile 0040ff #ColorSite ff8000 #ColorKbyte ff0000 #ColorPage 00e0ff #ColorVisit ffff00 #ColorMisc 00e0ff #PieColor1 800080 #PieColor2 80ffc0 #PieColor3 ff00ff #PieColor4 ffc080 # End of configuration file... Have a nice day! ���������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/wcmgr.1���������������������������������������������������������������������������0000644�0001750�0001750�00000011354�11510253223�013447� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH wcmgr 1 "12-Jul-2008" "Version 1.00" "The Webalizer" .SH NAME wcmgr - Webalizer (DNS) Cache file Manager .SH SYNOPSIS .B wcmgr\fP [\fI option ... \fP] \fIcache-file\fP .PP .SH DESCRIPTION \fIwcmgr\fP is a utility program which allows manipulation of the DNS cache files used and produced by The \fIWebalizer\fP. Each record in the cache file contains an IP address (either IPv4 or IPv6), a timestamp of when the entry was added to the cache, a flag to indicate if the record contains a resolved name or not, and either the same IP address or a resolved host name. All records are accessed by their IP address. .SH RUNNING WCMGR \fIwcmgr\fP was designed to be run from the Unix shell command line. This facilitates its use in shell scripts and other automated processes. A valid DNS cache file \fBmust\fP be specified. Command line options are optional, and if none are given, the default action is to list the contents of the specified cache file. .SH COMMAND LINE OPTIONS Different functions are selected by using one or more of the following command line options. If no options are given, the default is to display the contents of the cache file to the screen (stdout). .PP .TP 8 .B \-h Display all available command line options and exit. .TP 8 .B \-v Be verbose. .TP 8 .B \-V Display the program version and exit. Additional program specific information will be displayed if \fIverbose\fP mode is also used (e.g. '\fI-vV\fP'), which can be useful when submitting bug reports. .TP 8 .B \-a \fIaddress\fP [\fI-n hostname\fP] [\fI-t0\fP] Add a new record to the cache file. The IP \fIaddress\fP will be added to the cache file using the current time as the timestamp and with a resolved name \fIhostname\fP. If \fI-t0\fP is specified, the record will be considered permanent, and will not be removed (during a purge) or expired. If a \fIhostname\fP is not specified with the \fI-n\fP option, then the \fIaddress\fP will be used instead, and the record will be flagged as unresolved. .TP 8 .B \-c Create a new cache file. If used alone, this option will create a new, empty cache file. If used with the \fIimport\fP option, a new cache file will be created before importing the data. An error will occur if the file \fIcache-file\fP already exists. .TP 8 .B \-d \fIaddress\fP Delete a record from the cache file using the specified \fIaddress\fP. .TP 8 .B \-f \fIaddress\fP Find and display information for \fIaddress\fP from the cache file. A single line similar to that produced by the \fI-l\fP option will be displayed unless \fIverbose\fP mode is enabled, in which case a more detailed listing will be produced. .TP 8 .B \-i \fIname\fP [\fI-c\fP] Import data into the cache file from the file \fIname\fP. The import file must be a valid tab delimited text file, such as that created by the \fIexport\fP option. If the imported data contains records already present in the cache file, those records will be overwritten by the imported data. The cache file must exist unless the \fI-c\fP option is specified, in which case, a new cache file will be created for the imported data. .TP 8 .B \-l List the contents of the cache file. This is the default action of the program, so does not necessarily need to be specified. If \fIverbose\fP mode is enabled, a report title, column headers and summary totals will also be displayed. .TP 8 .B \-p \fInum\fP Purge the cache file of entries older than \fInum\fP days. If \fInum\fP is not specified, then a default of \fB7 days\fP will be used. if \fIverbose\fP mode is enabled, each purged record will be printed and the total number of purged records will be displayed. .TP 8 .B \-s [\fI-t num\fP] Display cache file information/statistics. If a TTL value (in days) is specified using the \fI-t\fP option, it will be used to calculate how many records are older than \fInum\fP days, otherwise, the default value of \fB7 days\fP will be used. .TP 8 .B \-n \fIname\fP Specify the \fIname\fP to use as the resolved hostname when adding records to the cache. .TP 8 .B \-t \fInum\fP Time to live (TTL) value. If used along with the \fI-p\fP (purge) option, it specifies how many days a record will remain valid. Any record that is older than \fInum\fP days is considered expired and will be purged. If used with the \fI-a\fP (add) option, a zero value will cause the record to be considered permanent. .TP 8 .B \-x \fIname\fP Export data from a cache file to a tab delimited text file named \fIname\fP. If the text file \fIname\fP exists, it will be overwritten. .SH BUGS Please report bugs to the author. .SH COPYRIGHT Copyright (C) 1997-2011 by Bradford L. Barrett. Distributed under the GNU GPL. See the files "\fICOPYING\fP" and "\fICopyright\fP", supplied with all distributions for additional information. .SH AUTHOR Bradford L. Barrett <\fIbrad at mrunix dot net\fP> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/wcmgr.c���������������������������������������������������������������������������0000644�0001750�0001750�00000072406�11510253026�013537� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* wcmgr - Webalizer (DNS) Cache file Manager webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #ifndef USE_DNS /* ********************************************************** */ /* If DNS support is not enabled, then we just compile a stub */ /* program that displays an appropriate warning when run. */ /* ********************************************************** */ int main() { printf("********************* NOTICE!! *********************\n"); printf("This version of the Webalizer was not compiled with\n"); printf("DNS support. In order to use this program, you must\n"); printf("configure the Webalizer at build time with the DNS\n"); printf("support enabled (--enable-dns configure option).\n"); printf("****************************************************\n\n"); exit(1); /* exit with error code */ } #else /* USE_DNS defined */ #include <errno.h> #include <unistd.h> /* normal stuff */ #include <fcntl.h> #include <ctype.h> #include <sys/utsname.h> #include <sys/stat.h> /* ensure getopt */ #ifdef HAVE_GETOPT_H #include <getopt.h> #endif /* ensure sys/types */ #ifndef _SYS_TYPES_H #include <sys/types.h> #endif #include <db.h> #include "webalizer.h" /*********************************************/ /* Forward reference local functions */ /*********************************************/ void list_cache(void); void stat_cache(void); void export_cache(void); void import_cache(void); void find_rec(void); void add_rec(void); void del_rec(void); void purge_cache(void); void create_cache(void); static int db_put(char *, char *, int, time_t); /*********************************************/ /* GLOBAL VARIABLES */ /*********************************************/ char *pname = "WCMGR - Webalizer (DNS) Cache file Manager"; char *version = "1.00"; /* program version */ char *editlvl = "03"; /* edit level */ char *moddate = "12-Jul-2008"; /* modification date */ char *copyright = "Copyright 2007-2011 by Bradford L. Barrett"; int action = 'l'; /* action flag (default=list) */ int create = 0; /* cache creation flag */ int verbose = 0; /* Verbose flag (1=be verbose) */ int rec_ttl = 7; /* purge TTL in days */ DB *dns_db = NULL; /* DNS cache database */ DB *out_db = NULL; /* output cache db if needed */ DBC *cursorp = NULL; /* database cursor */ DBT q, r; /* query/reply structures */ char *in_file = NULL; /* input cache filename */ char out_file[MAXHOST+4]; /* output cache filename */ int dns_fd = 0; /* database file descriptor */ time_t runtime; /* runtime for TTL calcs */ char addr[129]; /* buffer for IP search addr */ char name[MAXHOST+1]; /* buffer for name value */ extern char *optarg; /* command line processing */ extern int optind; extern int opterr; /* dnsRecord structure used in wcmgr */ struct dnsRec { time_t timeStamp; /* Timestamp of resolv data */ int numeric; /* 0: Name, 1: IP-address */ char hostName[MAXHOST+1]; /* Hostname buffer (variable) */ } dns_rec; /*********************************************/ /* PRINT_VER - display version information */ /*********************************************/ void print_ver() { int v,r,l; struct utsname system_info; uname(&system_info); printf("%s V%s-%s\n%s\n",pname,version,editlvl,copyright); if (verbose) { db_version(&v,&r,&l); printf("System : %s %s (%s)\n", system_info.sysname, system_info.release, system_info.machine); printf("DB Ver. : V%d.%d.%d\n",v,r,l); printf("Mod Date: %s\n",moddate); } printf("\n"); exit(0); } /*********************************************/ /* PRINT_HELP - Command help display */ /*********************************************/ void print_help(void) { printf("Usage: wcmgr [options] cache-file\n\n"); printf("Options:\n"); printf(" -h This help display\n"); printf(" -V Version information\n"); printf(" -v be verbose\n"); printf(" -a addr Add DNS record\n"); printf(" -c Create new cache file\n"); printf(" -d addr Delete DNS record\n"); printf(" -f addr Find DNS record\n"); printf(" -i name Import cache from file\n"); printf(" -l List cache file contents\n"); printf(" -n name hostname (used for add)\n"); printf(" -p num Purge after num days\n"); printf(" -s Display cache file stats/info\n"); printf(" -t num TTL value (for add and stats)\n"); printf(" -x name Export cache to tab file\n"); printf("\n"); printf("If no options are specified, the default\n"); printf("action is to list the cache file contents.\n\n"); exit(0); } /*********************************************/ /* TTL_AGE - format TTL age for printing */ /*********************************************/ const char *ttl_age(time_t now, time_t then) { static char our_buffer[32]; /* string return buffer */ time_t age; /* age value in seconds */ int days, hours, mins; /* day/hour/min counters */ /* get age in seconds */ age=now-then; /* now calc days/hours/min */ days=age/86400; age=age-(days*86400); hours=age/3600; age=age-(hours*3600); mins=age/60; /* format the string */ sprintf(our_buffer,"%02dd:%02dh:%02dm",days, hours, mins); /* and return to caller */ return our_buffer; } /*********************************************/ /* MAIN entry point here */ /*********************************************/ int main(int argc, char *argv[]) { int i; /* gotta have one of these :-) */ /* some systems need this */ setlocale(LC_CTYPE,""); /* initalize name/addr */ memset(addr, 0, sizeof(addr)); memset(name, 0, sizeof(name)); memset(out_file,0,sizeof(out_file)); /* Get our command line arguments */ opterr = 0; while ((i=getopt(argc,argv,"a:cd:f:hi:ln:p::st:vVx:"))!=EOF) { switch (i) { case 'a': action='a'; strncpy(addr,optarg,sizeof(addr)-1); break; case 'c': if (action!='i') action='c'; create=1; break; case 'd': action='d'; strncpy(addr,optarg,sizeof(addr)-1); break; case 'f': action='f'; strncpy(addr,optarg,sizeof(addr)-1); break; case 'i': action='i'; strncpy(out_file,optarg,sizeof(out_file)-1); break; case 'h': print_help(); break; case 'n': strncpy(name,optarg,sizeof(name)-1); break; case 'p': action='p'; if (optarg!=NULL) rec_ttl=atoi(optarg); break; case 's': action='s'; break; case 't': rec_ttl=atoi(optarg); break; case 'v': verbose=1; break; case 'V': print_ver(); break; case 'x': action='x'; strncpy(out_file,optarg,sizeof(out_file)-1); break; case ':': /* catch invalid options here */ case '?': break; case 'l': /* This is the default action */ default: action='l'; break; } } /* Get cache filename if specified */ if (argc - optind == 0) print_help(); /* gots to have a filename!! */ in_file = argv[optind]; /* Try to create our DB handle */ if ( db_create(&dns_db, NULL, 0) ) { fprintf(stderr,"Error: unable to create db handle!\n"); exit(1); } /* force sane TTL value */ if (rec_ttl > 99) rec_ttl=99; if (rec_ttl < 0 ) rec_ttl=7; /* Branch on 'action' specified */ switch (action) { case 'a': add_rec(); break; case 'c': create_cache(); break; case 'd': del_rec(); break; case 'f': find_rec(); break; case 'i': import_cache(); break; case 's': stat_cache(); break; case 'p': purge_cache(); break; case 'x': export_cache(); break; case 'l': default: list_cache(); break; } exit(0); } /*********************************************/ /* LIST_CACHE - Dump out cache contents */ /*********************************************/ void list_cache() { int i; char ip_buf[48]; u_int64_t t_rec=0; u_int64_t t_num=0; /* open the database (read-only) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } /* get our runtime for TTL calculations */ time(&runtime); if (verbose) { printf("Webalizer DNS Cache file listing generated %s\n",ctime(&runtime)); printf("IP Address TTL Age Hostname\n"); printf("--------------- ------------- ------------------------" \ "-----------------------\n"); } /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); memset(&dns_rec, 0, sizeof(struct dnsRec)); /* Loop through database */ while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) { /* got a record */ t_rec++; memset(ip_buf, 0, sizeof(ip_buf)); strncpy(ip_buf, q.data, (q.size>47)?47:q.size); /* save IP address */ memcpy(&dns_rec, r.data, r.size); if (dns_rec.numeric) t_num++; printf("%-15s [%s] %s\n",ip_buf, (dns_rec.timeStamp)? ttl_age(runtime, dns_rec.timeStamp): "-permanent-", dns_rec.hostName); /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); } if (verbose) { printf("------------------------------------------------------" \ "-----------------------\n"); printf("Filename: %s (%llu records)\n",in_file, t_rec); } } /*********************************************/ /* PURGE_CACHE - Purge cache of expired recs */ /*********************************************/ void purge_cache() { int i; char ip_buf[48]; u_int64_t age=0; u_int64_t t_in=0; u_int64_t t_out=0; u_int64_t t_exp=0; /* file control struct */ struct flock our_flock; if (verbose) printf("Purging records over %d days from '%s'\n", rec_ttl, in_file); /* open the input database (read-write) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, 0, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* get file descriptor */ dns_db->fd(dns_db, &dns_fd); /* Try to lock the file */ our_flock.l_whence=SEEK_SET; our_flock.l_start=0; our_flock.l_len=0; our_flock.l_type=F_WRLCK; if (fcntl(dns_fd,F_SETLK,&our_flock) <0) { /* Error - can't lock file */ printf("Error: Unable to lock cache file: %s\n",strerror(errno)); exit(1); } /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } /* Try to create our output DB handle */ if ( db_create(&out_db, NULL, 0) ) { fprintf(stderr,"Error: unable to create output db handle!\n"); exit(1); } /* generate output filename */ memset(out_file, 0, sizeof(out_file)); sprintf(out_file, "%s.new", in_file); /* open the output database (read-write) */ if ((i=out_db->open(out_db, NULL, out_file, NULL, DB_HASH, DB_CREATE|DB_EXCL, 0644))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",out_file,db_strerror(i)); exit(1); } /* get our runtime for TTL calculations */ time(&runtime); /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); /* Loop through database */ while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) { /* got a record */ t_in++; memcpy(&dns_rec, r.data, r.size); /* get record ttl age */ if (dns_rec.timeStamp==0) age=0; else age = runtime - dns_rec.timeStamp; if ( age <= (rec_ttl*86400) ) { /* Good record.. insert into new cache file */ if ( (i=out_db->put(out_db, NULL, &q, &r, 0)) != 0 ) { fprintf(stderr,"Error: db_put fail: %s!\n",db_strerror(i)); exit(1); } else t_out++; } else { /* Expired record */ t_exp++; if (verbose) { memset(ip_buf, 0, sizeof(ip_buf)); strncpy(ip_buf, q.data, (q.size>47)?47:q.size); printf("Purging %-16s [%s]\n",ip_buf, ttl_age(runtime,dns_rec.timeStamp)); } } /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); } /* Successful exit! */ our_flock.l_type=F_UNLCK; fcntl(dns_fd, F_SETLK, &our_flock); dns_db->close(dns_db, 0); out_db->close(out_db, 0); /* rename files */ if (rename(out_file, in_file)) { fprintf(stderr,"Error renaming file: %s\n",strerror(errno)); exit(1); } if (verbose) printf("%llu of %llu records purged from '%s'\n",t_exp,t_in,in_file); } /*********************************************/ /* STAT_CACHE - Display cache stats/info */ /*********************************************/ void stat_cache() { /* Define some variables */ int i; time_t min_age=0; /* min/max TTL age in cache */ time_t max_age=0; u_int64_t t_rec=0; /* Various record totals */ u_int64_t t_err=0; u_int64_t t_name=0; u_int64_t t_num=0; u_int64_t t_perm=0; u_int64_t t_old=0; time_t age; /* open the database (read-only) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } /* get our runtime for TTL calculations */ time(&runtime); /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); memset(&dns_rec, 0, sizeof(struct dnsRec)); /* Loop through database */ while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) { t_rec++; /* add to total */ if (r.size >= sizeof(dns_rec)) { t_err++; continue; } /* size error? */ memcpy(&dns_rec, r.data, r.size); /* get record */ if (dns_rec.numeric) t_num++; else t_name++; /* resolved? */ if (dns_rec.timeStamp!=0) /* permanent? */ { age=runtime-dns_rec.timeStamp; /* calc age */ if ((age < min_age) || (t_rec==1) ) min_age=age; /* min/max age */ if ( age > max_age ) max_age=age; /* if not perm */ if ( age > (rec_ttl*86400)) t_old++; /* purgable? */ } else t_perm++; /* inc counter */ /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); } /* Print actual record counts */ printf("Report generated on: %s",ctime(&runtime)); printf("DNS Cache Filename : %s\n",in_file); printf("Total Records : %llu\n",t_rec); printf("Total Resolved : %llu\n",t_name); printf("Total Unresolved : %llu\n",t_num); printf("Total Permanent : %llu\n",t_perm); printf("Newest Record age : %s\n",ttl_age(min_age,0)); printf("Oldest Record age : %s\n",ttl_age(max_age,0)); printf("Total over %02d days : %llu\n",rec_ttl,t_old); if (t_err) printf("Record Size Errors : %llu\n",t_err); printf("\n"); } /*********************************************/ /* FIND_REC - Find IP record in cache */ /*********************************************/ void find_rec() { int i; char ip_buf[48]; /* open the database (read-only) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* get our runtime for TTL calculations */ time(&runtime); /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); memset(&dns_rec, 0, sizeof(struct dnsRec)); /* search the cache */ q.data = &addr; q.size = strlen(addr); if ( (i=dns_db->get(dns_db, NULL, &q, &r, 0)) == 0) { /* We found it! display info */ memset(ip_buf, 0, sizeof(ip_buf)); strncpy(ip_buf, q.data, (q.size>47)?47:q.size); /* save IP address */ memcpy(&dns_rec, r.data, r.size); if (verbose) { /* Verbose display */ printf("Address : %s\n",ip_buf); printf("Hostname : %s\n",dns_rec.hostName); printf("Resolved : %s\n",(dns_rec.numeric)?"No":"Yes"); if (dns_rec.timeStamp) { /* Not Permanent */ printf("Timestamp: %s",ctime(&dns_rec.timeStamp)); printf("TTL age : %s\n\n",ttl_age(runtime, dns_rec.timeStamp)); } else { printf("Timestamp: N/A\n"); printf("TTL age : Permanent\n"); } } else { /* Standard 1 line display */ printf("%-15s [%s] %s\n",ip_buf, (dns_rec.timeStamp)? ttl_age(runtime, dns_rec.timeStamp): "-permanent-", dns_rec.hostName); } } else { if (i==DB_NOTFOUND) printf("%s not found!\n",addr); else printf("Error: %s\n",db_strerror(i)); } } /*********************************************/ /* DEL_REC - Delete record from cache file */ /*********************************************/ void del_rec() { int i; char *cp; /* ensure we have addr string */ if (addr[0]!='\0') cp=addr; else { fprintf(stderr,"Error: No IP address specified!\n"); exit(1); } /* ensure IPv6 addresses are lowercase */ cp=addr; while (*cp!='\0') *cp++=tolower(*cp); /* open the database (read-write) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, 0, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); memset(&dns_rec, 0, sizeof(struct dnsRec)); /* search the cache */ q.data = &addr; q.size = strlen(addr); /* Try to delete the record */ if ( (i=dns_db->del(dns_db, NULL, &q, 0)) ) { if (i==DB_NOTFOUND) { printf("%s not found in cache!\n",addr); exit(1); } else { fprintf(stderr,"Error: %s\n",db_strerror(i)); exit(1); } } dns_db->close(dns_db, 0); if (verbose) printf("%s sucessfully deleted from cache file\n",addr); } /*********************************************/ /* ADD_REC - Add record to cache file */ /*********************************************/ void add_rec() { int i; char *cp; /* ensure we have addr string */ if (addr[0]!='\0') cp=addr; else { fprintf(stderr,"Error: No IP address specified!\n"); exit(1); } /* and check size */ if (strlen(addr)>47) { fprintf(stderr,"Error: IP address too long!\n"); exit(1); } /* ensure everything is lowercase */ cp=addr; while (*cp!='\0') *cp++=tolower(*cp); if (name[0]!='\0') { cp=name; while (*cp!='\0') *cp++=tolower(*cp); } /* open the database (read-write) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, 0, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* get our runtime for TTL calculations */ time(&runtime); /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); memset(&dns_rec, 0, sizeof(struct dnsRec)); /* search the cache */ q.data = &addr; q.size = strlen(addr); if ( (i=dns_db->get(dns_db, NULL, &q, &r, 0)) == 0) { fprintf(stderr,"Error: %s already exists in cache!\n",addr); exit(1); } else { if (i!=DB_NOTFOUND) { fprintf(stderr,"Error: %s\n",db_strerror(i)); exit(1); } else { /* check hostname */ if (name[0]=='\0') strncpy(name,addr,strlen(addr)); /* check if perm */ if (rec_ttl==0) runtime=0; /* put it in the database */ if (db_put(addr, name, (strcmp(name,addr))?0:1, runtime)==0) dns_db->close(dns_db,0); if (verbose) printf("%s sucessfully added to cache file\n",addr); } } } /*********************************************/ /* CREATE_CACHE - Create a new cache file */ /*********************************************/ void create_cache() { int i; /* create the database */ if ((i=dns_db->open(dns_db,NULL,in_file,NULL, DB_HASH,DB_CREATE|DB_EXCL,0644))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } dns_db->close(dns_db,0); if (verbose) printf("Cache file %s created successfully\n",in_file); } /*********************************************/ /* IMPORT_CACHE - import cache from tab file */ /*********************************************/ void import_cache() { int i, flag=0; u_int64_t t_rec=0; FILE *in_fp; char ip_buf[48]; char buffer[4096]; /* open the database (read-write) */ if (create) flag=DB_CREATE|DB_EXCL; if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, flag, 0644))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* open our import file */ in_fp=fopen(out_file,"r"); if (in_fp) { while ((fgets(buffer,4096,in_fp)) != NULL) { memset(&dns_rec, 0, sizeof(dns_rec)); memset(&ip_buf, 0, sizeof(ip_buf)); i = sscanf(buffer,"%s\t%lu\t%d\t%s", ip_buf, &dns_rec.timeStamp, &dns_rec.numeric, dns_rec.hostName); if (ip_buf[0]=='#') continue; /* skip comments */ if (i!=4) { fprintf(stderr,"Error reading tab file %s\n",out_file); exit(1); } t_rec++; /* bump totals */ /* put it in the database */ if (db_put(ip_buf, dns_rec.hostName, dns_rec.numeric, dns_rec.timeStamp)!=0) { fprintf(stderr,"Error inserting cache record:\n%s\n",buffer); exit(1); } } } else fprintf(stderr,"Error: File not found: %s\n",out_file); dns_db->close(dns_db,0); if (verbose) printf("%llu records imported into '%s' from file '%s'\n", t_rec, in_file, out_file); } /*********************************************/ /* EXPORT_CACHE - export cache to tab file */ /*********************************************/ void export_cache() { int i; u_int64_t t_rec=0; char ip_buf[48]; FILE *out_fp; struct stat out_stat; /* make sure files are different! */ if (!strcmp(in_file,out_file)) { fprintf(stderr,"Error: Bad export filename: %s\n",out_file); exit(1); } /* open the database (read-only) */ if ((i=dns_db->open(dns_db, NULL, in_file, NULL, DB_HASH, DB_RDONLY, 0))) { /* Error opening the cache file.. tell user and exit */ fprintf(stderr,"Error: %s: %s\n",in_file,db_strerror(i)); exit(1); } /* Create a cursor */ if ( dns_db->cursor(dns_db, NULL, &cursorp, 0) ) { fprintf(stderr,"Error: Unable to create cursor!\n"); exit(1); } /* stat output file */ if ( !(lstat(out_file, &out_stat)) ) { /* check if the file is a symlink */ if ( S_ISLNK(out_stat.st_mode) ) { fprintf(stderr,"%s %s\n","Error: File is a symlink:",out_file); exit(1); } } /* open output file */ if ( (out_fp=fopen(out_file,"w")) == NULL) { fprintf(stderr,"%s %s\n","Error: Cannot create file:",out_file); exit(1); } /* initalize data areas */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); memset(&dns_rec, 0, sizeof(struct dnsRec)); /* Loop through database */ while (!cursorp->c_get(cursorp, &q, &r, DB_NEXT)) { /* got a record */ t_rec++; memset(ip_buf, 0, sizeof(ip_buf)); strncpy(ip_buf, q.data, (q.size>47)?47:q.size); /* save IP address */ memcpy(&dns_rec, r.data, r.size); /* Print out tab delimited line */ /* Format: IP timestamp numeric hostname */ fprintf(out_fp,"%s\t%lu\t%d\t%s\n", ip_buf,dns_rec.timeStamp, dns_rec.numeric, dns_rec.hostName); /* done, clear for next rec */ memset(&q, 0, sizeof(DBT)); memset(&r, 0, sizeof(DBT)); } dns_db->close(dns_db,0); fclose(out_fp); if (verbose) printf("%llu records exported from '%s' to file '%s'\n", t_rec, in_file, out_file); } /*********************************************/ /* DB_PUT - put key/val in the cache db */ /*********************************************/ static int db_put(char *key, char *value, int numeric, time_t ttl) { /* dnsRecord structure used in database */ struct dnsRecord { time_t timeStamp; /* Timestamp of resolv data */ int numeric; /* 0: Name, 1: IP-address */ char hostName[1]; /* Hostname buffer (variable) */ }; int i; DBT k, v; struct dnsRecord *recPtr = NULL; int nameLen = strlen(value)+1; /* Align to multiple of eight bytes */ int recSize = (sizeof(struct dnsRecord)+nameLen+7) & ~0x7; /* make sure we have a db ;) */ if(dns_db) { if((recPtr = calloc(1, recSize))) { recPtr->timeStamp = ttl; recPtr->numeric = numeric; memcpy(&recPtr->hostName, value, nameLen); memset(&k, 0, sizeof(k)); memset(&v, 0, sizeof(v)); k.data = key; k.size = strlen(key); v.size = recSize; v.data = recPtr; if ( (i=dns_db->put(dns_db, NULL, &k, &v, 0)) != 0 ) fprintf(stderr,"Error: db_put fail: %s!\n",db_strerror(i)); free(recPtr); } else return 1; } else return 1; return i; } #endif /* USE_DNS */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/webalizer.1�����������������������������������������������������������������������0000644�0001750�0001750�00000105725�11510253233�014323� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH webalizer 1 "12-Jul-2008" "Version 2.20" "The Webalizer" .SH NAME webalizer - A web server log file analysis tool. .SH SYNOPSIS .B webalizer [\fI option ... \fP] [\fI log-file \fP] .PP .B webazolver [\fI option ... \fP] [\fI log-file \fP] .PP .SH DESCRIPTION The \fIWebalizer\fP is a web server log file analysis program which produces usage statistics in HTML format for viewing with a browser. The results are presented in both columnar and graphical format, which facilitates interpretation. Yearly, monthly, daily and hourly usage statistics are presented, along with the ability to display usage by site, URL, referrer, user agent (browser), username, search strings, entry/exit pages, and country (some information may not be available if not present in the log file being processed). .PP The \fIWebalizer\fP supports \fBCLF\fP (common log format) log files, as well as \fBCombined\fP log formats as defined by NCSA and others, and variations of these which it attempts to handle intelligently. In addition, the \fIWebalizer\fP supports \fBxferlog\fP formatted (\fIFTP\fP) log files, \fBsquid\fP proxy logs and \fBW3C\fP extended format logs. Logs may also be compressed, via \fIgzip\fP (.gz) or, if enabled at compile time, \fIbzip2\fP (.bz2). If a compressed log file is detected, it will be automatically uncompressed while it is read. Compressed logs must have the standard \fIgzip\fP extension of \fB.gz\fP or \fIbzip2\fP extension of \fB.bz2\fP. .PP \fIwebazolver\fP is normally just a symbolic link to the \fIWebalizer\fP. When run as \fIwebazolver\fP, only DNS file creation/updates are performed, and the program will exit once complete. All normal options and configuration directives are available, however many will not be used. In addition, a DNS cache file must be specified. If the number of DNS children processes to use are not specified, the \fIwebazolver\fP will default to \fB5\fP. .PP This documentation applies to The Webalizer Version 2.20 .SH RUNNING THE WEBALIZER The \fIWebalizer\fP was designed to be run from a Unix command line prompt or as a \fBcrond(8)\fP job. Once executed, the general flow of the program is: .TP 8 .B o A default configuration file is scanned for. A file named \fIwebalizer.conf\fP is searched for in the current directory, and if found, it's configuration data is parsed. If the file is not present in the current directory, the file \fI/etc/webalizer.conf\fP is searched for and, if found, is used instead. .TP 8 .B o Any command line arguments given to the program are parsed. This may include the specification of a configuration file, which is processed at the time it is encountered. .TP 8 .B o If a log file was specified, it is opened and made ready for processing. If no log file was given, \fISTDIN\fP is used for input. If the log filename '\fB-\fP' is specified, \fISTDIN\fP will be forced. .TP 8 .B o If an output directory was specified, the program does a \fBchdir(2)\fP to that directory in preparation for generating output. If no output directory was given, the current directory is used. .TP 8 .B o If a non-zero number of DNS Children processes were specified, they will be started, and the specified log file will be processed, creating or updating the specified DNS cache file. .TP 8 .B o If no hostname was given, the program attempts to get the hostname using a \fBuname(2)\fP system call. If that fails, \fIlocalhost\fP is used. .TP 8 .B o A history file is searched for in the current directory (output directory) and read if found. This file keeps totals for previous months, which is used in the main \fIindex.html\fP HTML document. .B Note: The file location can now be specified with the \fIHistoryName\fP configuration option. .TP 8 .B o If incremental processing was specified, a data file is searched for and loaded if found, containing the 'internal state' data of the program at the end of a previous run. .B Note: The file location can now be specified with the \fIIncrementalName\fP configuration option. .TP 8 .B o Main processing begins on the log file. If the log spans multiple months, a separate HTML document is created for each month. .TP 8 .B o After main processing, the main \fIindex.html\fP page is created, which has totals by month and links to each months HTML document. .TP 8 .B o A new history file is saved to disk, which includes totals generated by The \fIWebalizer\fP during the current run. .TP 8 .B o If incremental processing was specified, a data file is written that contains the 'internal state' data at the end of this run. .SH INCREMENTAL PROCESSING The \fIWebalizer\fP supports incremental run capability. Simply put, this allows processing large log files by breaking them up into smaller pieces, and processing these pieces instead. What this means in real terms is that you can now rotate your log files as often as you want, and still be able to produce monthly usage statistics without the loss of any detail. Basically, The \fIWebalizer\fP saves and restores all internal data in a file named \fIwebalizer.current\fP. This allows the program to 'start where it left off' so to speak, and allows the preservation of detail from one run to the next. The data file is placed in the current output directory, and is a plain ASCII text file that can be viewed with any standard text editor. It's location and name may be changed using the \fIIncrementalName\fP configuration keyword. .PP Some special precautions need to be taken when using the incremental run capability of The \fIWebalizer\fP. Configuration options should not be changed between runs, as that could cause corruption of the internal data stored. For example, changing the \fIMangleAgents\fP level will cause different representations of user agents to be stored, producing invalid results in the user agents section of the report. If you need to change configuration options, do it at the end of the month after normal processing of the previous month and before processing the current month. You may also want to delete the \fIwebalizer.current\fP file as well. .PP The \fIWebalizer\fP also attempts to prevent data duplication by keeping track of the timestamp of the last record processed. This timestamp is then compared to current records being processed, and any records that were logged previous to that timestamp are ignored. This, in theory, should allow you to re-process logs that have already been processed, or process logs that contain a mix of processed/not yet processed records, and not produce duplication of statistics. The only time this may break is if you have duplicate timestamps in two separate log files... any records in the second log file that do have the same timestamp as the last record in the previous log file processed, will be discarded as if they had already been processed. There are lots of ways to prevent this however, for example, stopping the web server before rotating logs will prevent this situation. This setup also necessitates that you always process logs in chronological order, otherwise data loss will occur as a result of the timestamp compare. .SH REVERSE DNS LOOKUPS The \fIWebalizer\fP fully supports IPv4 and IPv6 DNS lookups, and maintains a cache of those lookups to reduce processing the same addresses in subsequent runs. The cache file can be created at run-time, or may be created before running the webalizer using either the stand alone '\fIwebazolver\fP' program, or The Webalizer (DNS) Cache file manager program '\fIwcmgr\fP'. In order to perform reverse lookups, a \fBDNSCache\fP file must be specified, either on the command line or in a configuration file. In order to create/update the cache file at run-time, the number of \fBDNSChildren\fP must also be specified, and can be anything between 1 and 100. This specifies the number of child processes to be forked, each of which will perform network DNS queries in order to lookup up the addresses and update the cache. Cached entries that are older than a specified TTL (time to live) will be expired, and if encountered again in a log, will be looked up at that time in order to 'freshen' them (verify the name is still the same and update its timestamp). The default TTL is 7 days, however may be set to anything between 1 and 100 days. Using the '\fIwcmgr\fP' program, entries may also be marked as 'permanent', in which case they will persist (with an infinite TTL) in the cache until manually removed. See the file \fBDNS.README\fP for additional information and examples. .SH GEOLOCATION LOOKUPS The \fIWebalizer\fP has the ability to perform geolocation lookups on IP addresses using either it's own internal \fIGeoDB\fP database, or optionally the \fIGeoIP\fP database from MaxMind, Inc. (www.maxmind.com). If used, unresolved addresses will be searched for in the database and its country of origin will be returned if found. This actually produces more accurate \fICountry\fP information than DNS lookups, since the DNS address space has additional \fIgcTLDs\fP that do not necessarily map to a specific country (such as \fI.net\fP and \fI.com\fP). It is possible to use both DNS lookups and geolocation lookups at the same time, which will cause any addresses that could not be resolved using DNS lookups to then be looked up in the database, greatly reducing the number of \fIUnknown/Unresolved\fP entries in the generated reports. The native \fIGeoDB\fP geolocation database provided by The \fIWebalizer\fP fully supports both \fIIPv4\fP and \fIIPv6\fP lookups, is updated regularly and is the preferred geolocation method for use with The \fIWebalizer\fP. The most current version of the database can be obtained from our ftp site (\fIftp://ftp.mrunix.net/\fP). .SH COMMAND LINE OPTIONS The \fIWebalizer\fP supports many different configuration options that will alter the way the program behaves and generates output. Most of these can be specified on the command line, while some can only be specified in a configuration file. The command line options are listed below, with references to the corresponding configuration file keywords. .PP .I General Options .TP 8 .B \-h Display all available command line options and exit program. .TP 8 .B \-v Be verbose. Will cause the program to output informational and \fIDebug\fP messages at run-time. .TP 8 .B \-V Display the program version and exit. Additional program specific information will be displayed if \fIverbose\fP mode is also used (e.g. '\fI-vV\fP'), which can be useful when submitting bug reports. .TP 8 .B \-d \fBDebug\fP. Display debugging information for errors and warnings. .TP 8 .B \-i \fBIgnoreHist\fP. Ignore history. \fBUSE WITH CAUTION\fP. This will cause The \fIWebalizer\fP to ignore any previous monthly history file only. Incremental data (if present) is still processed. .TP 8 .B \-b \fBIgnoreState\fP. Ignore incremental data file. \fBUSE WITH CAUTION\fP. This will cause The \fIWebalizer\fP to ignore any existing incremental data file. By ignoring the incremental data file, all previous processing for the current month will be lost and those logs must be re-processed. .TP 8 .B \-p \fBIncremental\fP. Preserve internal data between runs. .TP 8 .B \-q \fBQuiet\fP. Suppress informational messages. Does not suppress warnings or errors. .TP 8 .B \-Q \fBReallyQuiet\fP. Suppress all messages including warnings and errors. .TP 8 .B \-T \fBTimeMe\fP. Force display of timing information at end of processing. .TP 8 .B \-c \fIfile\fP Use configuration file \fIfile\fP. .TP 8 .B \-n \fIname\fP \fBHostName\fP. Use the hostname \fIname\fP. .TP 8 .B \-o \fIdir\fP \fBOutputDir\fP. Use output directory \fIdir\fP. .TP 8 .B \-t \fIname\fP \fBReportTitle\fP. Use \fIname\fP for report title. .TP 8 .B \-F \fP( \fBc\fPlf | \fBf\fPtp | \fBs\fPquid | \fBw\fP3c ) \fBLogType\fP. Specify log type to be processed. Value can be either \fIc\fPlf, \fIf\fPtp, \fIs\fPquid or \fIw\fP3c format. If not specified, will default to \fBCLF\fP format. \fIFTP\fP logs must be in standard wu-ftpd \fIxferlog\fP format. .TP 8 .B \-f \fBFoldSeqErr\fP. Fold out of sequence log records back into analysis, by treating as if they were the same date/time as the last good record. Normally, out of sequence log records are simply ignored. .TP 8 .B \-Y \fBCountryGraph\fP. Suppress country graph. .TP 8 .B \-G \fBHourlyGraph\fP. Suppress hourly graph. .TP 8 .B \-x \fIname\fP \fBHTMLExtension\fP. Defines HTML file extension to use. If not specified, defaults to \fIhtml\fP. Do not include the leading period. .TP 8 .B \-H \fBHourlyStats\fP. Suppress hourly statistics. .TP 8 .B \-K \fInum\fP \fBIndexMonths\fP. Specify how many months should be displayed in the main index (yearly summary) table. Default is 12 months. Can be set to anything between 12 and 120 months (1 to 10 years). .TP 8 .B \-k \fInum\fP \fBGraphMonths\fP. Specify how many months should be displayed in the main index (yearly summary) graph. Default is 12 months. Can be set to anything between 12 and 72 months (1 to 6 years). .TP 8 .B \-L \fBGraphLegend\fP. Suppress color coded graph legends. .TP 8 .B \-l \fInum\fP \fBGraphLines\fP. Specify number of background lines. Default is 2. Use zero ('0') to disable the lines. .TP 8 .B \-P \fIname\fP \fBPageType\fP. Specify file extensions that are considered \fIpages\fP. Sometimes referred to as \fIpageviews\fP. .TP 8 .B \-O \fIname\fP \fBOmitPage\fP. Specify URLs to exclude from being counted as \fIpages\fP. .TP 8 .B \-m \fInum\fP \fBVisitTimeout\fP. Specify the Visit timeout period. Specified in number of seconds. Default is 1800 seconds (30 minutes). .TP 8 .B \-I \fIname\fP \fBIndexAlias\fP. Use the filename \fIname\fP as an additional alias for \fIindex.\fP. .TP 8 .B \-M \fInum\fP \fBMangleAgents\fP. Mangle user agent names according to the mangle level specified by \fInum\fP. Mangle levels are: .RS .TP 12 .B 5 Browser name and major version. .TP 12 .B 4 Browser name, major and minor version. .TP 12 .B 3 Browser name, major version, minor version to two decimal places. .TP 12 .B 2 Browser name, major and minor versions and sub-version. .TP 12 .B 1 Browser name, version and machine type if possible. .TP 12 .B 0 All information (left unchanged). .RE .TP 8 .B \-g \fInum\fP \fBGroupDomains\fP. Automatically group sites by domain. The grouping level specified by \fInum\fP can be thought of as 'the number of dots' to display in the grouping. The default value of \fB0\fP disables any domain grouping. .TP 8 .B \-D \fIname\fP \fBDNSCache\fP. Use the DNS cache file \fIname\fP. .TP 8 .B \-N \fInum\fP \fBDNSChildren\fP. Use \fInum\fP DNS children processes to perform DNS lookups, either creating or updating the DNS cache file. Specify zero (\fB0\fP) to disable cache file creation/updates. If given, a DNS cache filename must be specified. .TP 8 .B \-j Enable \fIGeoDB\fP. This enables the internal GeoDB geolocation services provided by The \fIWebalizer\fP. .TP 8 .B \-J \fIname\fP \fBGeoDBDatabase\fP. Use the alternate GeoDB database \fIname\fP. .TP 8 .B \-w Enable \fIGeoIP\fP. Enables GeoIP (by MaxMind Inc.) geolocation services. If native \fIGeoDB\fP services are also enabled, then this option will have no effect. .TP 8 .B \-W \fIname\fP \fBGeoIPDatabase\fP. Use the alternate GeoIP database \fIname\fP. .TP 8 .B \-z \fIname\fP \fBFlagDir\fP. Specify location of the country flag graphics and enable their display in the top country table. The directory \fIname\fP is relative to the output directory being used unless an absolute path is given (ie: starts with a leading '/'). .PP .I Hide Options .TP 8 .B \-a \fIname\fP \fBHideAgent\fP. Hide user agents matching \fIname\fP. .TP 8 .B \-r \fIname\fP \fBHideReferrer\fP. Hide referrer matching \fIname\fP. .TP 8 .B \-s \fIname\fP \fBHideSite\fP. Hide site matching \fIname\fP. .TP 8 .B \-X \fBHideAllSites\fP. Hide all individual sites (only display groups). .TP 8 .B \-u \fIname\fP \fBHideURL\fP. Hide URL matching \fIname\fP. .PP .I Table size options .TP 8 .B \-A \fInum\fP \fBTopAgents\fP. Display the top \fInum\fP user agents table. .TP 8 .B \-R \fInum\fP \fBTopReferrers\fP. Display the top \fInum\fP referrers table. .TP 8 .B \-S \fInum\fP \fBTopSites\fP. Display the top \fInum\fP sites table. .TP 8 .B \-U \fInum\fP \fBTopURLs\fP. Display the top \fInum\fP URLs table. .TP 8 .B \-C \fInum\fP \fBTopCountries\fP. Display the top \fInum\fP countries table. .TP 8 .B \-e \fInum\fP \fBTopEntry\fP. Display the top \fInum\fP entry pages table. .TP 8 .B \-E \fInum\fP \fBTopExit\fP. Display the top \fInum\fP exit pages table. .SH CONFIGURATION FILES Configuration files are standard \fBASCII(7)\fP text files that may be created or edited using any standard editor. Blank lines and lines that begin with a pound sign ('#') are ignored. Any other lines are considered to be configuration lines, and have the form "Keyword Value", where the \'Keyword\' is one of the currently available configuration keywords defined below, and 'Value' is the value to assign to that particular option. Any text found after the keyword up to the end of the line is considered the keyword's value, so you should not include anything after the actual value on the line that is not actually part of the value being assigned. The file \fIsample.conf\fP provided with the distribution contains lots of useful documentation and examples as well. .I General Configuration Keywords .TP 8 .B LogFile \fIname\fP Use log file named \fIname\fP. If none specified, \fISTDIN\fP will be used. .TP 8 .B LogType \fIname\fP Specify log file type as \fIname\fP. Values can be either \fIclf\fP, \fIsquid\fP, \fIftp\fP or \fIw3c\fP, with the default being \fBclf\fP. .TP 8 .B OutputDir \fIdir\fP Create output in the directory \fIdir\fP. If none specified, the current directory will be used. .TP 8 .B HistoryName \fIname\fP Filename to use for history file. Relative to output directory unless absolute name is given (ie: starts with '/'). Defaults to \'\fBwebalizer.hist\fP' in the standard output directory. .TP 8 .B ReportTitle \fIname\fP Use the title string \fIname\fP for the report title. If none specified, use the default of (in english) "\fIUsage Statistics for \fP". .TP 8 .B HostName \fIname\fP Set the hostname for the report as \fIname\fP. If none specified, an attempt will be made to gather the hostname via a \fBuname(2)\fP system call. If that fails, \fIlocalhost\fP will be used. .TP 8 .B UseHTTPS \fP( yes | \fBno\fP ) Use \fIhttps://\fP on links to URLS, instead of the default \fIhttp://\fP, in the '\fBTop URLs\fP' table. .TP 8 .B HTAccess \fP( yes | \fBno\fP ) Enables the creation of a default .htaccess file in the output directory. .TP 8 .B Quiet \fP( yes | \fBno\fP ) Suppress informational messages. Warning and Error messages will not be suppressed. .TP 8 .B ReallyQuiet \fP( yes | \fBno\fP ) Suppress all messages, including Warning and Error messages. .TP 8 .B Debug \fP( yes | \fBno\fP ) Print extra debugging information on Warnings and Errors. .TP 8 .B TimeMe \fP( yes | \fBno\fP ) Force timing information at end of processing. .TP 8 .B GMTTime \fP( yes | \fBno\fP ) Use \fIGMT \fP(\fIUTC\fP) time instead of local timezone for reports. .TP 8 .B IgnoreHist \fP( yes | \fBno\fP ) Ignore previous monthly history file. \fBUSE WITH CAUTION\fP. Does not prevent \fIIncremental\fP file processing. .TP 8 .B IgnoreState \fP( yes | \fBno\fP ) Ignore incremental data file. \fBUSE WITH CAUTION\fP. By ignoring the incremental data file, all previous processing for the current month will be lost and those logs must be re-processed. .TP 8 .B FoldSeqErr \fP( yes | \fBno\fP ) Fold out of sequence log records back into analysis by treating them as if they had the same date/time as the last good record. Normally, out of sequence log records are ignored. .TP 8 .B CountryGraph \fP( \fByes\fP | no ) Display Country Usage Graph in output report. .TP 8 .B CountryFlags \fP( yes | \fBno\fP ) Enable or disable the display of flags in the top country table. .TP 8 .B FlagDir \fIname\fP Specifies the directory \fIname\fP where the flag graphics are located. If not specified, the default is in the \fIflags\fP directory directly under the output directory being used. If specified, the display of country flags will be enabled by default. Using '\fIFlagDir flags\fP' is identical to using '\fICountryFlags yes\fP'. .TP 8 .B DailyGraph \fP( \fByes\fP | no ) Display Daily Graph in output report. .TP 8 .B DailyStats \fP( \fByes\fP | no ) Display Daily Statistics in output report. .TP 8 .B HourlyGraph \fP( \fByes\fP | no ) Display Hourly Graph in output report. .TP 8 .B HourlyStats \fP( \fByes\fP | no ) Display Hourly Statistics in output report. .TP 8 .B PageType \fIname\fP Define the file extensions to consider as a \fIpage\fP. If a file is found to have the same extension as \fIname\fP, it will be counted as a \fIpage\fP (sometimes called a \fIpageview\fP). .TP 8 .B PagePrefix \fIname\fP Allows URLs with the prefix \fIname\fP to be counted as a \fIpage\fP type regardless of actual file type. This allows you to treat contents under specified directories as pages no matter what their extension is. .TP 8 .B OmitPage \fIname\fP Specifies URLs which should not be counted as pages, regardless of their extension (or lack thereof). .TP 8 .B GraphLegend \fP( \fByes\fP | no ) Allows the color coded graph legends to be enabled/disabled. .TP 8 .B GraphLines \fInum\fP Specify the number of background reference lines displayed on the graphs produced. Disable by using zero ('\fB0\fP'), default is \fB2\fP. .TP 8 .B IndexMonths \fInum\fP Specify the number of months to display in the main index (yearly summary) table. Default is 12 months. Can be set to anything between 12 and 120 months (1 to 10 years). .TP 8 .B YearHeaders \fP( \fByes\fP | no ) Enable/disable the display of year headers in the main index (yearly summary) table. If enabled, year headers will be shown when the table is displaying more than 16 months worth of data. Values can be 'yes' or 'no'. Default is 'yes'. .TP 8 .B YearTotals \fP( \fByes\fP | no ) Enable/disable the display of year totals in the main index (yearly summary) table. If enabled, year totals will be shown when the table is displaying more than 16 months worth of data. Values can be 'yes' or 'no'. Default is 'yes'. .TP 8 .B GraphMonths \fInum\fP Specify the number of months to display in the main index (yearly summary) graph. Default is 12 months. Can be set to anything between 12 and 72 months (1 to 6 years). .TP 8 .B VisitTimeout \fInum\fP Specifies the visit timeout value. Default is \fI1800 seconds\fP (30 minutes). A visit is determined by looking at the difference in time between the current and last request from a specific site. If the difference is greater or equal to the timeout value, the request is counted as a new visit. Specified in seconds. .TP 8 .B IndexAlias \fIname\fP Use \fIname\fP as an additional alias for \fIindex.*\fP. .TP 8 .B DefaultIndex \fP( \fByes\fP | no ) Enables or disables the use of '\fBindex.\fP' as a default index name to be stripped from the end of URLs. This does not effect any index names that may be defined with the \fIIndexAlias\fP option. .TP 8 .B MangleAgents \fInum\fP Mangle user agent names based on mangle level \fInum\fP. See the \fI-M\fP command line switch for mangle levels and their meaning. The default is \fB0\fP, which doesn't mangle user agents at all. .TP 8 .B StripCGI \fP( \fByes\fP | no ) Determines if URL CGI variables should be stripped from the end of URLs. Values may be 'yes' or 'no', with the default being 'yes'. .TP 8 .B TrimSquidURL \fInum\fP Allows squid log URLs to be reduced in granularity by truncating them after \fInum\fP slashes ('/') after the http:// prefix. A setting of one (1) will cause all URLs to be summarized by domain only. The default value is zero (0), which will disable any URL modifications and leave them exactly as found in the log file. .TP 8 .B SearchEngine\fP \fIname\fP \fIvariable\fP Allows the specification of search engines and their query strings. The \fIname\fP is the name to match against the referrer string for a given search engine. The \fIvariable\fP is the cgi variable that the search engine uses for queries. See the \fBsample.conf\fP file for example usage with common search engines. .TP 8 .B SearchCaseI\fP ( \fByes\fP | no ) Determines if search strings should be treated case insensitive or not. The default is 'yes', which lowercases all search strings (treat as case insensitive). .TP 8 .B Incremental \fP( yes | \fBno\fP ) Enable Incremental mode processing. .TP 8 .B IncrementalName \fIname\fP Filename to use for incremental data. Relative to output directory unless an absolute name is given (ie: starts with '/'). Defaults to \'\fBwebalizer.current\fP' in the standard output directory. .TP 8 .B DNSCache \fIname\fP Filename to use for the DNS cache. Relative to output directory unless an absolute name is given (ie: starts with '/'). .TP 8 .B DNSChildren \fInum\fP Number of children DNS processes to run in order to create/update the DNS cache file. Specify zero (\fB0\fP) to disable. .TP 8 .B CacheIPs \fP( yes | \fBno\fP ) Cache unresolved IP addresses in the DNS database. Default is '\fBno\fP'. .TP 8 .B CacheTTL \fInum\fP DNS cache entry time to live (TTL) in days. Default is 7 days. May be any value between 1 and 100. .TP 8 .B GeoDB \fP( yes | \fBno\fP ) Allows native GeoDB geolocation services to be enabled or disabled. Default value is '\fBno\fP'. .TP 8 .B GeoDBDatabase \fIname\fP Allows the use of an alternate GeoDB database \fIname\fP. If not specified, the default database will be used. .TP 8 .B GeoIP \fP( yes | \fBno\fP ) Allows GeoIP (by MaxMind Inc.) geolocation services to be enabled or disabled. Default is '\fBno\fP'. If native \fIGeoDB\fP geolocation services are also enabled, then this option will have no effect (and the native \fIGeoDB\fP services will be used). .TP 8 .B GeoIPDatabase \fIname\fP Allows the use of an alternate GeoIP database \fIname\fP. If not specified, the default database will be used. .PP .I Top Table Keywords .TP 8 .B TopAgents \fInum\fP Display the top \fInum\fP User Agents table. Use zero to disable. .TP 8 .B AllAgents \fP( yes | \fBno\fP ) Create separate HTML page with \fBAll\fP User Agents. .TP 8 .B TopReferrers \fInum\fP Display the top \fInum\fP Referrers table. Use zero to disable. .TP 8 .B AllReferrers \fP( yes | \fBno\fP ) Create separate HTML page with \fBAll\fP Referrers. .TP 8 .B TopSites \fInum\fP Display the top \fInum\fP Sites table. Use zero to disable. .TP 8 .B TopKSites \fInum\fP Display the top \fInum\fP Sites (by KByte) table. Use zero to disable. .TP 8 .B AllSites \fP( yes | \fBno\fP ) Create separate HTML page with \fBAll\fP Sites. .TP 8 .B TopURLs \fInum\fP Display the top \fInum\fP URLs table. Use zero to disable. .TP 8 .B TopKURLs \fInum\fP Display the top \fInum\fP URLs (by KByte) table. Use zero to disable. .TP 8 .B AllURLs \fP( yes | \fBno\fP ) Create separate HTML page with \fBAll\fP URLs. .TP 8 .B TopCountries \fInum\fP Display the top \fInum\fP Countries in the table. Use zero to disable. .TP 8 .B TopEntry \fInum\fP Display the top \fInum\fP Entry Pages in the table. Use zero to disable. .TP 8 .B TopExit \fInum\fP Display the top \fInum\fP Exit Pages in the table. Use zero to disable. .TP 8 .B TopSearch \fInum\fP Display the top \fInum\fP Search Strings in the table. Use zero to disable. .TP 8 .B AllSearchStr \fP( yes | \fBno\fP ) Create separate HTML page with \fBAll\fP Search Strings. .TP 8 .B TopUsers \fInum\fP Display the top \fInum\fP Usernames in the table. Use zero to disable. Usernames are only available if using http based authentication. .TP 8 .B AllUsers \fP( yes | \fBno\fP ) Create separate HTML page with \fBAll\fP Usernames. .PP .I Hide/Ignore/Group/Include Keywords .TP 8 .B HideAgent \fIname\fP Hide User Agents that match \fIname\fP. .TP 8 .B HideReferrer \fIname\fP Hide Referrers that match \fIname\fP. .TP 8 .B HideSite \fIname\fP Hide Sites that match \fIname\fP. .TP 8 .B HideAllSites \fP( yes | \fBno\fP ) Hide all individual sites. This causes only grouped sites to be displayed. .TP 8 .B HideURL \fIname\fP Hide URLs that match \fIname\fP. .TP 8 .B HideUser \fIname\fP Hide Usernames that match \fIname\fP. .TP 8 .B IgnoreAgent \fIname\fP Ignore User Agents that match \fIname\fP. .TP 8 .B IgnoreReferrer \fIname\fP Ignore Referrers that match \fIname\fP. .TP 8 .B IgnoreSite \fIname\fP Ignore Sites that match \fIname\fP. .TP 8 .B IgnoreURL \fIname\fP Ignore URLs that match \fIname\fP. .TP 8 .B IgnoreUser \fIname\fP Ignore Usernames that match \fIname\fP. .TP 8 .B GroupAgent \fIname\fP [\fILabel\fP] Group User Agents that match \fIname\fP. Display \fILabel\fP in 'Top Agent' table if given (instead of \fIname\fP). \fIname\fP may be enclosed in quotes. .TP 8 .B GroupReferrer \fIname\fP [\fILabel\fP] Group Referrers that match \fIname\fP. Display \fILabel\fP in 'Top Referrer' table if given (instead of \fIname\fP). \fIname\fP may be enclosed in quotes. .TP 8 .B GroupSite \fIname\fP [\fILabel\fP] Group Sites that match \fIname\fP. Display \fILabel\fP in 'Top Site' table if given (instead of \fIname\fP). \fIname\fP may be enclosed in quotes. .TP 8 .B GroupDomains \fInum\fP Automatically group sites by domain. The value \fInum\fP specifies the level of grouping, and can be thought of as the 'number of dots' to be displayed. The default value of \fB0\fP disables domain grouping. .TP 8 .B GroupURL \fIname\fP [\fILabel\fP] Group URLs that match \fIname\fP. Display \fILabel\fP in 'Top URL' table if given (instead of \fIname\fP). \fIname\fP may be enclosed in quotes. .TP 8 .B GroupUser \fIname\fP [\fILabel\fP] Group Usernames that match \fIname\fP. Display \fILabel\fP in 'Top Usernames' table if given (instead of \fIname\fP). \fIname\fP may be enclosed in quotes. .TP 8 .B IncludeSite \fIname\fP Force inclusion of sites that match \fIname\fP. Takes precedence over \fBIgnore*\fP keywords. .TP 8 .B IncludeURL \fIname\fP Force inclusion of URLs that match \fIname\fP. Takes precedence over \fBIgnore*\fP keywords. .TP 8 .B IncludeReferrer \fIname\fP Force inclusion of Referrers that match \fIname\fP. Takes precedence over \fBIgnore*\fP keywords. .TP 8 .B IncludeAgent \fIname\fP Force inclusion of User Agents that match \fIname\fP. Takes precedence over \fBIgnore*\fP keywords. .TP 8 .B IncludeUser \fIname\fP Force inclusion of Usernames that match \fIname\fP. Takes precedence over \fBIgnore*\fP keywords. .PP .I HTML Generation Keywords .TP 8 .B HTMLExtension \fItext\fP Defines the HTML file extension to use. Default is \fIhtml\fP. Do not include the leading period! .TP 8 .B HTMLPre \fItext\fP Insert \fItext\fP at the very beginning of the generated HTML file. Defaults to a standard html 3.2 \fIDOCTYPE\fP record. .TP 8 .B HTMLHead \fItext\fP Insert \fItext\fP within the <HEAD></HEAD> block of the HTML file. .TP 8 .B HTMLBody \fItext\fP Insert \fItext\fP in HTML page, starting with the <BODY> tag. If used, the first line must be a \fI<BODY ...>\fP tag. Multiple lines may be specified. .TP 8 .B HTMLPost \fItext\fP Insert \fItext\fP at top (before horiz. rule) of HTML pages. Multiple lines may be specified. .TP 8 .B HTMLTail \fItext\fP Insert \fItext\fP at bottom of the HTML page. The \fItext\fP is top and right aligned within a table column at the end of the report. .TP 8 .B HTMLEnd \fItext\fP Insert \fItext\fP at the very end of the HTML page. If not specified, the default is to insert the ending </BODY> and </HTML> tags. If used, you \fImust\fP supply these tags yourself. .TP 8 .B LinkReferrer \fP( yes | \fBno\fP ) Determines if the referrers listed in the top referrers table should be displayed as plain text, or as a link to the referrer URL. .TP 8 .B ColorHit \fP( rrggbb | \fB00805c\fP ) Sets the graph's hit-color to the specified html color (no '#'). .TP 8 .B ColorFile \fP( rrggbb | \fB0040ff\fP ) Sets the graph's file-color to the specified html color (no '#'). .TP 8 .B ColorSite \fP( rrggbb | \fBff8000\fP ) Sets the graph's site-color to the specified html color (no '#'). .TP 8 .B ColorKbyte \fP( rrggbb | \fBff0000\fP ) Sets the graph's kilobyte-color to the specified html color (no '#'). .TP 8 .B ColorPage \fP( rrggbb | \fB00e0ff\fP ) Sets the graph's page-color to the specified html color (no '#'). .TP 8 .B ColorVisit \fP( rrggbb | \fBffff00\fP ) Sets the graph's visit-color to the specified html color (no '#'). .TP 8 .B ColorMisc \fP( rrggbb | \fB00e0ff\fP ) Sets the 'miscellaneous' color for table headers (not graphs) to the specified html color (no '#'). .TP 8 .B PieColor1 \fP( rrggbb | \fB800080\fP ) Sets the pie's first optional color to the specified html color (no '#'). .TP 8 .B PieColor2 \fP( rrggbb | \fB80ffc0\fP ) Sets the pie's second optional color to the specified html color (no '#'). .TP 8 .B PieColor3 \fP( rrggbb | \fBff00ff\fP ) Sets the pie's third optional color to the specified html color (no '#'). .TP 8 .B PieColor4 \fP( rrggbb | \fBffc480\fP ) Sets the pie's fourth optional color to the specified html color (no '#'). .PP .I Dump Object Keywords .PP The \fIWebalizer\fP allows you to export processed data to other programs by using \fItab delimited\fP text files. The \fIDump*\fP commands specify which files are to be written, and where. .TP 8 .B DumpPath \fIname\fP Save dump files in directory \fIname\fP. If not specified, the default output directory will be used. Do not specify a trailing slash ('/'). .TP 8 .B DumpExtension \fIname\fP Use \fIname\fP as the filename extension for dump files. If not given, the default of \fBtab\fP will be used. .TP 8 .B DumpHeader \fP( yes | \fBno\fP ) Print a column header as the first record of the file. .TP 8 .B DumpSites \fP( yes | \fBno\fP ) Dump the sites data to a tab delimited file. .TP 8 .B DumpURLs \fP( yes | \fBno\fP ) Dump the url data to a tab delimited file. .TP 8 .B DumpReferrers \fP( yes | \fBno\fP ) Dump the referrer data to a tab delimited file. This data is only available if using a log that contains referrer information (ie: a combined format web log). .TP 8 .B DumpAgents \fP( yes | \fBno\fP ) Dump the user agent data to a tab delimited file. This data is only available if using a log that contains user agent information (ie: a combined format web log). .TP 8 .B DumpUsers \fP( yes | \fBno\fP ) Dump the username data to a tab delimited file. This data is only available if processing a wu-ftpd xferlog or a web log that contains http authentication information. .TP 8 .B DumpSearchStr \fP( yes | \fBno\fP ) Dump the search string data to a tab delimited file. This data is only available if processing a web log that contains referrer information and had search string information present. .SH FILES .TP 20 .I webalizer.conf Default configuration file. Is searched for in the current directory and if not found, in the \fI/etc/\fP directory. .TP 20 .I webalizer.hist Monthly history file for previous months. (can be changed) .TP 20 .I webalizer.current Current state data file (Incremental processing). (can be changed) .TP 20 .I xxxxx_YYYYMM.html Various monthly \fIHTML\fP output files produced. (extension can be changed) .TP 20 .I xxxxx_YYYYMM.png Various monthly image files used in the reports. .TP 20 .I xxxxx_YYYYMM.tab Monthly tab delimited text files. (extension can be changed) .SH BUGS Please report bugs to the author. .SH COPYRIGHT Copyright (C) 1997-2011 by Bradford L. Barrett. Distributed under the GNU GPL. See the files "\fICOPYING\fP" and "\fICopyright\fP", supplied with all distributions for additional information. .SH AUTHOR Bradford L. Barrett <\fIbrad at mrunix dot net\fP> �������������������������������������������webalizer-2.23-05/webalizer.LSM���������������������������������������������������������������������0000644�0001750�0001750�00000002646�11032254167�014622� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Begin3 Title: The Webalizer Version: 2.20 Entered-date: 01JUN2008 Description: A fast, free web server log file analysis program. Produces HTML output for viewing with a web browser. Written in C on a Linux platform, however designed to be as ANSI/POSIX compliant as possible so porting to other UNIX platforms should be painless. Binary distributions for most popular platforms are available. Features multiple language support, incremental processing capabilities, reverse DNS lookup support, native geolocation support as well as geolocation support via the optional GeoIP library and database from MaxMind Inc., data export via tab delimited ASCII files to popular databases and spreadsheets, and much more. Supports all standard CLF and combined web logs, wu-ftpd xferlog, squid proxy and extended W3C format logs, all of which can be either in standard text format or compressed using gzip or bzip2. Keywords: Web Analysis, Log Analysis, Linux, Unix, apache, wcmgr, GeoDB Author: Bradford L. Barrett Maintained-by: Bradford L. Barrett Primary-site: http://www.webalizer.org/ Original-site: ftp://ftp.webalizer.org/pub/webalizer/ Platforms: Linux/Unix, OS/2, Win32, MacOSX, POSIX Copying-policy: GPL End ������������������������������������������������������������������������������������������webalizer-2.23-05/webalizer.c�����������������������������������������������������������������������0000644�0001750�0001750�00000304215�11551756456�014424� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer - a web server log analysis program Copyright (C) 1997-2011 Bradford L. Barrett 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, and provided that the above copyright and permission notice is included with all distributed copies of this or derived software. 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 */ /*********************************************/ /* STANDARD INCLUDES */ /*********************************************/ /* Fix broken Zlib 64 bitness */ #if _FILE_OFFSET_BITS == 64 #ifndef _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE 1 #endif #endif #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> /* normal stuff */ #include <locale.h> #include <ctype.h> #include <sys/utsname.h> #include <zlib.h> #include <sys/stat.h> /* ensure getopt */ #ifdef HAVE_GETOPT_H #include <getopt.h> #endif /* ensure sys/types */ #ifndef _SYS_TYPES_H #include <sys/types.h> #endif /* Need socket header? */ #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif /* some systems need this */ #ifdef HAVE_MATH_H #include <math.h> #endif #ifdef USE_DNS #include <netdb.h> #include <netinet/in.h> #include <arpa/inet.h> #include <db.h> #endif /* USE_DNS */ #ifdef USE_GEOIP #include <GeoIP.h> #endif #ifdef USE_BZIP #include <bzlib.h> int bz2_rewind(void **, char *, char *); #endif #include "webalizer.h" /* main header */ #include "output.h" #include "parser.h" #include "preserve.h" #include "hashtab.h" #include "linklist.h" #include "webalizer_lang.h" /* lang. support */ #ifdef USE_DNS #include "dns_resolv.h" #endif /* internal function prototypes */ void clear_month(); /* clear monthly stuff */ char *unescape(char *); /* unescape URLs */ void print_opts(char *); /* print options */ void print_version(); /* duhh... */ int isurlchar(unsigned char, int); /* valid URL char fnc. */ void get_config(char *); /* Read a config file */ static char *save_opt(char *); /* save conf option */ void srch_string(char *); /* srch str analysis */ char *get_domain(char *); /* return domain name */ void agent_mangle(char *); /* reformat user agent */ char *our_gzgets(void *, char *, int); /* our gzgets */ int ouricmp(char *, char *); /* case ins. compare */ int isipaddr(char *); /* is IP address test */ /*********************************************/ /* GLOBAL VARIABLES */ /*********************************************/ char *version = "2.23"; /* program version */ char *editlvl = "05"; /* edit level */ char *moddate = "14-Apr-2011"; /* modification date */ char *copyright = "Copyright 1997-2011 by Bradford L. Barrett"; int verbose = 2; /* 2=verbose,1=err, 0=none */ int debug_mode = 0; /* debug mode flag */ int time_me = 0; /* timing display flag */ int local_time = 1; /* 1=localtime 0=GMT (UTC) */ int hist_gap = 0; /* 1=error w/hist, save bkp */ int ignore_hist = 0; /* history flag (1=skip) */ int ignore_state = 0; /* state flag (1=skip) */ int default_index= 1; /* default index. (1=yes) */ int hourly_graph = 1; /* hourly graph display */ int hourly_stats = 1; /* hourly stats table */ int daily_graph = 1; /* daily graph display */ int daily_stats = 1; /* daily stats table */ int ctry_graph = 1; /* country graph display */ int shade_groups = 1; /* Group shading 0=no 1=yes */ int hlite_groups = 1; /* Group hlite 0=no 1=yes */ int mangle_agent = 0; /* mangle user agents */ int incremental = 0; /* incremental mode 1=yes */ int use_https = 0; /* use 'https://' on URLs */ int htaccess = 0; /* create .htaccess? (0=no) */ int stripcgi = 1; /* strip url cgi (0=no) */ int normalize = 1; /* normalize CLF URL (0=no) */ int trimsquid = 0; /* trim squid urls (0=no) */ int searchcasei = 1; /* case insensitive search */ int visit_timeout= 1800; /* visit timeout (seconds) */ int graph_legend = 1; /* graph legend (1=yes) */ int graph_lines = 2; /* graph lines (0=none) */ int fold_seq_err = 0; /* fold seq err (0=no) */ int log_type = LOG_CLF; /* log type (default=CLF) */ int group_domains= 0; /* Group domains 0=none */ int hide_sites = 0; /* Hide ind. sites (0=no) */ int link_referrer= 0; /* Link referrers (0=no) */ char *hname = NULL; /* hostname for reports */ char *state_fname = "webalizer.current"; /* run state file name */ char *hist_fname = "webalizer.hist"; /* name of history file */ char *html_ext = "html"; /* HTML file suffix */ char *dump_ext = "tab"; /* Dump file suffix */ char *conf_fname = NULL; /* name of config file */ char *log_fname = NULL; /* log file pointer */ char *out_dir = NULL; /* output directory */ char *blank_str = ""; /* blank string */ char *geodb_fname = NULL; /* GeoDB database filename */ char *dns_cache = NULL; /* DNS cache file name */ int dns_children = 0; /* DNS children (0=don't do)*/ int cache_ips = 0; /* CacheIPs in DB (0=no) */ int cache_ttl = 7; /* DNS Cache TTL (days) */ int geodb = 0; /* Use GeoDB (0=no) */ int graph_mths = 12; /* # months in index graph */ int index_mths = 12; /* # months in index table */ int year_hdrs = 1; /* index year seperators */ int year_totals = 1; /* index year subtotals */ int use_flags = 0; /* Show flags in ctry table */ char *flag_dir = "flags"; /* location of flag icons */ #ifdef USE_GEOIP int geoip = 0; /* Use GeoIP (0=no) */ char *geoip_db = NULL; /* GeoIP database filename */ GeoIP *geo_fp = NULL; /* GeoIP database handle */ #endif int ntop_sites = 30; /* top n sites to display */ int ntop_sitesK = 10; /* top n sites (by kbytes) */ int ntop_urls = 30; /* top n url's to display */ int ntop_urlsK = 10; /* top n url's (by kbytes) */ int ntop_entry = 10; /* top n entry url's */ int ntop_exit = 10; /* top n exit url's */ int ntop_refs = 30; /* top n referrers "" */ int ntop_agents = 15; /* top n user agents "" */ int ntop_ctrys = 30; /* top n countries "" */ int ntop_search = 20; /* top n search strings */ int ntop_users = 20; /* top n users to display */ int all_sites = 0; /* List All sites (0=no) */ int all_urls = 0; /* List All URLs (0=no) */ int all_refs = 0; /* List All Referrers */ int all_agents = 0; /* List All User Agents */ int all_search = 0; /* List All Search Strings */ int all_users = 0; /* List All Usernames */ int dump_sites = 0; /* Dump tab delimited sites */ int dump_urls = 0; /* URLs */ int dump_refs = 0; /* Referrers */ int dump_agents = 0; /* User Agents */ int dump_users = 0; /* Usernames */ int dump_search = 0; /* Search strings */ int dump_header = 0; /* Dump header as first rec */ char *dump_path = NULL; /* Path for dump files */ int cur_year=0, cur_month=0, /* year/month/day/hour */ cur_day=0, cur_hour=0, /* tracking variables */ cur_min=0, cur_sec=0; u_int64_t cur_tstamp=0; /* Timestamp... */ u_int64_t rec_tstamp=0; u_int64_t req_tstamp=0; u_int64_t epoch; /* used for timestamp adj. */ int check_dup=0; /* check for dup flag */ int gz_log=COMP_NONE; /* gziped log? (0=no) */ double t_xfer=0.0; /* monthly total xfer value */ u_int64_t t_hit=0,t_file=0,t_site=0, /* monthly total vars */ t_url=0,t_ref=0,t_agent=0, t_page=0, t_visit=0, t_user=0; double tm_xfer[31]; /* daily transfer totals */ u_int64_t tm_hit[31], tm_file[31], /* daily total arrays */ tm_site[31], tm_page[31], tm_visit[31]; u_int64_t dt_site; /* daily 'sites' total */ u_int64_t ht_hit=0, mh_hit=0; /* hourly hits totals */ u_int64_t th_hit[24], th_file[24], /* hourly total arrays */ th_page[24]; double th_xfer[24]; int f_day,l_day; /* first/last day vars */ struct utsname system_info; /* system info structure */ u_int64_t ul_bogus =0; /* Dummy counter for groups */ struct log_struct log_rec; /* expanded log storage */ void *zlog_fp; /* compressed logfile ptr */ FILE *log_fp; /* regular logfile pointer */ char buffer[BUFSIZE]; /* log file record buffer */ char tmp_buf[BUFSIZE]; /* used to temp save above */ CLISTPTR *top_ctrys = NULL; /* Top countries table */ #define GZ_BUFSIZE 16384 /* our_getfs buffer size */ char f_buf[GZ_BUFSIZE]; /* our_getfs buffer */ char *f_cp=f_buf+GZ_BUFSIZE; /* pointer into the buffer */ int f_end=0; /* count to end of buffer */ char hit_color[] = "#00805c"; /* graph hit color */ char file_color[] = "#0040ff"; /* graph file color */ char site_color[] = "#ff8000"; /* graph site color */ char kbyte_color[] = "#ff0000"; /* graph kbyte color */ char page_color[] = "#00e0ff"; /* graph page color */ char visit_color[] = "#ffff00"; /* graph visit color */ char misc_color[] = "#00e0ff"; /* graph misc color */ char pie_color1[] = "#800080"; /* pie additionnal color 1 */ char pie_color2[] = "#80ffc0"; /* pie additionnal color 2 */ char pie_color3[] = "#ff00ff"; /* pie additionnal color 3 */ char pie_color4[] = "#ffc080"; /* pie additionnal color 4 */ /*********************************************/ /* MAIN - start here */ /*********************************************/ int main(int argc, char *argv[]) { int i; /* generic counter */ char *cp1, *cp2, *cp3; /* generic char pointers */ char host_buf[MAXHOST+1]; /* used to save hostname */ NLISTPTR lptr; /* generic list pointer */ extern char *optarg; /* used for command line */ extern int optind; /* parsing routine 'getopt' */ extern int opterr; time_t start_time, end_time; /* program timers */ float temp_time; /* temporary time storage */ int rec_year,rec_month=1,rec_day,rec_hour,rec_min,rec_sec; int good_rec =0; /* 1 if we had a good record */ u_int64_t total_rec =0; /* Total Records Processed */ u_int64_t total_ignore=0; /* Total Records Ignored */ u_int64_t total_bad =0; /* Total Bad Records */ int max_ctry; /* max countries defined */ /* month names used for parsing logfile (shouldn't be lang specific) */ char *log_month[12]={ "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"}; /* stat struct for files */ struct stat log_stat; /* Assume that LC_CTYPE is what the user wants for non-ASCII chars */ setlocale(LC_CTYPE,""); /* initalize epoch */ epoch=jdate(1,1,1970); /* used for timestamp adj. */ sprintf(tmp_buf,"%s/webalizer.conf",ETCDIR); /* check for default config file */ if (!access("webalizer.conf",F_OK)) get_config("webalizer.conf"); else if (!access(tmp_buf,F_OK)) get_config(tmp_buf); /* get command line options */ opterr = 0; /* disable parser errors */ while ((i=getopt(argc,argv,"a:A:bc:C:dD:e:E:fF:g:GhHiI:jJ:k:K:l:Lm:M:n:N:o:O:pP:qQr:R:s:S:t:Tu:U:vVwW:x:XYz:Z"))!=EOF) { switch (i) { case 'a': add_nlist(optarg,&hidden_agents); break; /* Hide agents */ case 'A': ntop_agents=atoi(optarg); break; /* Top agents */ case 'b': ignore_state=1; break; /* Ignore state file */ case 'c': get_config(optarg); break; /* Config file */ case 'C': ntop_ctrys=atoi(optarg); break; /* Top countries */ case 'd': debug_mode=1; break; /* Debug */ case 'D': dns_cache=optarg; break; /* DNS Cache filename */ case 'e': ntop_entry=atoi(optarg); break; /* Top entry pages */ case 'E': ntop_exit=atoi(optarg); break; /* Top exit pages */ case 'f': fold_seq_err=1; break; /* Fold sequence errs */ case 'F': log_type=(tolower(optarg[0])=='f')? LOG_FTP:(tolower(optarg[0])=='s')? LOG_SQUID:(tolower(optarg[0])=='w')? LOG_W3C:LOG_CLF; break; /* define log type */ case 'g': group_domains=atoi(optarg); break; /* GroupDomains (0=no) */ case 'G': hourly_graph=0; break; /* no hourly graph */ case 'h': print_opts(argv[0]); break; /* help */ case 'H': hourly_stats=0; break; /* no hourly stats */ case 'i': ignore_hist=1; break; /* Ignore history */ case 'I': add_nlist(optarg,&index_alias); break; /* Index alias */ case 'j': geodb=1; break; /* Enable GeoDB */ case 'J': geodb_fname=optarg; break; /* GeoDB db filename */ case 'k': graph_mths=atoi(optarg); break; /* # months idx graph */ case 'K': index_mths=atoi(optarg); break; /* # months idx table */ case 'l': graph_lines=atoi(optarg); break; /* Graph Lines */ case 'L': graph_legend=0; break; /* Graph Legends */ case 'm': visit_timeout=atoi(optarg); break; /* Visit Timeout */ case 'M': mangle_agent=atoi(optarg); break; /* mangle user agents */ case 'n': hname=optarg; break; /* Hostname */ case 'N': dns_children=atoi(optarg); break; /* # of DNS children */ case 'o': out_dir=optarg; break; /* Output directory */ case 'O': add_nlist(optarg,&omit_page); break; /* pages not counted */ case 'p': incremental=1; break; /* Incremental run */ case 'P': add_nlist(optarg,&page_type); break; /* page view types */ case 'q': verbose=1; break; /* Quiet (verbose=1) */ case 'Q': verbose=0; break; /* Really Quiet */ case 'r': add_nlist(optarg,&hidden_refs); break; /* Hide referrer */ case 'R': ntop_refs=atoi(optarg); break; /* Top referrers */ case 's': add_nlist(optarg,&hidden_sites); break; /* Hide site */ case 'S': ntop_sites=atoi(optarg); break; /* Top sites */ case 't': msg_title=optarg; break; /* Report title */ case 'T': time_me=1; break; /* TimeMe */ case 'u': add_nlist(optarg,&hidden_urls); break; /* hide URL */ case 'U': ntop_urls=atoi(optarg); break; /* Top urls */ case 'v': verbose=2; debug_mode=1; break; /* Verbose */ case 'V': print_version(); break; /* Version */ #ifdef USE_GEOIP case 'w': geoip=1; break; /* Enable GeoIP */ case 'W': geoip_db=optarg; break; /* GeoIP database name */ #endif case 'x': html_ext=optarg; break; /* HTML file extension */ case 'X': hide_sites=1; break; /* Hide ind. sites */ case 'Y': ctry_graph=0; break; /* Supress ctry graph */ case 'Z': normalize=0; break; /* Dont normalize URLs */ case 'z': use_flags=1; flag_dir=optarg; break; /* Ctry flag dir */ } } if (argc - optind != 0) log_fname = argv[optind]; if ( log_fname && (log_fname[0]=='-')) log_fname=NULL; /* force STDIN? */ /* check for gzipped file - .gz */ if (log_fname) if (!strcmp((log_fname+strlen(log_fname)-3),".gz")) gz_log=COMP_GZIP; #ifdef USE_BZIP /* check for bzip file - .bz2 */ if (log_fname) if (!strcmp((log_fname+strlen(log_fname)-4),".bz2")) gz_log=COMP_BZIP; #endif /* setup our internal variables */ init_counters(); /* initalize (zero) main counters */ memset(hist, 0, sizeof(hist)); /* initalize (zero) history array */ /* add default index. alias if needed */ if (default_index) add_nlist("index.",&index_alias); if (page_type==NULL) /* check if page types present */ { if ((log_type==LOG_CLF)||(log_type==LOG_SQUID)||(log_type==LOG_W3C)) { add_nlist("htm*" ,&page_type); /* if no page types specified, we */ add_nlist("cgi" ,&page_type); /* use the default ones here... */ if (!isinlist(page_type,html_ext)) add_nlist(html_ext,&page_type); } else add_nlist("txt" ,&page_type); /* FTP logs default to .txt */ } for (max_ctry=0;ctry[max_ctry].desc;max_ctry++); if (ntop_ctrys > max_ctry) ntop_ctrys = max_ctry; /* force upper limit */ if (graph_lines> 20) graph_lines= 20; /* keep graphs sane! */ if (graph_mths<12) graph_mths=12; if (graph_mths>GRAPHMAX) graph_mths=GRAPHMAX; if (index_mths<12) index_mths=12; if (index_mths>HISTSIZE) index_mths=HISTSIZE; if (log_type == LOG_FTP) { /* disable stuff for ftp logs */ ntop_entry=ntop_exit=0; ntop_search=0; } else { if (search_list==NULL) { /* If no search engines defined, define some :) */ add_glist(".google. q=" ,&search_list); add_glist("yahoo.com p=" ,&search_list); add_glist("altavista.com q=" ,&search_list); add_glist("aolsearch. query=" ,&search_list); add_glist("ask.co q=" ,&search_list); add_glist("eureka.com q=" ,&search_list); add_glist("lycos.com query=" ,&search_list); add_glist("hotbot.com MT=" ,&search_list); add_glist("msn.com q=" ,&search_list); add_glist("infoseek.com qt=" ,&search_list); add_glist("webcrawler searchText=" ,&search_list); add_glist("excite search=" ,&search_list); add_glist("netscape.com query=" ,&search_list); add_glist("mamma.com query=" ,&search_list); add_glist("alltheweb.com q=" ,&search_list); add_glist("northernlight.com qr=" ,&search_list); } } /* ensure entry/exits don't exceed urls */ i=(ntop_urls>ntop_urlsK)?ntop_urls:ntop_urlsK; if (ntop_entry>i) ntop_entry=i; if (ntop_exit>i) ntop_exit=i; for (i=0;i<MAXHASH;i++) { sm_htab[i]=sd_htab[i]=NULL; /* initalize hash tables */ um_htab[i]=NULL; rm_htab[i]=NULL; am_htab[i]=NULL; sr_htab[i]=NULL; } /* Be polite and announce yourself... */ if (verbose>1) { uname(&system_info); printf("Webalizer V%s-%s (%s %s %s) %s\n", version,editlvl, system_info.sysname, system_info.release, system_info.machine,language); } #ifndef USE_DNS if (strstr(argv[0],"webazolver")!=0) /* DNS support not present, aborting... */ { printf("%s\n",msg_dns_abrt); exit(1); } #else /* Force sane values for cache TTL */ if (cache_ttl<1) cache_ttl=1; if (cache_ttl>100) cache_ttl=100; #endif /* USE_DNS */ /* open log file */ if (log_fname) { /* stat the file */ if ( !(lstat(log_fname, &log_stat)) ) { /* check if the file a symlink */ if ( S_ISLNK(log_stat.st_mode) ) { if (verbose) fprintf(stderr,"%s %s (symlink)\n",msg_log_err,log_fname); exit(EBADF); } } if (gz_log) { /* open compressed file */ #ifdef USE_BZIP if (gz_log==COMP_BZIP) zlog_fp = BZ2_bzopen(log_fname,"rb"); else #endif zlog_fp = gzopen(log_fname, "rb"); if (zlog_fp==Z_NULL) { /* Error: Can't open log file ... */ fprintf(stderr, "%s %s (%d)\n",msg_log_err,log_fname,ENOENT); exit(ENOENT); } } else { /* open regular file */ log_fp = fopen(log_fname,"r"); if (log_fp==NULL) { /* Error: Can't open log file ... */ fprintf(stderr, "%s %s\n",msg_log_err,log_fname); exit(1); } } } /* Using logfile ... */ if (verbose>1) { printf("%s %s (",msg_log_use,log_fname?log_fname:"STDIN"); if (gz_log==COMP_GZIP) printf("gzip-"); #ifdef USE_BZIP if (gz_log==COMP_BZIP) printf("bzip-"); #endif switch (log_type) { /* display log file type hint */ case LOG_CLF: printf("clf)\n"); break; case LOG_FTP: printf("ftp)\n"); break; case LOG_SQUID: printf("squid)\n"); break; case LOG_W3C: printf("w3c)\n"); break; } } /* switch directories if needed */ if (out_dir) { if (chdir(out_dir) != 0) { /* Error: Can't change directory to ... */ fprintf(stderr, "%s %s\n",msg_dir_err,out_dir); exit(1); } } #ifdef USE_DNS if (strstr(argv[0],"webazolver")!=0) { if (!dns_children) dns_children=5; /* default dns children if needed */ if (!dns_cache) { /* No cache file specified, aborting... */ fprintf(stderr,"%s\n",msg_dns_nocf); /* Must have a cache file */ exit(1); } } if (dns_cache && dns_children) /* run-time resolution */ { if (dns_children > MAXCHILD) dns_children=MAXCHILD; /* DNS Lookup (#children): */ if (verbose>1) printf("%s (%d): ",msg_dns_rslv,dns_children); fflush(stdout); (gz_log)?dns_resolver(zlog_fp):dns_resolver(log_fp); #ifdef USE_BZIP (gz_log==COMP_BZIP)?bz2_rewind(&zlog_fp, log_fname, "rb"): #endif (gz_log==COMP_GZIP)?gzrewind(zlog_fp): (log_fname)?rewind(log_fp):exit(0); } if (strstr(argv[0],"webazolver")!=0) exit(0); /* webazolver exits here */ if (dns_cache) { if (!open_cache()) { dns_cache=NULL; dns_db=NULL; } else { /* Using DNS cache file <filaneme> */ if (verbose>1) printf("%s %s\n",msg_dns_usec,dns_cache); } } /* Open GeoDB? */ if (geodb) { geo_db=geodb_open(geodb_fname); if (geo_db==NULL) { if (verbose) printf("%s: %s\n",msg_geo_open, (geodb_fname)?geodb_fname:msg_geo_dflt); if (verbose) printf("GeoDB %s\n",msg_geo_nolu); geodb=0; } else if (verbose>1) printf("%s %s\n", msg_geo_use,geodb_ver(geo_db,buffer)); #ifdef USE_GEOIP if (geoip) geoip=0; /* Disable GeoIP if using GeoDB */ #endif } #endif /* USE_DNS */ #ifdef USE_GEOIP /* open GeoIP database */ if (geoip) { if (geoip_db!=NULL) geo_fp=GeoIP_open(geoip_db, GEOIP_MEMORY_CACHE); else geo_fp=GeoIP_new(GEOIP_MEMORY_CACHE); /* Did we open one? */ if (geo_fp==NULL) { /* couldn't open.. warn user */ if (verbose) printf("GeoIP %s\n",msg_geo_nolu); geoip=0; } else if (verbose>1) printf("%s %s (%s)\n",msg_geo_use, GeoIPDBDescription[(int)geo_fp->databaseType], (geoip_db==NULL)?msg_geo_dflt:geo_fp->file_path); } #endif /* USE_GEOIP */ /* Creating output in ... */ if (verbose>1) printf("%s %s\n",msg_dir_use,out_dir?out_dir:msg_cur_dir); /* prep hostname */ if (!hname) { if (uname(&system_info)) hname="localhost"; else hname=system_info.nodename; } /* Hostname for reports is ... */ if (strlen(hname)) if (verbose>1) printf("%s '%s'\n",msg_hostname,hname); /* get past history */ if (ignore_hist) { if (verbose>1) printf("%s\n",msg_ign_hist); } else get_history(); if (incremental) /* incremental processing? */ { if ((i=restore_state())) /* restore internal data structs */ { /* Error: Unable to restore run data (error num) */ /* if (verbose) fprintf(stderr,"%s (%d)\n",msg_bad_data,i); */ fprintf(stderr,"%s (%d)\n",msg_bad_data,i); exit(1); } } /* Allocate memory for our TOP countries array */ if (ntop_ctrys != 0) { if ( (top_ctrys=calloc(ntop_ctrys,sizeof(CLISTPTR))) == NULL) /* Can't get memory, Top Countries disabled! */ {if (verbose) fprintf(stderr,"%s\n",msg_nomem_tc); ntop_ctrys=0;}} /* get processing start time */ start_time = time(NULL); /*********************************************/ /* MAIN PROCESS LOOP - read through log file */ /*********************************************/ while ( (gz_log)?(our_gzgets(zlog_fp,buffer,BUFSIZE) != Z_NULL): (fgets(buffer,BUFSIZE,log_fname?log_fp:stdin) != NULL)) { total_rec++; if (strlen(buffer) == (BUFSIZE-1)) { if (verbose) { fprintf(stderr,"%s",msg_big_rec); if (debug_mode) fprintf(stderr,":\n%s",buffer); else fprintf(stderr,"\n"); } total_bad++; /* bump bad record counter */ /* get the rest of the record */ while ( (gz_log)?(our_gzgets(zlog_fp,buffer,BUFSIZE)!=Z_NULL): (fgets(buffer,BUFSIZE,log_fname?log_fp:stdin)!=NULL)) { if (strlen(buffer) < BUFSIZE-1) { if (debug_mode && verbose) fprintf(stderr,"%s\n",buffer); break; } if (debug_mode && verbose) fprintf(stderr,"%s",buffer); } continue; /* go get next record if any */ } /* got a record... */ strcpy(tmp_buf, buffer); /* save buffer in case of error */ if (parse_record(buffer)) /* parse the record */ { /*********************************************/ /* PASSED MINIMAL CHECKS, DO A LITTLE MORE */ /*********************************************/ /* convert month name to lowercase */ for (i=4;i<7;i++) log_rec.datetime[i]=tolower(log_rec.datetime[i]); /* lowercase sitename/IPv6 addresses */ cp1=log_rec.hostname; while (*cp1++!='\0') *cp1=tolower(*cp1); /* get year/month/day/hour/min/sec values */ for (i=0;i<12;i++) { if (strncmp(log_month[i],&log_rec.datetime[4],3)==0) { rec_month = i+1; break; } } rec_year=atoi(&log_rec.datetime[8]); /* get year number (int) */ rec_day =atoi(&log_rec.datetime[1]); /* get day number */ rec_hour=atoi(&log_rec.datetime[13]); /* get hour number */ rec_min =atoi(&log_rec.datetime[16]); /* get minute number */ rec_sec =atoi(&log_rec.datetime[19]); /* get second number */ /* Kludge for Netscape server time (0-24?) error */ if (rec_hour>23) rec_hour=0; /* minimal sanity check on date */ if ((i>=12)||(rec_min>59)||(rec_sec>60)||(rec_year<1990)) { total_bad++; /* if a bad date, bump counter */ if (verbose) { fprintf(stderr,"%s: %s [%llu]", msg_bad_date,log_rec.datetime,total_rec); if (debug_mode) fprintf(stderr,":\n%s\n",tmp_buf); else fprintf(stderr,"\n"); } continue; /* and ignore this record */ } /*********************************************/ /* GOOD RECORD, CHECK INCREMENTAL/TIMESTAMPS */ /*********************************************/ /* Flag as a good one */ good_rec = 1; /* get current records timestamp (seconds since epoch) */ req_tstamp=cur_tstamp; rec_tstamp=((jdate(rec_day,rec_month,rec_year)-epoch)*86400)+ (rec_hour*3600)+(rec_min*60)+rec_sec; /* Do we need to check for duplicate records? (incremental mode) */ if (check_dup) { /* check if less than/equal to last record processed */ if ( rec_tstamp <= cur_tstamp ) { /* if it is, assume we have already processed and ignore it */ total_ignore++; continue; } else { /* if it isn't.. disable any more checks this run */ check_dup=0; /* now check if it's a new month */ if ( (cur_month != rec_month) || (cur_year != rec_year) ) { clear_month(); cur_sec = rec_sec; /* set current counters */ cur_min = rec_min; cur_hour = rec_hour; cur_day = rec_day; cur_month = rec_month; cur_year = rec_year; cur_tstamp= rec_tstamp; f_day=l_day=rec_day; /* reset first and last day */ } } } /* check for out of sequence records */ if (rec_tstamp/3600 < cur_tstamp/3600) { if (!fold_seq_err && ((rec_tstamp+SLOP_VAL)/3600<cur_tstamp/3600) ) { total_ignore++; continue; } else { rec_sec = cur_sec; /* if folding sequence */ rec_min = cur_min; /* errors, just make it */ rec_hour = cur_hour; /* look like the last */ rec_day = cur_day; /* good records timestamp */ rec_month = cur_month; rec_year = cur_year; rec_tstamp= cur_tstamp; } } cur_tstamp=rec_tstamp; /* update current timestamp */ /*********************************************/ /* DO SOME PRE-PROCESS FORMATTING */ /*********************************************/ /* un-escape URL */ unescape(log_rec.url); /* fix URL field */ cp1 = cp2 = log_rec.url; /* handle null '-' case here... */ if (*++cp1 == '-') strcpy(log_rec.url,"/INVALID-URL"); else { /* strip actual URL out of request */ while ( (*cp1 != ' ') && (*cp1 != '\0') ) cp1++; if (*cp1 != '\0') { /* scan to begin of actual URL field */ while ((*cp1 == ' ') && (*cp1 != '\0')) cp1++; /* remove duplicate / if needed */ while (( *cp1=='/') && (*(cp1+1)=='/')) cp1++; while (( *cp1!='\0')&&(*cp1!='"')) *cp2++=*cp1++; *cp2='\0'; } } /* strip query portion of cgi scripts */ cp1 = log_rec.url; while (*cp1 != '\0') if (!isurlchar(*cp1, stripcgi)) { *cp1 = '\0'; break; } else cp1++; if (log_rec.url[0]=='\0') { log_rec.url[0]='/'; log_rec.url[1]='\0'; } /* Normalize URL */ if (log_type==LOG_CLF && log_rec.resp_code!=RC_NOTFOUND && normalize) { if ( ((cp2=strstr(log_rec.url,"://"))!=NULL)&&(cp2<log_rec.url+6) ) { cp1=cp2+3; /* see if a '/' is present after it */ if ( (cp2=strchr(cp1,(int)'/'))==NULL) cp1--; else cp1=cp2; /* Ok, now shift url string */ cp2=log_rec.url; while (*cp1!='\0') *cp2++=*cp1++; *cp2='\0'; } /* extra sanity checks on URL string */ while ((cp2=strstr(log_rec.url,"/./"))) { cp1=cp2+2; while (*cp1!='\0') *cp2++=*cp1++; *cp2='\0'; } if (log_rec.url[0]!='/') { if ( log_rec.resp_code==RC_OK || log_rec.resp_code==RC_PARTIALCONTENT || log_rec.resp_code==RC_NOMOD) { if (debug_mode) fprintf(stderr,"Converted URL '%s' to '/'\n",log_rec.url); log_rec.url[0]='/'; log_rec.url[1]='\0'; } else { if (debug_mode) fprintf(stderr,"Invalid URL: '%s'\n",log_rec.url); strcpy(log_rec.url,"/INVALID-URL"); } } while ( log_rec.url[ (i=strlen(log_rec.url)-1) ] == '?' ) log_rec.url[i]='\0'; /* drop trailing ?s if any */ } else { /* check for service (ie: http://) and lowercase if found */ if (((cp2=strstr(log_rec.url,"://"))!= NULL)&&(cp2<log_rec.url+6)) { cp1=log_rec.url; while (cp1!=cp2) { if ( (*cp1>='A') && (*cp1<='Z')) *cp1 += 'a'-'A'; cp1++; } } } /* strip off index.html (or any aliases) */ lptr=index_alias; while (lptr!=NULL) { if ((cp1=strstr(log_rec.url,lptr->string))!=NULL) { if (*(cp1-1)=='/') { if ( !stripcgi && (cp2=strchr(cp1,'?'))!=NULL ) { while(*cp2) *cp1++=*cp2++; *cp1='\0'; } else *cp1='\0'; break; } } lptr=lptr->next; } /* unescape referrer */ unescape(log_rec.refer); /* fix referrer field */ cp1 = log_rec.refer; cp3 = cp2 = cp1++; if ( (*cp2 != '\0') && (*cp2 == '"') ) { while ( *cp1 != '\0' ) { cp3=cp2; if (((unsigned char)*cp1<32&&(unsigned char)*cp1>0) || *cp1==127 || (unsigned char)*cp1=='<') *cp1=0; else *cp2++=*cp1++; } *cp3 = '\0'; } /* get query portion of cgi referrals */ cp1 = log_rec.refer; if (*cp1 != '\0') { while (*cp1 != '\0') { if (!isurlchar(*cp1, 1)) { /* Save query portion in log.rec.srchstr */ strncpy(log_rec.srchstr,(char *)cp1,MAXSRCH); *cp1++='\0'; break; } else cp1++; } /* handle null referrer */ if (log_rec.refer[0]=='\0') { log_rec.refer[0]='-'; log_rec.refer[1]='\0'; } } /* if HTTP request, lowercase http://sitename/ portion */ cp1 = log_rec.refer; if ( (*cp1=='h') || (*cp1=='H')) { while ( (*cp1!='/') && (*cp1!='\0')) { if ( (*cp1>='A') && (*cp1<='Z')) *cp1 += 'a'-'A'; cp1++; } /* now do hostname */ if ( (*cp1=='/') && ( *(cp1+1)=='/')) {cp1++; cp1++;} while ( (*cp1!='/') && (*cp1!='\0')) { if ( (*cp1>='A') && (*cp1<='Z')) *cp1 += 'a'-'A'; cp1++; } } /* Do we need to mangle? */ if (mangle_agent) agent_mangle(log_rec.agent); /* if necessary, shrink referrer to fit storage */ if (strlen(log_rec.refer)>=MAXREFH) { if (verbose) fprintf(stderr,"%s [%llu]\n", msg_big_ref,total_rec); log_rec.refer[MAXREFH-1]='\0'; } /* if necessary, shrink URL to fit storage */ if (strlen(log_rec.url)>=MAXURLH) { if (verbose) fprintf(stderr,"%s [%llu]\n", msg_big_req,total_rec); log_rec.url[MAXURLH-1]='\0'; } /* fix user agent field */ cp1 = log_rec.agent; cp3 = cp2 = cp1++; if ( (*cp2 != '\0') && ((*cp2 == '"')||(*cp2 == '(')) ) { while (*cp1 != '\0') { cp3 = cp2; *cp2++ = *cp1++; } *cp3 = '\0'; } cp1 = log_rec.agent; /* CHANGE !!! */ while (*cp1 != 0) /* get rid of more common _bad_ chars ;) */ { if ( ((unsigned char)*cp1 < 32) || ((unsigned char)*cp1==127) || (*cp1=='<') || (*cp1=='>') ) { *cp1='\0'; break; } else cp1++; } /* fix username if needed */ if (log_rec.ident[0]==0) { log_rec.ident[0]='-'; log_rec.ident[1]='\0'; } else { cp3=log_rec.ident; while ((unsigned char)*cp3>=32 && *cp3!='"') cp3++; *cp3='\0'; } /* unescape user name */ unescape(log_rec.ident); /********************************************/ /* PROCESS RECORD */ /********************************************/ /* first time through? */ if (cur_month == 0) { /* if yes, init our date vars */ cur_month=rec_month; cur_year=rec_year; cur_day=rec_day; cur_hour=rec_hour; cur_min=rec_min; cur_sec=rec_sec; f_day=rec_day; } /* adjust last day processed if different */ if (rec_day > l_day) l_day = rec_day; /* update min/sec stuff */ if (cur_sec != rec_sec) cur_sec = rec_sec; if (cur_min != rec_min) cur_min = rec_min; /* check for hour change */ if (cur_hour != rec_hour) { /* if yes, init hourly stuff */ if (ht_hit > mh_hit) mh_hit = ht_hit; ht_hit = 0; cur_hour = rec_hour; } /* check for day change */ if (cur_day != rec_day) { /* if yes, init daily stuff */ tm_site[cur_day-1]=dt_site; dt_site=0; tm_visit[cur_day-1]=tot_visit(sd_htab); del_hlist(sd_htab); cur_day = rec_day; } /* check for month change */ if ( (cur_month != rec_month) || (cur_year != rec_year) ) { /* if yes, do monthly stuff */ t_visit=tot_visit(sm_htab); month_update_exit(req_tstamp); /* process exit pages */ update_history(); write_month_html(); /* generate HTML for month */ clear_month(); cur_month = rec_month; /* update our flags */ cur_year = rec_year; f_day=l_day=rec_day; } /* save hostname for later */ strncpy(host_buf, log_rec.hostname, sizeof(log_rec.hostname)); #ifdef USE_DNS /* Resolve IP address if needed */ if (dns_db) { struct addrinfo hints, *ares; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_NUMERICHOST; if (0 == getaddrinfo(log_rec.hostname, "0", &hints, &ares)) { freeaddrinfo(ares); resolve_dns(&log_rec); } } #endif /* lowercase hostname and validity check */ cp1 = log_rec.hostname; i=0; if ( (!isalnum((unsigned char)*cp1)) && (*cp1!=':') ) strncpy(log_rec.hostname, "Invalid", 8); else { while (*cp1 != '\0') /* loop through string */ { if ( (*cp1>='A') && (*cp1<='Z') ) { *cp1++ += 'a'-'A'; continue; } if ( *cp1=='.' ) i++; if ( (isalnum((unsigned char)*cp1)) || (*cp1=='.')||(*cp1=='-') || (*cp1==':')||((*cp1=='_')&&(i==0)) ) cp1++; else { /* Invalid hostname found! */ if (strcmp(log_rec.hostname, host_buf)) strcpy(log_rec.hostname, host_buf); else strncpy(log_rec.hostname,"Invalid",8); break; } } if (*cp1 == '\0') /* did we make it to the end? */ { if (!isalnum((unsigned char)*(cp1-1))) strncpy(log_rec.hostname,"Invalid",8); } } /* Catch blank hostnames here */ if (log_rec.hostname[0]=='\0') strncpy(log_rec.hostname,"Unknown",8); /* Ignore/Include check */ if ( (isinlist(include_sites,log_rec.hostname)==NULL) && (isinlist(include_urls,log_rec.url)==NULL) && (isinlist(include_refs,log_rec.refer)==NULL) && (isinlist(include_agents,log_rec.agent)==NULL) && (isinlist(include_users,log_rec.ident)==NULL) ) { if (isinlist(ignored_sites,log_rec.hostname)!=NULL) { total_ignore++; continue; } if (isinlist(ignored_urls,log_rec.url)!=NULL) { total_ignore++; continue; } if (isinlist(ignored_agents,log_rec.agent)!=NULL) { total_ignore++; continue; } if (isinlist(ignored_refs,log_rec.refer)!=NULL) { total_ignore++; continue; } if (isinlist(ignored_users,log_rec.ident)!=NULL) { total_ignore++; continue; } } /* Bump response code totals */ switch (log_rec.resp_code) { case RC_CONTINUE: i=IDX_CONTINUE; break; case RC_SWITCHPROTO: i=IDX_SWITCHPROTO; break; case RC_OK: i=IDX_OK; break; case RC_CREATED: i=IDX_CREATED; break; case RC_ACCEPTED: i=IDX_ACCEPTED; break; case RC_NONAUTHINFO: i=IDX_NONAUTHINFO; break; case RC_NOCONTENT: i=IDX_NOCONTENT; break; case RC_RESETCONTENT: i=IDX_RESETCONTENT; break; case RC_PARTIALCONTENT: i=IDX_PARTIALCONTENT; break; case RC_MULTIPLECHOICES: i=IDX_MULTIPLECHOICES; break; case RC_MOVEDPERM: i=IDX_MOVEDPERM; break; case RC_MOVEDTEMP: i=IDX_MOVEDTEMP; break; case RC_SEEOTHER: i=IDX_SEEOTHER; break; case RC_NOMOD: i=IDX_NOMOD; break; case RC_USEPROXY: i=IDX_USEPROXY; break; case RC_MOVEDTEMPORARILY: i=IDX_MOVEDTEMPORARILY; break; case RC_BAD: i=IDX_BAD; break; case RC_UNAUTH: i=IDX_UNAUTH; break; case RC_PAYMENTREQ: i=IDX_PAYMENTREQ; break; case RC_FORBIDDEN: i=IDX_FORBIDDEN; break; case RC_NOTFOUND: i=IDX_NOTFOUND; break; case RC_METHODNOTALLOWED: i=IDX_METHODNOTALLOWED; break; case RC_NOTACCEPTABLE: i=IDX_NOTACCEPTABLE; break; case RC_PROXYAUTHREQ: i=IDX_PROXYAUTHREQ; break; case RC_TIMEOUT: i=IDX_TIMEOUT; break; case RC_CONFLICT: i=IDX_CONFLICT; break; case RC_GONE: i=IDX_GONE; break; case RC_LENGTHREQ: i=IDX_LENGTHREQ; break; case RC_PREFAILED: i=IDX_PREFAILED; break; case RC_REQENTTOOLARGE: i=IDX_REQENTTOOLARGE; break; case RC_REQURITOOLARGE: i=IDX_REQURITOOLARGE; break; case RC_UNSUPMEDIATYPE: i=IDX_UNSUPMEDIATYPE; break; case RC_RNGNOTSATISFIABLE:i=IDX_RNGNOTSATISFIABLE;break; case RC_EXPECTATIONFAILED:i=IDX_EXPECTATIONFAILED;break; case RC_SERVERERR: i=IDX_SERVERERR; break; case RC_NOTIMPLEMENTED: i=IDX_NOTIMPLEMENTED; break; case RC_BADGATEWAY: i=IDX_BADGATEWAY; break; case RC_UNAVAIL: i=IDX_UNAVAIL; break; case RC_GATEWAYTIMEOUT: i=IDX_GATEWAYTIMEOUT; break; case RC_BADHTTPVER: i=IDX_BADHTTPVER; break; default: i=IDX_UNDEFINED; break; } response[i].count++; /* now save in the various hash tables... */ if (log_rec.resp_code==RC_OK || log_rec.resp_code==RC_PARTIALCONTENT) i=1; else i=0; /* URL/ident hash table (only if valid response code) */ if ((log_rec.resp_code==RC_OK)||(log_rec.resp_code==RC_NOMOD)|| (log_rec.resp_code==RC_PARTIALCONTENT)) { /* URL hash table */ if (put_unode(log_rec.url,OBJ_REG,(u_int64_t)1, log_rec.xfer_size,&t_url,(u_int64_t)0,(u_int64_t)0,um_htab)) { if (verbose) /* Error adding URL node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_u, log_rec.url); } /* ident (username) hash table */ if (put_inode(log_rec.ident,OBJ_REG, 1,(u_int64_t)i,log_rec.xfer_size,&t_user, 0,rec_tstamp,im_htab)) { if (verbose) /* Error adding ident node, skipping .... */ fprintf(stderr,"%s %s\n", msg_nomem_i, log_rec.ident); } } /* referrer hash table */ if (ntop_refs) { if (log_rec.refer[0]!='\0') if (put_rnode(log_rec.refer,OBJ_REG,(u_int64_t)1,&t_ref,rm_htab)) { if (verbose) fprintf(stderr,"%s %s\n", msg_nomem_r, log_rec.refer); } } /* hostname (site) hash table - daily */ if (put_hnode(log_rec.hostname,OBJ_REG, 1,(u_int64_t)i,log_rec.xfer_size,&dt_site, 0,rec_tstamp,"",sd_htab)) { if (verbose) /* Error adding host node (daily), skipping .... */ fprintf(stderr,"%s %s\n",msg_nomem_dh, log_rec.hostname); } /* hostname (site) hash table - monthly */ if (put_hnode(log_rec.hostname,OBJ_REG, 1,(u_int64_t)i,log_rec.xfer_size,&t_site, 0,rec_tstamp,"",sm_htab)) { if (verbose) /* Error adding host node (monthly), skipping .... */ fprintf(stderr,"%s %s\n", msg_nomem_mh, log_rec.hostname); } /* user agent hash table */ if (ntop_agents) { if (log_rec.agent[0]!='\0') if (put_anode(log_rec.agent,OBJ_REG,(u_int64_t)1,&t_agent,am_htab)) { if (verbose) fprintf(stderr,"%s %s\n", msg_nomem_a, log_rec.agent); } } /* bump monthly/daily/hourly totals */ t_hit++; ht_hit++; /* daily/hourly hits */ t_xfer += log_rec.xfer_size; /* total xfer size */ tm_xfer[rec_day-1] += log_rec.xfer_size; /* daily xfer total */ tm_hit[rec_day-1]++; /* daily hits total */ th_xfer[rec_hour] += log_rec.xfer_size; /* hourly xfer total */ th_hit[rec_hour]++; /* hourly hits total */ /* if RC_OK, increase file counters */ if (log_rec.resp_code == RC_OK) { t_file++; tm_file[rec_day-1]++; th_file[rec_hour]++; } /* Pages (pageview) calculation */ if (ispage(log_rec.url)) { t_page++; tm_page[rec_day-1]++; th_page[rec_hour]++; /* do search string stuff if needed */ if (ntop_search) srch_string(log_rec.srchstr); } /*********************************************/ /* RECORD PROCESSED - DO GROUPS HERE */ /*********************************************/ /* URL Grouping */ if ( (cp1=isinglist(group_urls,log_rec.url))!=NULL) { if (put_unode(cp1,OBJ_GRP,(u_int64_t)1,log_rec.xfer_size, &ul_bogus,(u_int64_t)0,(u_int64_t)0,um_htab)) { if (verbose) /* Error adding URL node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_u, cp1); } } /* Site Grouping */ if ( (cp1=isinglist(group_sites,log_rec.hostname))!=NULL) { if (put_hnode(cp1,OBJ_GRP,1, (u_int64_t)(log_rec.resp_code==RC_OK)?1:0, log_rec.xfer_size,&ul_bogus, 0,rec_tstamp,"",sm_htab)) { if (verbose) /* Error adding Site node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_mh, cp1); } } else { /* Domain Grouping */ if (group_domains) { cp1 = get_domain(log_rec.hostname); if (cp1 != NULL) { if (put_hnode(cp1,OBJ_GRP,1, (u_int64_t)(log_rec.resp_code==RC_OK)?1:0, log_rec.xfer_size,&ul_bogus, 0,rec_tstamp,"",sm_htab)) { if (verbose) /* Error adding Site node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_mh, cp1); } } } } /* Referrer Grouping */ if ( (cp1=isinglist(group_refs,log_rec.refer))!=NULL) { if (put_rnode(cp1,OBJ_GRP,(u_int64_t)1,&ul_bogus,rm_htab)) { if (verbose) /* Error adding Referrer node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_r, cp1); } } /* User Agent Grouping */ if ( (cp1=isinglist(group_agents,log_rec.agent))!=NULL) { if (put_anode(cp1,OBJ_GRP,(u_int64_t)1,&ul_bogus,am_htab)) { if (verbose) /* Error adding User Agent node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_a, cp1); } } /* Ident (username) Grouping */ if ( (cp1=isinglist(group_users,log_rec.ident))!=NULL) { if (put_inode(cp1,OBJ_GRP,1, (u_int64_t)(log_rec.resp_code==RC_OK)?1:0, log_rec.xfer_size,&ul_bogus, 0,rec_tstamp,im_htab)) { if (verbose) /* Error adding Username node, skipping ... */ fprintf(stderr,"%s %s\n", msg_nomem_i, cp1); } } } /*********************************************/ /* BAD RECORD */ /*********************************************/ else { /* If first record, check if stupid Netscape header stuff */ if ( (total_rec==1) && (strncmp(buffer,"format=",7)==0) ) { /* Skipping Netscape header record */ if (verbose>1) printf("%s\n",msg_ign_nscp); /* count it as ignored... */ total_ignore++; } else { /* Check if it's a W3C header or IIS Null-Character line */ if ((buffer[0]=='\0') || (buffer[0]=='#')) { total_ignore++; } else { /* really bad record... */ total_bad++; if (verbose) { fprintf(stderr,"%s (%llu)",msg_bad_rec,total_rec); if (debug_mode) fprintf(stderr,":\n%s\n",tmp_buf); else fprintf(stderr,"\n"); } } } } } /*********************************************/ /* DONE READING LOG FILE - final processing */ /*********************************************/ /* close log file if needed */ #ifdef USE_BZIP if (gz_log) (gz_log==COMP_BZIP)?BZ2_bzclose(zlog_fp):gzclose(zlog_fp); #else if (gz_log) gzclose(zlog_fp); #endif else if (log_fname) fclose(log_fp); if (good_rec) /* were any good records? */ { tm_site[cur_day-1]=dt_site; /* If yes, clean up a bit */ tm_visit[cur_day-1]=tot_visit(sd_htab); t_visit=tot_visit(sm_htab); if (ht_hit > mh_hit) mh_hit = ht_hit; if (total_rec > (total_ignore+total_bad)) /* did we process any? */ { if (incremental) { if (save_state()) /* incremental stuff */ { /* Error: Unable to save current run data */ if (verbose) fprintf(stderr,"%s\n",msg_data_err); unlink(state_fname); } } month_update_exit(rec_tstamp); /* calculate exit pages */ update_history(); write_month_html(); /* write monthly HTML file */ put_history(); /* write history */ } if (hist[0].month!=0) write_main_index(); /* write main HTML file */ /* get processing end time */ end_time = time(NULL); /* display end of processing statistics */ if (time_me || (verbose>1)) { printf("%llu %s ",total_rec, msg_records); if (total_ignore) { printf("(%llu %s",total_ignore,msg_ignored); if (total_bad) printf(", %llu %s) ",total_bad,msg_bad); else printf(") "); } else if (total_bad) printf("(%llu %s) ",total_bad,msg_bad); /* totoal processing time in seconds */ temp_time = difftime(end_time, start_time); if (temp_time==0) temp_time=1; printf("%s %.0f %s", msg_in, temp_time, msg_seconds); /* calculate records per second */ if (temp_time) i=( (int)( (float)total_rec/temp_time ) ); else i=0; if ( (i>0) && (i<=total_rec) ) printf(", %d/sec\n", i); else printf("\n"); } #ifdef USE_DNS /* Close DNS cache file */ if (dns_db) close_cache(); /* Close GeoDB database */ if (geo_db) geodb_close(geo_db); #endif #ifdef USE_GEOIP /* Close GeoIP database */ if (geo_fp) GeoIP_delete(geo_fp); #endif /* Whew, all done! Exit with completion status (0) */ exit(0); } else { /* No valid records found... exit with error (1) */ if (verbose) printf("%s\n",msg_no_vrec); if (hist[0].month!=0) write_main_index(); /* write main HTML file */ exit(1); } } /*********************************************/ /* GET_CONFIG - get configuration file info */ /*********************************************/ void get_config(char *fname) { char *kwords[]= { "Undefined", /* 0 = undefined keyword 0 */ "OutputDir", /* Output directory 1 */ "LogFile", /* Log file to use for input 2 */ "ReportTitle", /* Title for reports 3 */ "HostName", /* Hostname to use 4 */ "IgnoreHist", /* Ignore history file 5 */ "Quiet", /* Run in quiet mode 6 */ "TimeMe", /* Produce timing results 7 */ "Debug", /* Produce debug information 8 */ "HourlyGraph", /* Hourly stats graph 9 */ "HourlyStats", /* Hourly stats table 10 */ "TopSites", /* Top sites 11 */ "TopURLs", /* Top URLs 12 */ "TopReferrers", /* Top Referrers 13 */ "TopAgents", /* Top User Agents 14 */ "TopCountries", /* Top Countries 15 */ "HideSite", /* Sites to hide 16 */ "HideURL", /* URLs to hide 17 */ "HideReferrer", /* Referrers to hide 18 */ "HideAgent", /* User Agents to hide 19 */ "IndexAlias", /* Aliases for index.html 20 */ "HTMLHead", /* HTML Top1 code 21 */ "HTMLPost", /* HTML Top2 code 22 */ "HTMLTail", /* HTML Tail code 23 */ "MangleAgents", /* Mangle User Agents 24 */ "IgnoreSite", /* Sites to ignore 25 */ "IgnoreURL", /* Url's to ignore 26 */ "IgnoreReferrer", /* Referrers to ignore 27 */ "IgnoreAgent", /* User Agents to ignore 28 */ "ReallyQuiet", /* Dont display ANY messages 29 */ "GMTTime", /* Local or UTC time? 30 */ "GroupURL", /* Group URLs 31 */ "GroupSite", /* Group Sites 32 */ "GroupReferrer", /* Group Referrers 33 */ "GroupAgent", /* Group Agents 34 */ "GroupShading", /* Shade Grouped entries 35 */ "GroupHighlight", /* BOLD Grouped entries 36 */ "Incremental", /* Incremental runs 37 */ "IncrementalName", /* Filename for state data 38 */ "HistoryName", /* Filename for history data 39 */ "HTMLExtension", /* HTML filename extension 40 */ "HTMLPre", /* HTML code at beginning 41 */ "HTMLBody", /* HTML body code 42 */ "HTMLEnd", /* HTML code at end 43 */ "UseHTTPS", /* Use https:// on URLs 44 */ "IncludeSite", /* Sites to always include 45 */ "IncludeURL", /* URLs to always include 46 */ "IncludeReferrer", /* Referrers to include 47 */ "IncludeAgent", /* User Agents to include 48 */ "PageType", /* Page Type (pageview) 49 */ "VisitTimeout", /* Visit timeout (seconds) 50 */ "GraphLegend", /* Graph Legends (yes/no) 51 */ "GraphLines", /* Graph Lines (0=none) 52 */ "FoldSeqErr", /* Fold sequence errors 53 */ "CountryGraph", /* Display ctry graph (0=no) 54 */ "TopKSites", /* Top sites (by KBytes) 55 */ "TopKURLs", /* Top URLs (by KBytes) 56 */ "TopEntry", /* Top Entry Pages 57 */ "TopExit", /* Top Exit Pages 58 */ "TopSearch", /* Top Search Strings 59 */ "LogType", /* Log Type (clf/ftp/squid) 60 */ "SearchEngine", /* SearchEngine strings 61 */ "GroupDomains", /* Group domains (n=level) 62 */ "HideAllSites", /* Hide ind. sites (0=no) 63 */ "AllSites", /* List all sites? 64 */ "AllURLs", /* List all URLs? 65 */ "AllReferrers", /* List all Referrers? 66 */ "AllAgents", /* List all User Agents? 67 */ "AllSearchStr", /* List all Search Strings? 68 */ "AllUsers", /* List all Users? 69 */ "TopUsers", /* Top Usernames to show 70 */ "HideUser", /* Usernames to hide 71 */ "IgnoreUser", /* Usernames to ignore 72 */ "IncludeUser", /* Usernames to include 73 */ "GroupUser", /* Usernames to group 74 */ "DumpPath", /* Path for dump files 75 */ "DumpExtension", /* Dump filename extension 76 */ "DumpHeader", /* Dump header as first rec? 77 */ "DumpSites", /* Dump sites tab file 78 */ "DumpURLs", /* Dump urls tab file 79 */ "DumpReferrers", /* Dump referrers tab file 80 */ "DumpAgents", /* Dump user agents tab file 81 */ "DumpUsers", /* Dump usernames tab file 82 */ "DumpSearchStr", /* Dump search str tab file 83 */ "DNSCache", /* DNS Cache file name 84 */ "DNSChildren", /* DNS Children (0=no DNS) 85 */ "DailyGraph", /* Daily Graph (0=no) 86 */ "DailyStats", /* Daily Stats (0=no) 87 */ "LinkReferrer", /* Link referrer (0=no) 88 */ "PagePrefix", /* PagePrefix - treat as page 89 */ "ColorHit", /* Hit Color (def=00805c) 90 */ "ColorFile", /* File Color (def=0040ff) 91 */ "ColorSite", /* Site Color (def=ff8000) 92 */ "ColorKbyte", /* Kbyte Color (def=ff0000) 93 */ "ColorPage", /* Page Color (def=00e0ff) 94 */ "ColorVisit", /* Visit Color (def=ffff00) 95 */ "ColorMisc", /* Misc Color (def=00e0ff) 96 */ "PieColor1", /* Pie Color 1 (def=800080) 97 */ "PieColor2", /* Pie Color 2 (def=80ffc0) 98 */ "PieColor3", /* Pie Color 3 (def=ff00ff) 99 */ "PieColor4", /* Pie Color 4 (def=ffc080) 100 */ "CacheIPs", /* Cache IPs in DNS DB (0=no) 101 */ "CacheTTL", /* DNS Cache entry TTL (days) 102 */ "GeoDB", /* GeoDB lookups (0=no) 103 */ "GeoDBDatabase", /* GeoDB database filename 104 */ "StripCGI", /* Strip CGI in URLS (0=no) 105 */ "TrimSquidURL", /* Trim squid URLs (0=none) 106 */ "OmitPage", /* URLs not counted as pages 107 */ "HTAccess", /* Write .httaccess files? 108 */ "IgnoreState", /* Ignore state file (0=no) 109 */ "DefaultIndex", /* Default index.* (1=yes) 110 */ "GeoIP", /* Use GeoIP? (1=yes) 111 */ "GeoIPDatabase", /* Database to use for GeoIP 112 */ "NormalizeURL", /* Normalize CLF URLs (1=yes) 113 */ "IndexMonths", /* # months for main page 114 */ "GraphMonths", /* # months for yearly graph 115 */ "YearHeaders", /* use year headers? (1=yes) 116 */ "YearTotals", /* show year subtotals (0=no) 117 */ "CountryFlags", /* show country flags? (0-no) 118 */ "FlagDir", /* directory w/flag images 119 */ "SearchCaseI" /* srch str case insensitive 120 */ }; FILE *fp; char buffer[BUFSIZE]; char keyword[MAXKWORD]; char value[MAXKVAL]; char *cp1, *cp2; int i,key,count; int num_kwords=sizeof(kwords)/sizeof(char *); if ( (fp=fopen(fname,"r")) == NULL) { if (verbose) fprintf(stderr,"%s %s\n",msg_bad_conf,fname); return; } while ( (fgets(buffer,BUFSIZE,fp)) != NULL) { /* skip comments and blank lines */ if ( (buffer[0]=='#') || isspace((unsigned char)buffer[0]) ) continue; /* Get keyword */ cp1=buffer;cp2=keyword;count=MAXKWORD-1; while ( (isalnum((unsigned char)*cp1)) && count ) { *cp2++ = *cp1++; count--; } *cp2='\0'; /* Get value */ cp2=value; count=MAXKVAL-1; while ((*cp1!='\n')&&(*cp1!='\0')&&(isspace((unsigned char)*cp1))) cp1++; while ((*cp1!='\n')&&(*cp1!='\0')&&count ) { *cp2++ = *cp1++; count--; } *cp2--='\0'; while ((isspace((unsigned char)*cp2)) && (cp2 != value) ) *cp2--='\0'; /* check if blank keyword/value */ if ( (keyword[0]=='\0') || (value[0]=='\0') ) continue; key=0; for (i=0;i<num_kwords;i++) if (!ouricmp(keyword,kwords[i])) { key=i; break; } if (key==0) { printf("%s '%s' (%s)\n", /* Invalid keyword */ msg_bad_key,keyword,fname); continue; } switch (key) { case 1: out_dir=save_opt(value); break; /* OutputDir */ case 2: log_fname=save_opt(value); break; /* LogFile */ case 3: msg_title=save_opt(value); break; /* ReportTitle */ case 4: hname=save_opt(value); break; /* HostName */ case 5: ignore_hist= (tolower(value[0])=='y')?1:0; break; /* IgnoreHist */ case 6: verbose= (tolower(value[0])=='y')?1:2; break; /* Quiet */ case 7: time_me= (tolower(value[0])=='n')?0:1; break; /* TimeMe */ case 8: debug_mode= (tolower(value[0])=='y')?1:0; break; /* Debug */ case 9: hourly_graph= (tolower(value[0])=='n')?0:1; break; /* HourlyGraph */ case 10: hourly_stats= (tolower(value[0])=='n')?0:1; break; /* HourlyStats */ case 11: ntop_sites = atoi(value); break; /* TopSites */ case 12: ntop_urls = atoi(value); break; /* TopURLs */ case 13: ntop_refs = atoi(value); break; /* TopRefs */ case 14: ntop_agents = atoi(value); break; /* TopAgents */ case 15: ntop_ctrys = atoi(value); break; /* TopCountries */ case 16: add_nlist(value,&hidden_sites); break; /* HideSite */ case 17: add_nlist(value,&hidden_urls); break; /* HideURL */ case 18: add_nlist(value,&hidden_refs); break; /* HideReferrer */ case 19: add_nlist(value,&hidden_agents); break; /* HideAgent */ case 20: add_nlist(value,&index_alias); break; /* IndexAlias */ case 21: add_nlist(value,&html_head); break; /* HTMLHead */ case 22: add_nlist(value,&html_post); break; /* HTMLPost */ case 23: add_nlist(value,&html_tail); break; /* HTMLTail */ case 24: mangle_agent=atoi(value); break; /* MangleAgents */ case 25: add_nlist(value,&ignored_sites); break; /* IgnoreSite */ case 26: add_nlist(value,&ignored_urls); break; /* IgnoreURL */ case 27: add_nlist(value,&ignored_refs); break; /* IgnoreReferrer */ case 28: add_nlist(value,&ignored_agents); break; /* IgnoreAgent */ case 29: if (tolower(value[0])=='y') verbose=0; break; /* ReallyQuiet */ case 30: local_time= (tolower(value[0])=='y')?0:1; break; /* GMTTime */ case 31: add_glist(value,&group_urls); break; /* GroupURL */ case 32: add_glist(value,&group_sites); break; /* GroupSite */ case 33: add_glist(value,&group_refs); break; /* GroupReferrer */ case 34: add_glist(value,&group_agents); break; /* GroupAgent */ case 35: shade_groups= (tolower(value[0])=='n')?0:1; break; /* GroupShading */ case 36: hlite_groups= (tolower(value[0])=='n')?0:1; break; /* GroupHighlight */ case 37: incremental= (tolower(value[0])=='y')?1:0; break; /* Incremental */ case 38: state_fname=save_opt(value); break; /* State FName */ case 39: hist_fname=save_opt(value); break; /* History FName */ case 40: html_ext=save_opt(value); break; /* HTML extension */ case 41: add_nlist(value,&html_pre); break; /* HTML Pre code */ case 42: add_nlist(value,&html_body); break; /* HTML Body code */ case 43: add_nlist(value,&html_end); break; /* HTML End code */ case 44: use_https= (tolower(value[0])=='y')?1:0; break; /* Use https:// */ case 45: add_nlist(value,&include_sites); break; /* IncludeSite */ case 46: add_nlist(value,&include_urls); break; /* IncludeURL */ case 47: add_nlist(value,&include_refs); break; /* IncludeReferrer*/ case 48: add_nlist(value,&include_agents); break; /* IncludeAgent */ case 49: add_nlist(value,&page_type); break; /* PageType */ case 50: visit_timeout=atoi(value); break; /* VisitTimeout */ case 51: graph_legend= (tolower(value[0])=='n')?0:1; break; /* GraphLegend */ case 52: graph_lines = atoi(value); break; /* GraphLines */ case 53: fold_seq_err= (tolower(value[0])=='y')?1:0; break; /* FoldSeqErr */ case 54: ctry_graph= (tolower(value[0])=='n')?0:1; break; /* CountryGraph */ case 55: ntop_sitesK = atoi(value); break; /* TopKSites (KB) */ case 56: ntop_urlsK = atoi(value); break; /* TopKUrls (KB) */ case 57: ntop_entry = atoi(value); break; /* Top Entry pgs */ case 58: ntop_exit = atoi(value); break; /* Top Exit pages */ case 59: ntop_search = atoi(value); break; /* Top Search pgs */ case 60: log_type=(tolower(value[0])=='f')? LOG_FTP:((tolower(value[0])=='s')? LOG_SQUID:((tolower(value[0])=='w')? LOG_W3C:LOG_CLF)); break; /* LogType */ case 61: add_glist(value,&search_list); break; /* SearchEngine */ case 62: group_domains=atoi(value); break; /* GroupDomains */ case 63: hide_sites= (tolower(value[0])=='y')?1:0; break; /* HideAllSites */ case 64: all_sites= (tolower(value[0])=='y')?1:0; break; /* All Sites? */ case 65: all_urls= (tolower(value[0])=='y')?1:0; break; /* All URLs? */ case 66: all_refs= (tolower(value[0])=='y')?1:0; break; /* All Refs */ case 67: all_agents= (tolower(value[0])=='y')?1:0; break; /* All Agents? */ case 68: all_search= (tolower(value[0])=='y')?1:0; break; /* All Srch str */ case 69: all_users= (tolower(value[0])=='y')?1:0; break; /* All Users? */ case 70: ntop_users=atoi(value); break; /* TopUsers */ case 71: add_nlist(value,&hidden_users); break; /* HideUser */ case 72: add_nlist(value,&ignored_users); break; /* IgnoreUser */ case 73: add_nlist(value,&include_users); break; /* IncludeUser */ case 74: add_glist(value,&group_users); break; /* GroupUser */ case 75: dump_path=save_opt(value); break; /* DumpPath */ case 76: dump_ext=save_opt(value); break; /* Dumpfile ext */ case 77: dump_header= (tolower(value[0])=='y')?1:0; break; /* DumpHeader? */ case 78: dump_sites= (tolower(value[0])=='y')?1:0; break; /* DumpSites? */ case 79: dump_urls= (tolower(value[0])=='y')?1:0; break; /* DumpURLs? */ case 80: dump_refs= (tolower(value[0])=='y')?1:0; break; /* DumpReferrers? */ case 81: dump_agents= (tolower(value[0])=='y')?1:0; break; /* DumpAgents? */ case 82: dump_users= (tolower(value[0])=='y')?1:0; break; /* DumpUsers? */ case 83: dump_search= (tolower(value[0])=='y')?1:0; break; /* DumpSrchStrs? */ #ifdef USE_DNS case 84: dns_cache=save_opt(value); break; /* DNSCache fname */ case 85: dns_children=atoi(value); break; /* DNSChildren */ #else case 84: /* Disable DNSCache and DNSChildren if DNS is not enabled */ case 85: printf("%s '%s' (%s)\n",msg_bad_key,keyword,fname); break; #endif /* USE_DNS */ case 86: daily_graph= (tolower(value[0])=='n')?0:1; break; /* HourlyGraph */ case 87: daily_stats= (tolower(value[0])=='n')?0:1; break; /* HourlyStats */ case 88: link_referrer= (tolower(value[0])=='y')?1:0; break; /* LinkReferrer */ case 89: add_nlist(value,&page_prefix); break; /* PagePrefix */ case 90: strncpy(hit_color+1, value, 6); break; /* ColorHit */ case 91: strncpy(file_color+1, value, 6); break; /* ColorFile */ case 92: strncpy(site_color+1, value, 6); break; /* ColorSite */ case 93: strncpy(kbyte_color+1,value, 6); break; /* ColorKbyte */ case 94: strncpy(page_color+1, value, 6); break; /* ColorPage */ case 95: strncpy(visit_color+1,value, 6); break; /* ColorVisit */ case 96: strncpy(misc_color+1, value, 6); break; /* ColorMisc */ case 97: strncpy(pie_color1+1, value, 6); break; /* PieColor1 */ case 98: strncpy(pie_color2+1, value, 6); break; /* PieColor2 */ case 99: strncpy(pie_color3+1, value, 6); break; /* PieColor3 */ case 100:strncpy(pie_color4+1, value, 6); break; /* PieColor4 */ #ifdef USE_DNS case 101: cache_ips= (tolower(value[0])=='y')?1:0; break; /* CacheIPs */ case 102: cache_ttl=atoi(value); break; /* CacheTTL days */ case 103: geodb= (tolower(value[0])=='y')?1:0; break; /* GeoDB */ case 104: geodb_fname=save_opt(value); break; /* GeoDBDatabase */ #else case 101: /* Disable CacheIPs/CacheTTL/GeoDB/GeoDBDatabase if none */ case 102: case 103: case 104: printf("%s '%s' (%s)\n",msg_bad_key,keyword,fname); break; #endif /* USE_DNS */ case 105: stripcgi= (tolower(value[0])=='n')?0:1; break; /* StripCGI */ case 106: trimsquid=atoi(value); break; /* TrimSquidURL */ case 107: add_nlist(value,&omit_page); break; /* OmitPage */ case 108: htaccess= (tolower(value[0])=='y')?1:0; break; /* HTAccess */ case 109: ignore_state= (tolower(value[0])=='y')?1:0; break; /* IgnoreState */ case 110: default_index= (tolower(value[0])=='n')?0:1; break; /* DefaultIndex */ #ifdef USE_GEOIP case 111: geoip= (tolower(value[0])=='y')?1:0; break; /* GeoIP */ case 112: geoip_db=save_opt(value); break; /* GeoIPDatabase */ #else case 111: /* Disable GeoIP and GeoIPDatabase if not enabled */ case 112: printf("%s '%s' (%s)\n",msg_bad_key,keyword,fname); break; #endif case 113: normalize= (tolower(value[0])=='n')?0:1; break; /* NormalizeURL */ case 114: index_mths=atoi(value); break; /* IndexMonths */ case 115: graph_mths=atoi(value); break; /* GraphMonths */ case 116: year_hdrs= (tolower(value[0])=='n')?0:1; break; /* YearHeaders */ case 117: year_totals= (tolower(value[0])=='n')?0:1; break; /* YearTotals */ case 118: use_flags= (tolower(value[0])=='y')?1:0; break; /* CountryFlags */ case 119: use_flags=1; flag_dir=save_opt(value); break; /* FlagDir */ case 120: searchcasei= (tolower(value[0])=='n')?0:1; break; /* SearchCaseI */ } } fclose(fp); } /*********************************************/ /* SAVE_OPT - save option from config file */ /*********************************************/ static char *save_opt(char *str) { char *cp1; if ( (cp1=malloc(strlen(str)+1))==NULL) return NULL; strcpy(cp1,str); return cp1; } /*********************************************/ /* CLEAR_MONTH - initalize monthly stuff */ /*********************************************/ void clear_month() { int i; init_counters(); /* reset monthly counters */ del_htabs(); /* clear hash tables */ if (ntop_ctrys!=0 ) for (i=0;i<ntop_ctrys;i++) top_ctrys[i]=NULL; } /*********************************************/ /* INIT_COUNTERS - prep counters for use */ /*********************************************/ void init_counters() { int i; for (i=0;i<TOTAL_RC;i++) response[i].count = 0; for (i=0;i<31;i++) /* monthly totals */ { tm_xfer[i]=0.0; tm_hit[i]=tm_file[i]=tm_site[i]=tm_page[i]=tm_visit[i]=0; } for (i=0;i<24;i++) /* hourly totals */ { th_hit[i]=th_file[i]=th_page[i]=0; th_xfer[i]=0.0; } for (i=0;ctry[i].desc;i++) /* country totals */ { ctry[i].count=0; ctry[i].files=0; ctry[i].xfer=0; } t_hit=t_file=t_site=t_url=t_ref=t_agent=t_page=t_visit=t_user=0; t_xfer=0.0; mh_hit = dt_site = 0; f_day=l_day=1; } /*********************************************/ /* PRINT_OPTS - print command line options */ /*********************************************/ void print_opts(char *pname) { int i; printf("%s: %s %s\n",h_usage1,pname,h_usage2); for (i=0;h_msg[i];i++) printf("%s\n",h_msg[i]); exit(1); } /*********************************************/ /* PRINT_VERSION */ /*********************************************/ void print_version() { char buf[128]=""; uname(&system_info); printf("Webalizer V%s-%s (%s %s %s) %s\n%s\n", version,editlvl, system_info.sysname,system_info.release,system_info.machine, language,copyright); #ifdef USE_DNS strncpy(&buf[strlen(buf)],"DNS/GeoDB ",11); #endif #ifdef USE_BZIP strncpy(&buf[strlen(buf)],"BZip2 ",7); #endif #ifdef USE_GEOIP strncpy(&buf[strlen(buf)],"GeoIP ",7); #endif if (debug_mode) { printf("Mod date: %s Options: ",moddate); if (buf[0]!=0) printf("%s",buf); else printf("none"); printf("\n"); #if USE_DNS printf("Default GeoDB dir : %s\n",GEODB_LOC); #endif printf("Default config dir: %s\n",ETCDIR); printf("\n"); } else printf("\n"); exit(1); } /*********************************************/ /* CUR_TIME - return date/time as a string */ /*********************************************/ char *cur_time() { time_t now; static char timestamp[48]; /* get system time */ now = time(NULL); /* convert to timestamp string */ if (local_time) strftime(timestamp,sizeof(timestamp),"%d-%b-%Y %H:%M %Z", localtime(&now)); else strftime(timestamp,sizeof(timestamp),"%d-%b-%Y %H:%M GMT", gmtime(&now)); return timestamp; } /*********************************************/ /* ISPAGE - determine if an HTML page or not */ /*********************************************/ int ispage(char *str) { NLISTPTR t; char *cp1, *cp2; if (isinlist(omit_page,str)!=NULL) return 0; cp1=cp2=str; while (*cp1!='\0') { if (*cp1=='.') cp2=cp1; cp1++; } if ((cp2++==str)||(*(--cp1)=='/')) return 1; t=page_prefix; while(t!=NULL) { /* Check if a PagePrefix matches */ if(strncmp(str,t->string,strlen(t->string))==0) return 1; t=t->next; } return (isinlist(page_type,cp2)!=NULL); } /*********************************************/ /* ISURLCHAR - checks for valid URL chars */ /*********************************************/ int isurlchar(unsigned char ch, int flag) { if (isalnum(ch)) return 1; /* allow letters, numbers... */ if (ch > 127) return 1; /* allow extended chars... */ if (flag) /* and filter some others */ return (strchr(":/\\.,' *!-+_@~()[]!",ch)!=NULL); /* strip cgi vars */ else return (strchr(":/\\.,' *!-+_@~()[]!;?&=",ch)!=NULL); /* keep cgi vars */ } /*********************************************/ /* CTRY_IDX - create unique # from TLD */ /*********************************************/ u_int64_t ctry_idx(char *str) { int i=strlen(str),j=0; u_int64_t idx=0; char *cp=str+i; for (;i>0;i--) { idx+=((*--cp-'a'+1)<<j); j+=(j==0)?7:5; } return idx; } /*********************************************/ /* UN_IDX - get TLD from index # */ /*********************************************/ char *un_idx(u_int64_t idx) { int i,j; char *cp; static char buf[8]; memset(buf, 0, sizeof(buf)); if (idx<=0) return buf; if ((j=(idx&0x7f))>32) /* only for a1, a2 and o1 */ { buf[0]=(idx>>7)+'a'; buf[1]=j-32; return buf; } for (i=5;i>=0;i--) buf[i]=(i==5)?(idx&0x7f)+'a'-1:(j=(idx>>(((5-i)*5)+2))&0x1f)?j+'a'-1:' '; cp=buf; while (*cp==' ') { for (i=0;i<6;i++) buf[i]=buf[i+1]; } return buf; } /*********************************************/ /* FROM_HEX - convert hex char to decimal */ /*********************************************/ char from_hex(char c) /* convert hex to dec */ { c = (c>='0'&&c<='9')?c-'0': /* 0-9? */ (c>='A'&&c<='F')?c-'A'+10: /* A-F? */ c - 'a' + 10; /* lowercase... */ return (c<0||c>15)?0:c; /* return 0 if bad... */ } /*********************************************/ /* UNESCAPE - convert escape seqs to chars */ /*********************************************/ char *unescape(char *str) { unsigned char *cp1=(unsigned char *)str; /* force unsigned so we */ unsigned char *cp2=cp1; /* can do > 127 */ if (!str) return NULL; /* make sure strings valid */ while (*cp1) { if (*cp1=='%') /* Found an escape? */ { cp1++; if (isxdigit(*cp1)) /* ensure a hex digit */ { if (*cp1) *cp2=from_hex(*cp1++)*16; /* convert hex to an ASCII */ if (*cp1) *cp2+=from_hex(*cp1); /* (hopefully) character */ if ((*cp2<32)||(*cp2==127)) *cp2='_'; /* make '_' if its bad */ if (*cp1) { cp2++; cp1++; } } else *cp2++='%'; } else *cp2++ = *cp1++; /* if not, just continue */ } *cp2=*cp1; /* don't forget terminator */ return str; /* return the string */ } /*********************************************/ /* OURICMP - Case insensitive string compare */ /*********************************************/ int ouricmp(char *str1, char *str2) { while((*str1!=0) && (tolower((unsigned char)*str1)==tolower((unsigned char)*str2))) { str1++;str2++; } if (*str1==0) return 0; else return 1; } /*********************************************/ /* SRCH_STRING - get search strings from ref */ /*********************************************/ void srch_string(char *ptr) { /* ptr should point to unescaped query string */ char tmpbuf[BUFSIZE]; char srch[80]=""; unsigned char *cp1, *cp2, *cps; int sp_flg=0; /* Check if search engine referrer or return */ if ( (cps=(unsigned char *)isinglist(search_list,log_rec.refer))==NULL) return; /* Try to find query variable */ srch[0]='?'; srch[sizeof(srch)-1] = '\0'; strncpy(&srch[1],(char *)cps,sizeof(srch)-2); /* First, try "?..." */ if ((cp1=(unsigned char *)strstr(ptr,srch))==NULL) { srch[0]='&'; /* Next, try "&..." */ if ((cp1=(unsigned char *)strstr(ptr,srch))==NULL) return; } cp2=(unsigned char *)tmpbuf; while (*cp1!='=' && *cp1!=0) cp1++; if (*cp1!=0) cp1++; while (*cp1!='&' && *cp1!=0) { if (*cp1=='"' || *cp1==',' || *cp1=='?') { cp1++; continue; } /* skip bad ones.. */ else { if (*cp1=='+') *cp1=' '; /* change + to space */ if (sp_flg && *cp1==' ') { cp1++; continue; } /* compress spaces */ if (*cp1==' ') sp_flg=1; else sp_flg=0; /* (flag spaces here) */ if (searchcasei) *cp2++=tolower(*cp1++); /* normal character */ else *cp2++=*cp1++; } } *cp2=0; cp2=(unsigned char *)tmpbuf; if (tmpbuf[0]=='?') tmpbuf[0]=' '; /* format fix ? */ while( *cp2!=0 && isspace((unsigned char)*cp2) ) cp2++; /* skip sps. */ if (*cp2==0) return; /* any trailing spaces? */ cp1=cp2+strlen((char *)cp2)-1; while (cp1!=cp2) if (isspace((unsigned char)*cp1)) *cp1--='\0'; else break; /* strip invalid chars */ cp1=cp2; while (*cp1!=0) { if ((*cp1<32)||(*cp1==127)) *cp1='_'; cp1++; } if (put_snode((char *)cp2,(u_int64_t)1,sr_htab)) { if (verbose) /* Error adding search string node, skipping .... */ fprintf(stderr,"%s %s\n", msg_nomem_sc, tmpbuf); } return; } /*********************************************/ /* GET_DOMAIN - Get domain portion of host */ /*********************************************/ char *get_domain(char *str) { char *cp; int i=group_domains+1; if (isipaddr(str)) return NULL; cp = str+strlen(str)-1; while (cp!=str) { if (*cp=='.') if (!(--i)) return ++cp; cp--; } return cp; } /*********************************************/ /* AGENT_MANGLE - Re-format user agent */ /*********************************************/ void agent_mangle(char *str) { char *cp1, *cp2, *cp3; str=cp2=log_rec.agent; cp1=strstr(str,"ompatible"); /* check known fakers */ if (cp1!=NULL) { while (*cp1!=';'&&*cp1!='\0') cp1++; /* kludge for Mozilla/3.01 (compatible;) */ if (*cp1++==';' && strcmp(cp1,")\"")) /* success! */ { /* Opera can hide as MSIE */ cp3=strstr(str,"Opera"); if (cp3!=NULL) { while (*cp3!='.'&&*cp3!='\0') { if(*cp3=='/') *cp2++=' '; else *cp2++=*cp3; cp3++; } cp1=cp3; } else { while (*cp1 == ' ') cp1++; /* eat spaces */ while (*cp1!='.'&&*cp1!='\0'&&*cp1!=';') *cp2++=*cp1++; } if (mangle_agent<5) { while (*cp1!='.'&&*cp1!=';'&&*cp1!='\0') *cp2++=*cp1++; if (*cp1!=';'&&*cp1!='\0') { *cp2++=*cp1++; *cp2++=*cp1++; } } if (mangle_agent<4) if (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++; if (mangle_agent<3) while (*cp1!=';'&&*cp1!='\0'&&*cp1!='('&&*cp1!=' ') *cp2++=*cp1++; if (mangle_agent<2) { /* Level 1 - try to get OS */ cp1=strstr(cp1,")"); if (cp1!=NULL) { *cp2++=' '; *cp2++='('; while (*cp1!=';'&&*cp1!='('&&cp1!=str) cp1--; if (cp1!=str&&*cp1!='\0') cp1++; while (*cp1==' '&&*cp1!='\0') cp1++; while (*cp1!=')'&&*cp1!='\0') *cp2++=*cp1++; *cp2++=')'; } } *cp2='\0'; } else { /* nothing after "compatible", should we mangle? */ /* not for now */ } } else { cp1=strstr(str,"Opera"); /* Opera flavor */ if (cp1!=NULL) { while (*cp1!='/'&&*cp1!=' '&&*cp1!='\0') *cp2++=*cp1++; while (*cp1!='.'&&*cp1!='\0') { if(*cp1=='/') *cp2++=' '; else *cp2++=*cp1; cp1++; } if (mangle_agent<5) { while (*cp1!='.'&&*cp1!='\0') *cp2++=*cp1++; *cp2++=*cp1++; *cp2++=*cp1++; } if (mangle_agent<4) if (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++; if (mangle_agent<3) while (*cp1!=' '&&*cp1!='\0'&&*cp1!='(') *cp2++=*cp1++; if (mangle_agent<2) { cp1=strstr(cp1,"("); if (cp1!=NULL) { cp1++; *cp2++=' '; *cp2++='('; while (*cp1!=';'&&*cp1!=')'&&*cp1!='\0') *cp2++=*cp1++; *cp2++=')'; } } *cp2='\0'; } else { cp1=strstr(str,"Mozilla"); /* Netscape flavor */ if (cp1!=NULL) { while (*cp1!='/'&&*cp1!=' '&&*cp1!='\0') *cp2++=*cp1++; if (*cp1==' ') *cp1='/'; while (*cp1!='.'&&*cp1!='\0') *cp2++=*cp1++; if (mangle_agent<5) { while (*cp1!='.'&&*cp1!='\0') *cp2++=*cp1++; *cp2++=*cp1++; *cp2++=*cp1++; } if (mangle_agent<4) if (*cp1>='0'&&*cp1<='9') *cp2++=*cp1++; if (mangle_agent<3) while (*cp1!=' '&&*cp1!='\0'&&*cp1!='(') *cp2++=*cp1++; if (mangle_agent<2) { /* Level 1 - Try to get OS */ cp1=strstr(cp1,"("); if (cp1!=NULL) { cp1++; *cp2++=' '; *cp2++='('; while (*cp1!=';'&&*cp1!=')'&&*cp1!='\0') *cp2++=*cp1++; *cp2++=')'; } } *cp2='\0'; } } } } /*********************************************/ /* OUR_GZGETS - enhanced gzgets for log only */ /*********************************************/ char *our_gzgets(void *fp, char *buf, int size) { char *out_cp=buf; /* point to output */ while (1) { if (f_cp>(f_buf+f_end-1)) /* load? */ { #ifdef USE_BZIP f_end=(gz_log==COMP_BZIP)? BZ2_bzread(fp, f_buf, GZ_BUFSIZE): gzread(fp, f_buf, GZ_BUFSIZE); #else f_end=gzread(fp, f_buf, GZ_BUFSIZE); #endif if (f_end<=0) return Z_NULL; f_cp=f_buf; } if (--size) /* more? */ { *out_cp++ = *f_cp; if (*f_cp++ == '\n') { *out_cp='\0'; return buf; } } else { *out_cp='\0'; return buf; } } } #ifdef USE_BZIP /*********************************************/ /* bz2_rewind - our 'rewind' for bz2 files */ /*********************************************/ int bz2_rewind( void **fp, char *fname, char *mode ) { BZ2_bzclose( *fp ); *fp = BZ2_bzopen( fname, "rb"); f_cp=f_buf+GZ_BUFSIZE; f_end=0; /* reset buffer counters */ memset(f_buf, 0, sizeof(f_buf)); if (*fp == Z_NULL) return -1; else return 0; } #endif /* USE_BZIP */ /*********************************************/ /* ISIPADDR - Determine if str is IP address */ /*********************************************/ int isipaddr(char *str) { int i=1,j=0; char *cp; /* generic ptr */ if (strchr(str,':')!=NULL) { /* Possible IPv6 Address */ cp=str; while (strchr(":.abcdef0123456789",*cp)!=NULL && *cp!='\0') { if (*cp=='.') j++; if (*cp++==':') i++; } if (*cp!='\0') return -1; /* bad hostname (has ':') */ if (i>1 && j) return 2; /* IPv4/IPv6 */ return 3; /* IPv6 */ } else { /* Not an IPv6 address, check for IPv4 */ cp=str; while (strchr(".0123456789",*cp)!=NULL && *cp!='\0') { if (*cp++=='.') i++; } if (*cp!='\0') return 0; /* hostname */ if (i!=4) return -1; /* bad hostname */ return 1; /* IPv4 */ } } /*****************************************************************/ /* */ /* JDATE - Julian date calculator */ /* */ /* Calculates the number of days since Jan 1, 0000. */ /* */ /* Originally written by Bradford L. Barrett (03/17/1988) */ /* Returns an unsigned long value representing the number of */ /* days since January 1, 0000. */ /* */ /* Note: Due to the changes made by Pope Gregory XIII in the */ /* 16th Centyry (Feb 24, 1582), dates before 1583 will */ /* not return a truely accurate number (will be at least */ /* 10 days off). Somehow, I don't think this will */ /* present much of a problem for most situations :) */ /* */ /* Usage: days = jdate(day, month, year) */ /* */ /* The number returned is adjusted by 5 to facilitate day of */ /* week calculations. The mod of the returned value gives the */ /* day of the week the date is. (ie: dow = days % 7 ) where */ /* dow will return 0=Sunday, 1=Monday, 2=Tuesday, etc... */ /* */ /*****************************************************************/ u_int64_t jdate( int day, int month, int year ) { u_int64_t days; /* value returned */ int mtable[] = {0,31,59,90,120,151,181,212,243,273,304,334}; /* First, calculate base number including leap and Centenial year stuff */ days=(((u_int64_t)year*365)+day+mtable[month-1]+ ((year+4)/4) - ((year/100)-(year/400))); /* now adjust for leap year before March 1st */ if ((year % 4 == 0) && !((year % 100 == 0) && (year % 400 != 0)) && (month < 3)) --days; /* done, return with calculated value */ return(days+5); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/webalizer.h�����������������������������������������������������������������������0000644�0001750�0001750�00000036060�11454021220�014401� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef _WEBALIZER_H #define _WEBALIZER_H #define PCENT(val,max) ((val)?((double)val/(double)max)*100.0 : 0.0) #define IDX_2C(c1,c2) (((c1-'a'+1)<<7)+(c2-'a'+1) ) #define IDX_3C(c1,c2,c3) (((c1-'a'+1)<<12)+((c2-'a'+1)<<7)+(c3-'a'+1) ) #define IDX_4C(c1,c2,c3,c4) (((c1-'a'+1)<<17)+((c2-'a'+1)<<12)+((c3-'a'+1)<<7)+(c4-'a'+1) ) #define IDX_5C(c1,c2,c3,c4,c5) (((c1-'a'+1)<<22)+((c2-'a'+1)<<17)+((c3-'a'+1)<<12)+((c4-'a'+1)<<7)+(c5-'a'+1) ) #define IDX_6C(c1,c2,c3,c4,c5,c6) (((c1-'a'+1)<<27)+((c2-'a'+1)<<22)+((c3-'a'+1)<<17)+((c4-'a'+1)<<12)+((c5-'a'+1)<<7)+(c6-'a'+1) ) #ifndef MAX #define MAX(a,b) ((a) > (b) ? (a) : (b)) #endif #define MAXHASH 4096 /* Size of our hash tables */ #define BUFSIZE 4096 /* Max buffer size for log record */ #define MAXHOST 128 /* Max hostname buffer size */ #define MAXURL 4096 /* Max HTTP request/URL field size */ #define MAXURLH 512 /* Max URL field size in htab */ #define MAXREF 1024 /* Max referrer field size */ #define MAXREFH 256 /* Max referrer field size in htab */ #define MAXAGENT 128 /* Max user agent field size */ #define MAXCTRY 48 /* Max country name size */ #define MAXSRCH 256 /* Max size of search string buffer */ #define MAXSRCHH 128 /* Max size of search str in htab */ #define MAXIDENT 64 /* Max size of ident string (user) */ #define MAXKWORD 32 /* Max size of config keyword */ #define MAXKVAL 132 /* Max size of config value */ #define HISTSIZE 120 /* Size of history in months */ #define GRAPHMAX 72 /* Max months in index graph */ #define SLOP_VAL 3600 /* out of sequence slop (seconds) */ /* Log types */ #define LOG_CLF 0 /* CLF/combined log type */ #define LOG_FTP 1 /* wu-ftpd xferlog type */ #define LOG_SQUID 2 /* squid proxy log */ #define LOG_W3C 3 /* W3C extended log format */ /* compression */ #define COMP_NONE 0 #define COMP_GZIP 1 #define COMP_BZIP 2 /* Response code defines as per draft ietf HTTP/1.1 rev 6 */ #define RC_CONTINUE 100 #define RC_SWITCHPROTO 101 #define RC_OK 200 #define RC_CREATED 201 #define RC_ACCEPTED 202 #define RC_NONAUTHINFO 203 #define RC_NOCONTENT 204 #define RC_RESETCONTENT 205 #define RC_PARTIALCONTENT 206 #define RC_MULTIPLECHOICES 300 #define RC_MOVEDPERM 301 #define RC_MOVEDTEMP 302 #define RC_SEEOTHER 303 #define RC_NOMOD 304 #define RC_USEPROXY 305 #define RC_MOVEDTEMPORARILY 307 #define RC_BAD 400 #define RC_UNAUTH 401 #define RC_PAYMENTREQ 402 #define RC_FORBIDDEN 403 #define RC_NOTFOUND 404 #define RC_METHODNOTALLOWED 405 #define RC_NOTACCEPTABLE 406 #define RC_PROXYAUTHREQ 407 #define RC_TIMEOUT 408 #define RC_CONFLICT 409 #define RC_GONE 410 #define RC_LENGTHREQ 411 #define RC_PREFAILED 412 #define RC_REQENTTOOLARGE 413 #define RC_REQURITOOLARGE 414 #define RC_UNSUPMEDIATYPE 415 #define RC_RNGNOTSATISFIABLE 416 #define RC_EXPECTATIONFAILED 417 #define RC_SERVERERR 500 #define RC_NOTIMPLEMENTED 501 #define RC_BADGATEWAY 502 #define RC_UNAVAIL 503 #define RC_GATEWAYTIMEOUT 504 #define RC_BADHTTPVER 505 /* Index defines for RC codes */ #define IDX_UNDEFINED 0 #define IDX_CONTINUE 1 #define IDX_SWITCHPROTO 2 #define IDX_OK 3 #define IDX_CREATED 4 #define IDX_ACCEPTED 5 #define IDX_NONAUTHINFO 6 #define IDX_NOCONTENT 7 #define IDX_RESETCONTENT 8 #define IDX_PARTIALCONTENT 9 #define IDX_MULTIPLECHOICES 10 #define IDX_MOVEDPERM 11 #define IDX_MOVEDTEMP 12 #define IDX_SEEOTHER 13 #define IDX_NOMOD 14 #define IDX_USEPROXY 15 #define IDX_MOVEDTEMPORARILY 16 #define IDX_BAD 17 #define IDX_UNAUTH 18 #define IDX_PAYMENTREQ 19 #define IDX_FORBIDDEN 20 #define IDX_NOTFOUND 21 #define IDX_METHODNOTALLOWED 22 #define IDX_NOTACCEPTABLE 23 #define IDX_PROXYAUTHREQ 24 #define IDX_TIMEOUT 25 #define IDX_CONFLICT 26 #define IDX_GONE 27 #define IDX_LENGTHREQ 28 #define IDX_PREFAILED 29 #define IDX_REQENTTOOLARGE 30 #define IDX_REQURITOOLARGE 31 #define IDX_UNSUPMEDIATYPE 32 #define IDX_RNGNOTSATISFIABLE 33 #define IDX_EXPECTATIONFAILED 34 #define IDX_SERVERERR 35 #define IDX_NOTIMPLEMENTED 36 #define IDX_BADGATEWAY 37 #define IDX_UNAVAIL 38 #define IDX_GATEWAYTIMEOUT 39 #define IDX_BADHTTPVER 40 #define TOTAL_RC 41 #ifdef USE_DNS #include <netinet/in.h> /* needed for in_addr structure definition */ #ifndef INADDR_NONE #define INADDR_NONE 0xFFFFFFFF #endif /* INADDR_NONE */ #endif /* Response code structure */ struct response_code { char *desc; /* code description */ u_int64_t count; }; /* hit counter */ /* Country code structure */ struct country_code {u_int64_t idx; /* TLD index number */ char *desc; /* TLD description */ u_int64_t count; /* hit counter */ u_int64_t files; /* file counter */ double xfer; }; /* xfer amt counter */ typedef struct country_code *CLISTPTR; /* log record structure */ struct log_struct { char hostname[MAXHOST]; /* hostname */ char datetime[29]; /* raw timestamp */ char url[MAXURL]; /* raw request field */ int resp_code; /* response code */ u_int64_t xfer_size; /* xfer size in bytes */ char refer[MAXREF]; /* referrer */ char agent[MAXAGENT]; /* user agent (browser) */ char srchstr[MAXSRCH]; /* search string */ char ident[MAXIDENT]; }; /* ident string (user) */ extern struct log_struct log_rec; extern char *version ; /* program version */ extern char *editlvl ; /* edit level */ extern char *moddate ; /* modification date */ extern char *copyright ; extern int verbose ; /* 2=verbose,1=err, 0=none */ extern int debug_mode ; /* debug mode flag */ extern int time_me ; /* timing display flag */ extern int local_time ; /* 1=localtime 0=GMT (UTC) */ extern int hist_gap ; /* hist error, save backup */ extern int ignore_hist ; /* history flag (1=skip) */ extern int ignore_state ; /* state fiag (1=skip) */ extern int hourly_graph ; /* hourly graph display */ extern int hourly_stats ; /* hourly stats table */ extern int daily_graph ; /* daily graph display */ extern int daily_stats ; /* daily stats table */ extern int ctry_graph ; /* country graph display */ extern int shade_groups ; /* Group shading 0=no 1=yes */ extern int hlite_groups ; /* Group hlite 0=no 1=yes */ extern int mangle_agent ; /* mangle user agents */ extern int incremental ; /* incremental mode 1=yes */ extern int use_https ; /* use 'https://' on URLs */ extern int htaccess ; /* create .htaccess? (0=no) */ extern int visit_timeout; /* visit timeout (30 min) */ extern int graph_legend ; /* graph legend (1=yes) */ extern int graph_lines ; /* graph lines (0=none) */ extern int fold_seq_err ; /* fold seq err (0=no) */ extern int log_type ; /* (0=clf, 1=ftp, 2=squid) */ extern int group_domains; /* Group domains 0=none */ extern int hide_sites ; /* Hide ind. sites (0=no) */ extern int graph_mths ; /* # months in index graph */ extern int index_mths ; /* # months in index table */ extern int year_hdrs ; /* Show year headers (0=no) */ extern int year_totals ; /* Show year totals (0=no) */ extern int use_flags ; /* Show flags in ctry table */ extern char *flag_dir ; /* flag directory */ extern char *hname ; /* hostname for reports */ extern char *state_fname ; /* run state file name */ extern char *hist_fname ; /* name of history file */ extern char *html_ext ; /* HTML file prefix */ extern char *dump_ext ; /* Dump file prefix */ extern char *conf_fname ; /* name of config file */ extern char *log_fname ; /* log file pointer */ extern char *out_dir ; /* output directory */ extern char *blank_str ; /* blank string */ extern char *dns_cache ; /* DNS cache file name */ extern int geodb ; /* Use GeoDB flag (0=no) */ extern int dns_children ; /* # of DNS children */ extern int cache_ips ; /* Cache IP addrs (0=no) */ extern int cache_ttl ; /* Cache entry TTL (days) */ extern int link_referrer; /* link referrer (0=no) */ extern int trimsquid ; /* trim squid URLs (0=none) */ extern int searchcasei ; /* case insensitive search */ extern int ntop_sites ; /* top n sites to display */ extern int ntop_sitesK ; /* top n sites (by kbytes) */ extern int ntop_urls ; /* top n url's to display */ extern int ntop_urlsK ; /* top n url's (by kbytes) */ extern int ntop_entry ; /* top n entry url's */ extern int ntop_exit ; /* top n exit url's */ extern int ntop_refs ; /* top n referrers "" */ extern int ntop_agents ; /* top n user agents "" */ extern int ntop_ctrys ; /* top n countries "" */ extern int ntop_search ; /* top n search strings */ extern int ntop_users ; /* top n users to display */ extern int all_sites ; /* List All sites (0=no) */ extern int all_urls ; /* List All URLs (0=no) */ extern int all_refs ; /* List All Referrers */ extern int all_agents ; /* List All User Agents */ extern int all_search ; /* List All Search Strings */ extern int all_users ; /* List All Usernames */ extern int dump_sites ; /* Dump tab delimited sites */ extern int dump_urls ; /* URLs */ extern int dump_refs ; /* Referrers */ extern int dump_agents ; /* User Agents */ extern int dump_users ; /* Usernames */ extern int dump_search ; /* Search strings */ extern int dump_header ; /* Dump header as first rec */ extern char *dump_path ; /* Path for dump files */ extern u_int64_t cur_tstamp; /* Current timestamp */ extern u_int64_t epoch; /* used for timestamp adj. */ extern int check_dup; /* check for dups flag */ extern int cur_year,cur_month, /* year/month/day/hour */ cur_day, cur_hour, /* tracking variables */ cur_min, cur_sec; extern double t_xfer; /* monthly total xfer value */ extern u_int64_t t_hit, t_file, t_site, /* monthly total vars */ t_url, t_ref, t_agent, t_page,t_visit,t_user; extern double tm_xfer[31]; /* daily transfer totals */ extern u_int64_t tm_hit[31], tm_file[31], /* daily total arrays */ tm_site[31],tm_page[31], tm_visit[31]; extern u_int64_t dt_site; /* daily 'sites' total */ extern u_int64_t ht_hit,mh_hit; /* hourly hits totals */ extern u_int64_t th_hit[24], th_file[24], /* hourly total arrays */ th_page[24]; extern double th_xfer[24]; /* hourly xfer array */ extern int f_day,l_day; /* first/last day vars */ extern int gz_log; /* flag for zipped log */ extern CLISTPTR *top_ctrys; /* Top countries table */ extern char hit_color[]; /* graph hit color */ extern char file_color[]; /* graph file color */ extern char site_color[]; /* graph site color */ extern char kbyte_color[]; /* graph kbyte color */ extern char page_color[]; /* graph page color */ extern char visit_color[]; /* graph visit color */ extern char misc_color[]; /* graph misc color */ extern char pie_color1[]; /* pie additionnal color 1 */ extern char pie_color2[]; /* pie additionnal color 2 */ extern char pie_color3[]; /* pie additionnal color 3 */ extern char pie_color4[]; /* pie additionnal color 4 */ /* define our externally visable functions */ extern char *cur_time(); extern u_int64_t ctry_idx(char *); extern char *un_idx(u_int64_t); extern void init_counters(); extern int ispage(char *); extern u_int64_t jdate(int,int,int); extern char from_hex(char); extern int isipaddr(char *); #endif /* _WEBALIZER_H */ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/webalizer.png���������������������������������������������������������������������0000644�0001750�0001750�00000002345�10771016751�014753� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������┴PNG  ��� IHDR���X������TЗр���gAMA��╠▐ Эa���юPLTE╩─┬б÷╧╢▄╝▄d╞┴nфnZ╠mXпF7Ю-%Д В#ПSQЛSQк��ЪЭЗЛ55ТddАxxМ┐┐Х≥≥э╔╔И╟╟з└└╓ооГ▐▐÷ффыЪ⌡7Ъ╓HЧ╨vЩх⌠О Sп≥≈Э О11ъaaж|{ЪЪЪБББшшшуууооокккхххфффееебббююю╖╖╖···∙∙∙▓▓▓▌▌▌▀▀▀┴┴┴┘┘┘eee ���нZя⌠��пIDATx°╣√}Wё:ф[CKуvhМщ╚ЮХ∙Вv╜╜юЙНВЪV;о$║`щН9Ш⌡L^Ь%лd┌ё_ЪG?ъъ~ТТЖЖЧСЦ■я╞ЪЧ┼Ч╦aП╝')w÷Iйчюv[+ёu├╒(╚-KUм8ёp'cM▀╩Ч0┼бм \Ф #'╔бкР╒,кбУ≤·Ц8СжM█~╢vdйЯGpBе╪nZ-,Q}▌ХА░Пqф╗#╙як(чяЖM/°{·Л╣╥d╟бВ©Q9В╪u^жУG╟▄б{#7Dj"·\G2d_TE√z�ъ%I╒╥> le|╧/^оюЯ≤]╠ё²*ПFОX▓╣с≤rРПу▄┼─~3юWЫЯ ▄≈ep╦QЮX╒d┤XNE░|║аi ╟kQЯH?ШЗ`▓+$эA;F╫ ≥├\гАн─3NШ`ж*?(ПЖ≥┐уkюS▒Нiшfн▌╜⌡ьv=D╞W²б┼U╡╔h8ПфV╖|ц=Uы>ЬЮ▒?[+гqжфД|╗бД÷Ыс2╙┤&╢ЧГЮ╘уВ╠Jпu╨╕Р>e⌡hP▒Рukz╡иh4И│ГЮ≈згщ▌кЭ г/A8Нжr3з5m-кL╬ дjТ�f÷│┘"╩≥9гE├C╡xBИ╜`.с▄е!В╗▒╥,ъВя⌠лl[$÷юi▓<Fъ⌠$М│уяA▓zl╝О=ж=р╔╥LД+)L9|║:&)м²[√░│же■ФЖю╪MF:jС▌нн╞зmНК\6┐÷╗*┐Г┴·{iнqъ)_(▄бtГи,qOН▒╞3{[б╡▄■фэ L╧╔"/j╪Тjя≈;�Ёw·┘EО9�▐ТтЕ©�;S ╤ПbщМF┴╜_]Uк'ЁDЧЧ(╖ТЬ$Яln╥е²Ъпi,л}\ИХИ#D╠Ц#z_;╟╔О│1[2ь╠HК)t∙Ы┌luТт╒┬t▒²Хw▄ X0@с`оglш6 ╦≤°лю≥ ╛цwЛТBШМз┘▐я3Т1Z28ПдлM^²>╕╦9zс─+7M╣ЁRв7Ш≥╤т9C╣g┐╧╒-p╞П╤х9zбg'/Ёl╘fO░g╥7▀⌡u╫╧]э О╖tНоm┘Ш╙сщ▓5■╝HY÷>╢tI═╘т ©[Ngn"в[3Ьп╒╘&#ГШЮ╕╘Квцкк~Ъ╒┼┴ хT/<╝L╔}╞ы≥┤Цk]7│Qу└ж:р╜#KUf╗gКqу>Y╣ФlЧ}└╦|g╫УuчсLКЧКЭ ngwse│����IEND╝B`┌�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/�����������������������������������������������������������������������������0000755�0001750�0001750�00000000000�11551757724�013207� 5����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.albanian������������������������������������������������������0000644�0001750�0001750�00000115132�11032527214�017645� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.albanian Kartelц╚ Mbulimi Gjuhц╚sor pц╚r Shqipen pц╚r Webalizer V2.0x. 06-Mar-2006 nga Besnik Bleta besnik@programeshqip.org) 12-May-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ /* char *language = "Shqip"; */ char *language = "Albanian"; char *langcode = "sq"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "regjistrime"; char *msg_addresses="vendndodhje"; char *msg_ignored = "shpц╚rfillur"; char *msg_bad = "i dц╚mtuar"; char *msg_in = "nц╚"; char *msg_seconds = "sekonda"; /* mesazhi gabimi gjatц╚ rregullimit dhe ecurisц╚ */ char *msg_log_err = "Gabim: S'hap dot kartelц╚ regjistrimesh"; char *msg_log_use = "Po pц╚rdor kartelц╚ regjistrimesh"; char *msg_dir_err = "Gabim: S'ndryshoj dot drejtorinц╚ nц╚"; char *msg_dir_use = "Po krijoj pц╚rfundimet nц╚"; char *msg_cur_dir = "drejtorinц╚ e ц╖astit"; char *msg_hostname= "Strehц╚emri pц╚r raportime ц╚shtц╚"; char *msg_ign_hist= "Po shpц╚rfill historikun e mц╚parshц╚m..."; char *msg_no_hist = "Nuk u gjet kartelц╚ historiku..."; char *msg_get_hist= "Po lexoj kartelц╚ historiku..."; char *msg_put_hist= "Po ruaj tц╚ dhц╚na historiku..."; char *msg_hist_err= "Gabim: I pazoti tц╚ shkruaj kartelц╚ historiku"; char *msg_bad_hist= "Gabim: Po shpц╚rfill regjistrime tц╚ pavlefshц╚m historiku"; char *msg_bad_conf= "Gabim: I pazoti tц╚ hap kartelц╚ formц╚simi"; char *msg_bad_key = "Kujdes: Fjalц╚kyц╖ i pavlefshц╚m"; char *msg_bad_date= "Gabim: Po anashkaloj regjistrime (datц╚ e gabuar)"; char *msg_ign_nscp= "Po anashkaloj regjistrim titujsh Netscape"; char *msg_bad_rec = "Po anashkaloj regjistrim tц╚ dц╚mtuar"; char *msg_no_vrec = "Nuk u gjetц╚n regjistrime tц╚ vlefshц╚m!"; char *msg_gen_rpt = "Po prodhoj raport pц╚r"; char *msg_gen_sum = "Po prodhoj raport pц╚rmbledhц╚s"; char *msg_get_data= "Po lexoj tц╚ dhц╚na tц╚ mц╚parshme xhirimi.."; char *msg_put_data= "Po ruaj tц╚ dhц╚na tц╚ tanishme xhirimi..."; char *msg_no_data = "nuk u gjetц╚n tц╚ dhц╚na tц╚ mц╚parshme xhirimi..."; char *msg_bad_data= "Gabim: I pazoti tц╚ rikthej tц╚ dhц╚na xhirimi"; char *msg_data_err= "Gabim: I pazoti tц╚ ruaj tц╚ dhц╚na tц╚ tanishme xhirimi"; char *msg_dup_data= "Kujdes: Ka gjasa tц╚ jenц╚ gjendur tц╚ dhц╚na tц╚ pц╚rsц╚ritura"; /* Gjц╚ra DNS */ char *msg_dns_nocf= "Nuk u tregua kartelц╚ fshehtine, po e ndц╚rpres..."; char *msg_dns_nodb= "Error: I pazoti tц╚ hap kartelц╚ fshehtine DNS"; char *msg_dns_nolk= "Error: I pazoti tц╚ kyц╖ kartelц╚ fshehtine DNS"; char *msg_dns_usec= "Po pц╚rdor kartelц╚ fshehtine DNS"; char *msg_dns_rslv= "Kц╚rkim DNS"; char *msg_dns_none= "Asnjц╚ pц╚r t'u pц╚rpunuar"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* gabime sigurimi kujtese */ char *msg_nomem_ts= "Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua \"Site\"-e Kryesues!"; char *msg_nomem_tr= "Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua Pц╚rmendц╚sa Kryesues!"; char *msg_nomem_tu= "Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua URL-ra Kryesuese!"; char *msg_nomem_tc= "Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua Vende Kryesues!"; char *msg_nomem_ta= "Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua Agjentц╚ Kryesues Pц╚rdoruesi!"; char *msg_nomem_tsr="Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua Vargje Kryesuese Kц╚rkimi!"; char *msg_nomem_ti= "Nuk siguroj dot kujtesц╚ tц╚ mjaftueshme, U ц╖aktivizua Emra Kryesues Pц╚rdoruesi!"; char *msg_nomem_dh= "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r strehц╚ (pц╚rditц╚), po e anashkaloj"; char *msg_nomem_mh= "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r strehц╚ (ц╖do muaj), po e anashkaloj"; char *msg_nomem_u = "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r URL, po e anashkaloj"; char *msg_nomem_a = "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r Agjent Pц╚rdoruesi, po e anashkaloj"; char *msg_nomem_r = "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r Pц╚rmendц╚s, po e anashkaloj"; char *msg_nomem_sc= "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r Varg Kц╚rkimi, po e anashkaloj"; char *msg_nomem_i = "Gabim gjatц╚ shtimit tц╚ nyjes pц╚r Emц╚r pц╚rdoruesi, po e anashkaloj"; /* gabime zц╚rash regjistrimi */ char *msg_big_rec = "Gabim: Po anashkolaj regjistrim mц╚ tц╚ madh se ц╖'duhet"; char *msg_big_host= "Kujdes: Po cungoj emц╚r strehe mц╚ tц╚ madh se ц╖'duhet"; char *msg_big_date= "Kujdes: Po cungoj kuti date mц╚ tц╚ madhe se ц╖'duhet"; char *msg_big_req = "Kujdes: Po cungoj kuti kц╚rkese mц╚ tц╚ madhe se ц╖'duhet"; char *msg_big_ref = "Kujdes: Po cungoj kuti pц╚rmendц╚si mц╚ tц╚ madhe se ц╖'duhet"; char *msg_big_user= "Kujdes: Po cungoj emц╚r pц╚rdoruesi mц╚ tц╚ madh se ц╖'duhet"; char *msg_big_one = "Kujdes: Vargu tejkalon masц╚n e lejuar"; /* gabime tц╚ ndryshц╚m */ char *msg_no_open = "Gabim: I pazoti tц╚ hap kartelц╚n"; /* Shfaqje e ndihmц╚s... */ char *h_usage1 = "Pц╚rdorimi"; char *h_usage2 = "[mundц╚si] [kartelц╚ regjistrimi]"; char *h_msg[]= { "-h = shtyp kц╚tц╚ mesazh ndihme" , "-V = shtyp tц╚ dhц╚na versioni" , "-v = be verbose" , "-d = shtyp tц╚ dhц╚na shtesц╚ diagnostikimi" , "-F type = Tip regjistrimi. tipi= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = shpц╚rfill kartelц╚ historiku" , "-p = ruaj gjendje (shtues)" , "-b = ignore state (incremental)" , "-q = pa mesazhe informues" , "-Q = pa _ASNJц▀_ mesazh" , "-Y = pa graf vendesh" , "-G = pa graf tц╚ pц╚rorshц╚m" , "-H = pa statistika tц╚ pц╚rorshme" , "-L = pa legjenda me ngjyra pц╚r grafin" , "-l num = pц╚rdor nц╚ graf rreshta sfondi numrash", "-m num = Vlerц╚ skadimi vizite (sekonda)" , "-T = print timing information" , "-c file = pц╚rdor kartelц╚n e formц╚simit 'kartelц╚'", "-n name = emц╚r strehe pц╚r t'u pц╚rdorur" , "-o dir = drejtori pц╚r t'u pц╚rdorur pц╚r pц╚rfundime", "-t name = titull raporti 'emц╚r'" , "-a name = fshih agjentin e pц╚rdoruesi 'emц╚r'" , "-r name = fshih pц╚rmendц╚sin 'emц╚r'" , "-s name = fshih \"site\"-in 'emц╚r'" , "-u name = fshih URL-nц╚ 'emц╚r'" , "-x name = Pц╚rdor zgjerim emц╚r kartelash 'emц╚r'", "-O name = Omit page 'name'" , "-P name = Zgjerim tipi faqesh 'emц╚r'" , "-I name = Alias treguesi 'emц╚r'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Shfaq num agjentц╚sh kryesues" , "-C num = Shfaq num vendesh kryesuese" , "-R num = Shfaq num pц╚rmendц╚sish kryesues" , "-S num = Shfaq num \"site\"-esh kryesues" , "-U num = Shfaq num URL-sh kryesuese" , "-e num = Shfaq num Faqesh Fillimi kryesuese" , "-E num = Shfaq num Faqesh Daljeje kryesues" , "-g num = Grupo Pц╚rkatц╚sitц╚ nц╚ 'num' nivele" , "-X = Fshih \"site\"-e individualц╚" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Pц╚rdor kartelц╚ fshehtine DNS 'emц╚r'" , "-N num = Numц╚r procesesh DNS (0=ц╖aktivizoje)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoIP database 'emц╚r'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'emц╚r'" , #endif NULL}; /***********************************************************************/ /* */ /* Vargje HTML */ /* */ /* Kц╚ta vargje pц╚rdoren si pjesц╚ e pц╚rfundimit HTML tц╚ prodhuar nga */ /* Webalizer-i. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Periudhц╚ Pц╚rmbledhц╚se"; char *msg_hhdr_gt = "Prodhuar"; /* main index strings */ char *msg_main_us = "Pц╚rmbledhje pц╚rdorimi pц╚r"; /* char *msg_main_per= "12 Muajt e Fundit"; */ char *msg_main_per= "Pц╚rmbledhje sipas Muajsh"; char *msg_main_sum= "Pц╚rmbledhje sipas Muajsh"; char *msg_main_da = "Mes. Ditore"; char *msg_main_mt = "Tц╚rц╚si Pц╚rmujore"; /* month HTML page strings */ char *msg_hmth_du = "Pц╚rdorim ditor pц╚r"; char *msg_hmth_hu = "Pц╚rdorim i pц╚rorshц╚m pц╚r"; /* vargje titujsh tabelash */ char *msg_h_by = "Nga"; char *msg_h_avg = "Mes"; char *msg_h_max = "Maks"; char *msg_h_total = "Gjithsej"; char *msg_h_totals= "Tц╚rц╚si"; char *msg_h_day = "Ditц╚"; char *msg_h_mth = "Muaj"; char *msg_h_hour = "Orц╚"; char *msg_h_hits = "Hapje"; char *msg_h_pages = "Faqe"; char *msg_h_visits= "Vizita"; char *msg_h_files = "Kartela"; char *msg_h_sites = "\"Site\"-e"; char *msg_h_xfer = "KBajt"; char *msg_h_hname = "Emц╚rstrehц╚"; char *msg_h_url = "URL"; char *msg_h_agent = "Agjent Pц╚rdoruesi"; char *msg_h_ref = "Pц╚rmendц╚s"; char *msg_h_ctry = "Vend"; char *msg_h_search= "Varg Kц╚rkimesh"; char *msg_h_uname = "Emц╚r Pц╚rdoruesi"; /* lidhje pц╚rgjatц╚ kryesh faqeje */ char *msg_hlnk_ds = "Statistika Ditore"; char *msg_hlnk_hs = "Statistika ц╖do Orц╚"; char *msg_hlnk_u = "URL-ra"; char *msg_hlnk_s = "\"Site\"-e"; char *msg_hlnk_a = "Agjentц╚"; char *msg_hlnk_c = "Vende"; char *msg_hlnk_r = "Pц╚rmendц╚sa"; char *msg_hlnk_en = "Hyrje"; char *msg_hlnk_ex = "Dalje"; char *msg_hlnk_sr = "Kц╚rkim"; char *msg_hlnk_i = "Pц╚rdoruesa"; /* tabelц╚ tц╚rц╚sie mujore */ char *msg_mtot_ms = "Statistika Mujore pц╚r"; char *msg_mtot_th = "Hapje Gjithsej"; char *msg_mtot_tf = "Kartela Gjithsej"; char *msg_mtot_tx = "KBajt Gjithsej"; char *msg_mtot_us = "\"Site\"-e Unikц╚ Gjithsej"; char *msg_mtot_ur = "Pц╚rmendц╚sa Unikц╚ Gjithsej"; char *msg_mtot_ua = "Agjentц╚ Unikц╚ Pц╚rdoruesi Gjithsej"; char *msg_mtot_uu = "URL Unike Gjithsej"; char *msg_mtot_ui = "Emra Unikц╚ pц╚rdoruesish Gjithsej"; char *msg_mtot_mhd= "Hapje nц╚ Ditц╚"; char *msg_mtot_mhh= "Hapje nц╚ Orц╚"; char *msg_mtot_mfd= "Kartela nц╚ Ditц╚"; char *msg_mtot_mpd= "Faqe nц╚ Ditц╚"; char *msg_mtot_msd= "\"Site\"-e nц╚ Ditц╚"; char *msg_mtot_mvd= "Vizita nц╚ Ditц╚"; char *msg_mtot_mkd= "KBajt nц╚ Ditц╚"; char *msg_mtot_rc = "Hapje sipas Kodi Pц╚rgjigjesh"; /* tabelц╚ tц╚rц╚sie ditore */ char *msg_dtot_ds = "Statistika Ditore pц╚r"; /* tabelц╚ tц╚rц╚sie sipas orц╚sh */ char *msg_htot_hs = "Statistika tц╚ Pц╚rorshme pц╚r"; /* grafik sipas vendesh */ char *msg_ctry_use= "Pц╚rdorim sipas Vendesh pц╚r"; /* tabela kryesimesh */ /* Formatuar si "xxx kryesues e xxx Tц╚rц╚sisц╚ sц╚ diц╖kaje" */ char *msg_top_top = "Kryesues"; char *msg_top_of = "pц╚r"; char *msg_top_s = "\"Site\"-e Gjithsej"; char *msg_top_u = "URL-ra Gjithsej"; char *msg_top_r = "Pц╚rmendц╚sa Gjithsej"; char *msg_top_a = "Agjentц╚ Pц╚rdoruesish Gjithsej"; char *msg_top_c = "Vende Gjithsej"; char *msg_top_en = "Faqe Hyrjesh Gjithsej"; char *msg_top_ex = "Faqe Daljesh Gjithsej"; char *msg_top_sr = "Vargje Kц╚rkimesh Gjithsej"; char *msg_top_i = "Emra pц╚rdoruesish Gjithsej"; char *msg_v_sites = "Shihni Tц╚rц╚ \"Site\"-et"; char *msg_v_urls = "Shihni Tц╚rц╚ URL-tц╚s"; char *msg_v_refs = "Shihni Tц╚rц╚ Pц╚rmendц╚sit"; char *msg_v_agents= "Shihni Tц╚rц╚ Agjentц╚t e Pц╚rdoruesve"; char *msg_v_search= "Shihni Tц╚rц╚ Vargjet e Kц╚rkimeve"; char *msg_v_users = "Shihni Tц╚rц╚ Emrat e pц╚rdoruesve"; /* emrat e shkurtц╚r pц╚r muajt DUHET Tц▀ JENц▀ 3 SHENJA si madhц╚si... pad if needed*/ char *s_month[12]={ "Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gus", "Sht", "Tet", "Nц╚n", "Dhj"}; /* emra tц╚ gjatц╚ muajsh - gjatц╚si ц╖farц╚do */ char *l_month[12]={ "Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator","Tetor", "Nц╚ntor","Dhjetor"}; /* pц╚rshkrim kode pц╚rgjigjesh... renditja ц▀SHTц▀ e rц╚ndц╚sishme! */ struct response_code response[] = { { "Kod pц╚rgjigjeje tц╚ papц╚rcaktuar", 0 }, { "Kod 100 - Vazhdo", 0 }, { "Kod 101 - Po kц╚mbehen Protokolle", 0 }, { "Kod 200 - OK", 0 }, { "Kod 201 - Krijuar", 0 }, { "Kod 202 - Pranuar", 0 }, { "Kod 203 - Informacion Jo Autoritativ", 0 }, { "Kod 204 - Pa Pц╚rmbajtje", 0 }, { "Kod 205 - Rimerr Pц╚rmbajtje", 0 }, { "Kod 206 - Pц╚rmbajtje e Pjesshme", 0 }, { "Kod 300 - Zgjedhje tц╚ Shumц╚fishta", 0 }, { "Kod 301 - Ikur Pц╚rgjithmonц╚", 0 }, { "Kod 302 - U gjet", 0 }, { "Kod 303 - Shih Tjetц╚r", 0 }, { "Kod 304 - Pa Ndryshim", 0 }, { "Kod 305 - Pц╚rdor Proxy", 0 }, { "Kod 307 - Ikur Pц╚rkohц╚sisht", 0 }, { "Kod 400 - Kц╚rkesц╚ e Fabuar", 0 }, { "Kod 401 - I paautorizuar", 0 }, { "Kod 402 - Lipset Pagesц╚", 0 }, { "Kod 403 - E ndaluar", 0 }, { "Kod 404 - Nuk Gjendet", 0 }, { "Kod 405 - Metodц╚ e Palejuar", 0 }, { "Kod 406 - E papranueshme", 0 }, { "Kod 407 - Lipset Mirц╚filltц╚sim Proxy", 0 }, { "Kod 408 - Skadim Kohe Kц╚rkese", 0 }, { "Kod 409 - Pц╚rplasje", 0 }, { "Kod 410 - Ikur", 0 }, { "Kod 411 - Gjatц╚si e Nevojshme", 0 }, { "Kod 412 - Prakushti Dц╚shtoi", 0 }, { "Kod 413 - Entitet Kц╚rkese Shumц╚ i Gjerц╚", 0 }, { "Kod 414 - URI Kц╚rkese Shumц╚ I gjatц╚", 0 }, { "Kod 415 - Tip I pambuluar Media", 0 }, { "Kod 416 - U kц╚rkua interval qц╚ s'mund tц╚ kц╚naqet", 0 }, { "Kod 417 - Shpresa Nuk u Pwrmbush", 0 }, { "Kod 500 - Gabim i Brendshц╚m Shц╚rbyesi", 0 }, { "Kod 501 - I pa vц╚nц╚ ende nц╚ jetц╚", 0 }, { "Kod 502 - \"Gateway\" i Gabuar", 0 }, { "Kod 503 - Shц╚rbim jo i mundshц╚m", 0 }, { "Kod 504 - Skadim Kohe \"Gateway\"-i", 0 }, { "Kod 505 - Version HTTP i Pambuluar", 0 } }; char *msg_title = "Statistika Pц╚rdorimi pц╚r"; char *msg_h_other = "Tjetц╚r"; /* Kode Vendesh (dikur te ctry.h header file) */ struct country_code ctry[] = { { 0, "I paftilluar/I panjohur", 0,0,0 }, { IDX_3C('c','o','m'), "Tregtar (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Edukativ (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US, Qeveritar (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Ndц╚rkombц╚tar (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US, Ushtarak (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Rrjet (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizц╚m Jofitimprurц╚s (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet stil i vjetц╚r (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Fushц╚ Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emiratet e Bashkuar Arabц╚", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua dhe Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguila", 0,0,0 }, { IDX_2C('a','l'), "Shqipц╚ri", 0,0,0 }, { IDX_2C('a','m'), "Armeni", 0,0,0 }, { IDX_2C('a','n'), "Antilet Holandeze", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktidц╚", 0,0,0 }, { IDX_2C('a','r'), "Argjentinц╚", 0,0,0 }, { IDX_2C('a','s'), "Samoa Amerikane", 0,0,0 }, { IDX_2C('a','t'), "Austri", 0,0,0 }, { IDX_2C('a','u'), "Australi", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaixhan", 0,0,0 }, { IDX_2C('b','a'), "Bosnjц╚ dhe Hercegovinц╚", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgjikц╚", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bullgari", 0,0,0 }, { IDX_2C('b','h'), "Bahrein", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivi", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Butan", 0,0,0 }, { IDX_2C('b','v'), "Ishulli Buve", 0,0,0 }, { IDX_2C('b','w'), "Botsvanц╚", 0,0,0 }, { IDX_2C('b','y'), "Bjellorusi", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Ishujt Kokos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Republika e Afrikц╚s Qendrore", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Zvicц╚r", 0,0,0 }, { IDX_2C('c','i'), "Bregu i Fildishtц╚", 0,0,0 }, { IDX_2C('c','k'), "Ishujt Kuk", 0,0,0 }, { IDX_2C('c','l'), "Kili", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "Kinц╚", 0,0,0 }, { IDX_2C('c','o'), "Kolombi", 0,0,0 }, { IDX_2C('c','r'), "Kosta Rika", 0,0,0 }, { IDX_2C('c','u'), "Kubц╚", 0,0,0 }, { IDX_2C('c','v'), "Kepi i Gjelbц╚r", 0,0,0 }, { IDX_2C('c','x'), "Ishulli i Krishtlindjes", 0,0,0 }, { IDX_2C('c','y'), "Qipro", 0,0,0 }, { IDX_2C('c','z'), "Republika ц┤eke", 0,0,0 }, { IDX_2C('d','e'), "Gjermani", 0,0,0 }, { IDX_2C('d','j'), "Xhibuti", 0,0,0 }, { IDX_2C('d','k'), "Danimarkц╚", 0,0,0 }, { IDX_2C('d','m'), "Dominika", 0,0,0 }, { IDX_2C('d','o'), "Republika Dominikane", 0,0,0 }, { IDX_2C('d','z'), "Algjeri", 0,0,0 }, { IDX_2C('e','c'), "Ekuador", 0,0,0 }, { IDX_2C('e','e'), "Estoni", 0,0,0 }, { IDX_2C('e','g'), "Egjipt", 0,0,0 }, { IDX_2C('e','h'), "Sahara Perц╚ndimore", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spanjц╚", 0,0,0 }, { IDX_2C('e','t'), "Etiopi", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlandц╚", 0,0,0 }, { IDX_2C('f','j'), "Fixhi", 0,0,0 }, { IDX_2C('f','k'), "Ishujt Folkland (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Mikronezi", 0,0,0 }, { IDX_2C('f','o'), "Ishujt Faroe", 0,0,0 }, { IDX_2C('f','r'), "Francц╚", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Britani e Madhe (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Gjeorgji", 0,0,0 }, { IDX_2C('g','f'), "Guajana Franceze", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Gana", 0,0,0 }, { IDX_2C('g','i'), "Gjibraltar", 0,0,0 }, { IDX_2C('g','l'), "Groenlanda", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadalupi", 0,0,0 }, { IDX_2C('g','q'), "Guinea Ekuatoriale", 0,0,0 }, { IDX_2C('g','r'), "Greqi", 0,0,0 }, { IDX_2C('g','s'), "Ishujt S. Jorgjia dhe S. Sandwich", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bisau", 0,0,0 }, { IDX_2C('g','y'), "Gujanц╚", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Ishujt Heard dhe McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroaci", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungari", 0,0,0 }, { IDX_2C('i','d'), "Indonezi", 0,0,0 }, { IDX_2C('i','e'), "Irlandц╚", 0,0,0 }, { IDX_2C('i','l'), "Izrael", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Indi", 0,0,0 }, { IDX_2C('i','o'), "Territoret Britanike tц╚ Oqeanit Indian", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islandц╚", 0,0,0 }, { IDX_2C('i','t'), "Itali", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Xhamaika", 0,0,0 }, { IDX_2C('j','o'), "Jordani", 0,0,0 }, { IDX_2C('j','p'), "Japoni", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "Kirgizstan", 0,0,0 }, { IDX_2C('k','h'), "Kamboxhia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Komoros", 0,0,0 }, { IDX_2C('k','n'), "Shц╚n Kits dhe Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea (e Veriut)", 0,0,0 }, { IDX_2C('k','r'), "Korea (e Jugut)", 0,0,0 }, { IDX_2C('k','w'), "Kuvajt", 0,0,0 }, { IDX_2C('k','y'), "Ishujt Kajman", 0,0,0 }, { IDX_2C('k','z'), "Kazakistan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Liban", 0,0,0 }, { IDX_2C('l','c'), "Shц╚n Luц╖ia", 0,0,0 }, { IDX_2C('l','i'), "Lihtenshtejn", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesoto", 0,0,0 }, { IDX_2C('l','t'), "Lituani", 0,0,0 }, { IDX_2C('l','u'), "Luksemburg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Marok", 0,0,0 }, { IDX_2C('m','c'), "Monako", 0,0,0 }, { IDX_2C('m','d'), "Moldavi", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Ishujt Marshall", 0,0,0 }, { IDX_2C('m','k'), "Maqedoni", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Mianmar", 0,0,0 }, { IDX_2C('m','n'), "Mongoli", 0,0,0 }, { IDX_2C('m','o'), "Makao", 0,0,0 }, { IDX_2C('m','p'), "Ishujt e Marianц╚s Veriore", 0,0,0 }, { IDX_2C('m','q'), "Martinikц╚", 0,0,0 }, { IDX_2C('m','r'), "Mauritani", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauricius", 0,0,0 }, { IDX_2C('m','v'), "Maldive", 0,0,0 }, { IDX_2C('m','w'), "Malaui", 0,0,0 }, { IDX_2C('m','x'), "Meksikц╚", 0,0,0 }, { IDX_2C('m','y'), "Malajzia", 0,0,0 }, { IDX_2C('m','z'), "Mozambik", 0,0,0 }, { IDX_2C('n','a'), "Namibi", 0,0,0 }, { IDX_2C('n','c'), "Kaledonia e Re", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Ishulli Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Holandц╚", 0,0,0 }, { IDX_2C('n','o'), "Norvegji", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Zelandц╚ e Re", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Polinezia Franceze", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filipine", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poloni", 0,0,0 }, { IDX_2C('p','m'), "St. Pier dhe Mikelon", 0,0,0 }, { IDX_2C('p','n'), "Pitkern", 0,0,0 }, { IDX_2C('p','r'), "Porto Riko", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugali", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguaj", 0,0,0 }, { IDX_2C('q','a'), "Katar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumani", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Federata Ruse", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia Saudite", 0,0,0 }, { IDX_2C('s','b'), "Ishujt Solomon", 0,0,0 }, { IDX_2C('s','c'), "Sejshelle", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Suedi", 0,0,0 }, { IDX_2C('s','g'), "Singapor", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Sloveni", 0,0,0 }, { IDX_2C('s','j'), "Ishujt Svalbard dhe Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "Republika Slovake", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somali", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome dhe Principe", 0,0,0 }, { IDX_2C('s','u'), "USSR (tц╚ dikurshц╚m)", 0,0,0 }, { IDX_2C('s','v'), "Salvador", 0,0,0 }, { IDX_2C('s','y'), "Siri", 0,0,0 }, { IDX_2C('s','z'), "Svaziland", 0,0,0 }, { IDX_2C('t','c'), "Ishujt Turq dhe Kaiko", 0,0,0 }, { IDX_2C('t','d'), "ц┤ad", 0,0,0 }, { IDX_2C('t','f'), "Territoret Franceze Jugore", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tailandц╚", 0,0,0 }, { IDX_2C('t','j'), "Taxhikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunizi", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Timori Lindor", 0,0,0 }, { IDX_2C('t','r'), "Turqi", 0,0,0 }, { IDX_2C('t','t'), "Trinidad dhe Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taivan", 0,0,0 }, { IDX_2C('t','z'), "Tanzani", 0,0,0 }, { IDX_2C('u','a'), "Ukrainц╚", 0,0,0 }, { IDX_2C('u','g'), "Ugandц╚", 0,0,0 }, { IDX_2C('u','k'), "Mbretц╚ri e Bashkuar", 0,0,0 }, { IDX_2C('u','m'), "Ishujt e Vegjц╚l jashtц╚ US", 0,0,0 }, { IDX_2C('u','s'), "Shtetet e Bashkuar", 0,0,0 }, { IDX_2C('u','y'), "Uruguaj", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan" , 0,0,0 }, { IDX_2C('v','a'), "Qytet Shteti i Vatikanit (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent dhe Grenadinet", 0,0,0 }, { IDX_2C('v','e'), "Venezuelц╚", 0,0,0 }, { IDX_2C('v','g'), "Ishujt Virgjini (Britanikц╚)", 0,0,0 }, { IDX_2C('v','i'), "Ishujt Virgjini (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Ishujt Vallis dhe Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemen", 0,0,0 }, { IDX_2C('y','t'), "Majote", 0,0,0 }, { IDX_2C('y','u'), "FSMZ", 0,0,0 }, { IDX_2C('z','a'), "Afrikц╚ e Jugut", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabue", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.arabic��������������������������������������������������������0000644�0001750�0001750�00000111762�11032527214�017326� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.english Webalizer V2.0x Language Support file for English. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 20-May-2008 Tranlated to Arabic by Mohamed SAAD 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Arabic"; char *langcode = "ar"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "ь╙ьЁь╛ы┼ы└ь╖ь╙"; char *msg_addresses="ь╧ы├ь╖ы┬ы┼ы├"; char *msg_ignored = "ь╨ы┼ь╠ ы┘ьЁь╙ь╧ы┘ы└ь╘"; char *msg_bad = "ь╨ы┼ь╠ ьЁы└ы┼ы┘ь╘"; char *msg_in = "ы│ы┼"; char *msg_seconds = "ь╚ь╖ы├ы┼ь╘"; /* progress and setup error messages */ char *msg_log_err = "ь╝ь╥ь║: ь╨ы┼ь╠ ы┌ь╖ь╞ь╠ ь╧ы└ы┴ ы│ь╙ь╜ ы┘ы└ы│ ьЁь╛ы└ ь╖ы└ы┬ы┌ь╖ь╕ь╧"; char *msg_log_use = "ь╛ь╖ь╠ы┼ ь╔ьЁь╙ь╧ы┘ь╖ы└ ы┘ы└ы│ ьЁь╛ы└ ь╖ы└ы┬ы┌ь╖ь╕ь╧"; char *msg_dir_err = "ь╝ь╥ь║ ь╨ы┼ь╠ ы┌ь╖ь╞ь╠ ь╧ы└ы┴ ь╖ы└ь╔ы├ь╙ы┌ь╖ы└ ь╔ы└ы┴ ь╖ы└ь╞ы└ы┼ы└ "; char *msg_dir_use = "ь╛ь╖ь╠ы┼ ь╔ы├ь╢ь╖ь║ ь╖ы└ь╝ь╠ь╛ ы│ы┼"; char *msg_cur_dir = "ь╖ы└ь╞ы└ы┼ы└ ь╖ы└ь╜ь╖ы└ы┼"; char *msg_hostname= "ь╔ьЁы┘ ь╖ы└ы┘ь╤ы┼ы│ ы└ы└ь╙ы┌ь╖ь╠ы┼ь╠ ы┤ы┬"; char *msg_ign_hist= "ь╙ь╛ь╖ы┤ы└ ы┘ы└ы│ ь╖ы└ьЁь╛ы└ ь╖ы└ь╡ы┘ы├ы┼ ь╖ы└ьЁь╖ь╗ы┌ ..."; char *msg_no_hist = "ы└ы┘ ьёь╛ы░ь╞ ы┘ы└ы│ ь╖ы└ьЁь╛ы└ ь╖ы└ь╡ы┘ы├ы┼ ..."; char *msg_get_hist= "ь╛ь╖ь╠ы┼ ы┌ь╠ь╖ь║ь╘ ы┘ы└ы│ ь╖ы└ьЁь╛ы└ ь╖ы└ь╡ы┘ы├ы┼..."; char *msg_put_hist= "ь╛ь╖ь╠ы┼ ь╜ы│ь╦ ы┘ь╧ы└ы┬ы┘ь╖ь╙ ь╖ы└ьЁь╛ы└ ь╖ы└ь╡ы┘ы├ы┼ ..."; char *msg_hist_err= "ь╝ь╥ь║: ь╨ы┼ь╠ ы┌ь╖ь╞ь╠ ь╧ы└ы┴ ы┐ь╙ь╖ь╗ь╘ ы┘ы└ы│ ь╖ы└ьЁь╛ы└ ь╖ы└ь╡ы┘ы├ы┼"; char *msg_bad_hist= "ь╝ь╥ь║: ь╙ь╛ь╖ы┤ы└ ь╙ьЁь╛ы┼ы└ ь╡ы┘ы├ы┼ ь╨ы┼ь╠ ь╣ь╖ы└ь╜"; char *msg_bad_conf= "ь╝ь╥ь║: ь╨ы┼ь╠ ы┌ь╖ь╞ь╠ ь╧ы└ы┴ ы│ь╙ь╜ ы┘ы└ы│ ь╖ы└ь╔ь╧ь╞ь╖ь╞"; char *msg_bad_key = "ь╙ь╜ь╟ы┼ь╠: ы┐ы└ы┘ь╘ ь╗ь╜ь╚ ь╨ы┼ь╠ ь╣ь╖ы└ы┼ь╜ь╘"; char *msg_bad_date= "ь╝ь╥ь║: ы┌ы│ь╡ь╘ ь╧ы├ ь╖ы└ь╙ьЁь╛ы┼ы└ (ь╖ы└ь╙ь╖ь╠ы┼ь╝ ь╨ы┼ь╠ ь╣ь╖ы└ь╜)"; char *msg_ign_nscp= "ь╛ь╖ь╠ы┼ ь╖ы└ы┌ы│ь╟ ь╧ы├ ь╙ьЁь╛ы┼ы└ ь╙ь╠ы┬ы┼ьЁь╘ Netscape"; char *msg_bad_rec = "ы┌ы│ь╡ь╘ ь╧ы├ ь╙ьЁь╛ы┼ы└ ь╨ы┼ь╠ ьЁы└ы┼ы┘"; char *msg_no_vrec = "ы└ы┘ ьёь╛ы░ь╞ ь╙ьЁь╛ы┼ы└ь╖ь╙ ь╣ь╖ы└ь╜ь╘ !"; char *msg_gen_rpt = "ь╛ь╖ь╠ы┼ ь╙ы┐ы┬ы┼ы├ ь╖ы└ь╙ы┌ь╠ы┼ь╠ ы└ы░ "; char *msg_gen_sum = "ь╛ь╖ь╠ы┼ ь╙ы┐ы┬ы┼ы├ ь╖ы└ь╙ы┌ь╠ы┼ь╠ ь╖ы└ы┘ы┬ь╛ь╡"; char *msg_get_data= "ь╛ь╖ь╠ы┼ ы┌ь╠ь╖ь║ь╘ ы┘ь╧ь╥ы┼ь╖ь╙ ь╖ы└ь╙ы├ы│ы┼ь╟ ь╖ы└ьЁь╖ь╗ы┌ .."; char *msg_put_data= "ь╛ь╖ь╠ы┼ ь╜ы│ь╦ ы┘ь╧ь╥ы┼ь╖ь╙ ь╖ы└ь╙ы├ы│ы┼ь╟ ь╖ы└ь╜ь╖ы└ы┼ ..."; char *msg_no_data = "ы└ы┘ ьёь╛ы░ь╞ ы┘ь╧ь╥ы┼ь╖ь╙ ь╖ы└ь╙ы├ы│ы┼ь╟ ь╖ы└ьЁь╖ь╗ы┌ ..."; char *msg_bad_data= "ь╝ь╥ь║: ь╨ы┼ь╠ ы┌ь╖ь╞ь╠ ь╧ы└ы┴ ь╔ьЁь╙ь╧ь╖ь╞ь╘ ы┘ь╧ь╥ы┼ь╖ь╙ ь╖ы└ь╙ы├ы│ы┼ь╟"; char *msg_data_err= "ь╝ь╥ь║: ь╨ы┼ь╠ ы┌ь╖ь╞ь╠ ь╧ы└ы┴ ь╜ы│ь╦ ы┘ь╧ь╥ы┼ь╖ь╙ ь╖ы└ь╙ы├ы│ы┼ь╟ ь╖ы└ь╜ь╖ы└ы┼"; char *msg_dup_data= "ь╙ь╜ь╟ы┼ь╠: ь╔ь╜ь╙ы┘ь╖ы└ ы┬ь╛ы┬ь╞ ы┘ь╧ь╥ы┼ь╖ь╙ ы┘ь╙ы┐ь╠ь╠ь╘ ы┘ь╠ь╙ы┼ы├"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "ы│ь╙ь╠ь╘ ь╖ы└ы┘ы┬ь╛ь╡"; char *msg_hhdr_gt = "ь╙ы┘ы▒ ь╖ы└ь╔ы├ь╢ь╖ь║"; /* main index strings */ char *msg_main_us = "ы┘ы└ь╝ь╣ ь╖ы└ь╔ьЁь╙ь╧ы┘ь╖ы└ ы└ы░ "; /* char *msg_main_per= "ь╖ы└ьёь╢ы┤ь╠ ь╖ы└ь╔ь╚ы├ы┼ ь╧ь╢ь╠ ь╖ы└ьЁь╖ь╗ы┌ь╘"; */ char *msg_main_per= "ь╖ы└ы┘ы└ь╝ь╣ ь╜ьЁь╗ ь╖ы└ь╢ы┤ь╠"; char *msg_main_sum= "ь╖ы└ы┘ы└ь╝ь╣ ь╜ьЁь╗ ь╖ы└ь╢ы┤ь╠"; char *msg_main_da = "ь╖ы└ы┘ь╧ь╞ы└ ь╖ы└ы┼ы┬ы┘ы┼"; char *msg_main_mt = "ь╖ы└ы┘ь╛ы┘ы┬ь╧ь╖ь╙ ь╖ы└ь╢ы┤ь╠ы┼ь╘"; /* month HTML page strings */ char *msg_hmth_du = "ь╖ы└ь╔ьЁь╙ь╧ы┘ь╖ы└ ь╖ы└ы┼ы┬ы┘ы┼ ы└ы░ "; char *msg_hmth_hu = "ь╖ы└ь╔ьЁь╙ь╧ы┘ь╖ы└ ь╜ьЁь╗ ь╖ы└ьЁь╖ь╧ь╘ ы└ы░ "; /* table header strings */ char *msg_h_by = "ь╜ьЁь╗"; char *msg_h_avg = "ь╖ы└ы┘ь╧ь╞ы└"; char *msg_h_max = "ь╖ы└ьёы┌ь╣ы┴"; char *msg_h_total = "ь╖ы└ы┘ь╛ы┘ы┬ь╧"; char *msg_h_totals= "ь╖ы└ы┘ь╛ы┘ы┬ь╧ь╖ь╙"; char *msg_h_day = "ь╖ы└ы┼ы┬ы┘"; char *msg_h_mth = "ь╖ы└ь╢ы┤ь╠"; char *msg_h_hour = "ь╖ы└ьЁь╖ь╧ь╘"; char *msg_h_hits = "ь╖ы└ь╔ь╣ь╖ь╗ь╖ь╙"; char *msg_h_pages = "ь╖ы└ь╣ы│ь╜ь╖ь╙"; char *msg_h_visits= "ь╖ы└ь╡ы┼ь╖ь╠ь╖ь╙"; char *msg_h_files = "ь╖ы└ы┘ы└ы│ь╖ь╙"; char *msg_h_sites = "ь╖ы└ы┘ы┬ь╖ы┌ь╧"; char *msg_h_xfer = "ы┐ы┼ы└ы┬ ь╗ь╖ы┼ь╙"; char *msg_h_hname = "ь╔ьЁы┘ ь╖ы└ы┘ь╤ы┼ы│"; char *msg_h_url = "ь╧ы├ы┬ь╖ы├ ь╖ы└ы┘ы┬ь╠ь╞ ь╖ы└ы┘ы├ь╙ь╦ы┘ URL"; char *msg_h_agent = "ь╧ы┘ы┼ы└ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘"; char *msg_h_ref = "ь╖ы└ы┘ь╜ы┬ы▒ы└"; char *msg_h_ctry = "ь╖ы└ь╗ы└ь╞"; char *msg_h_search= "ь╛ы┘ы└ь╘ ь╖ы└ь╗ь╜ь╚"; char *msg_h_uname = "ь╔ьЁы┘ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘"; /* links along top of page */ char *msg_hlnk_ds = "ь╖ы└ь╔ь╜ь╣ь╖ь║ь╖ь╙ ь╖ы└ы┼ы┬ы┘ы┼ь╘"; char *msg_hlnk_hs = "ь╖ы└ь╔ь╜ь╣ь╖ь║ь╖ь╙ ь╜ьЁь╗ ь╖ы└ьЁь╖ь╧ь╘"; char *msg_hlnk_u = "ь╧ы├ь╖ы┬ы┼ы├ ь╖ы└ы┘ы┬ь╖ь╠ь╞ ь╖ы└ы┘ы├ь╙ь╦ы┘ь╘ URLs"; char *msg_hlnk_s = "ь╖ы└ы┘ы┬ь╖ы┌ь╧"; char *msg_hlnk_a = "ь╖ы└ь╧ы┘ы└ь╖ь║"; char *msg_hlnk_c = "ь╖ы└ь╗ы└ь╖ь╞"; char *msg_hlnk_r = "ь╖ы└ы┘ь╜ы┬ы▒ы└ы┬ы├"; char *msg_hlnk_en = "ь╖ы└ь╞ь╝ы┬ы└"; char *msg_hlnk_ex = "ь╖ы└ь╝ь╠ы┬ь╛"; char *msg_hlnk_sr = "ь╖ы└ь╗ь╜ь╚"; char *msg_hlnk_i = "ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┬ы├"; /* monthly total table */ char *msg_mtot_ms = "ь╖ы└ь╔ь╜ь╣ь╖ь║ь╖ь╙ ь╖ы└ь╢ы┤ь╠ы┼ь╘ ы└ы░ "; char *msg_mtot_th = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ь╔ь╣ь╖ь╗ь╖ь╙"; char *msg_mtot_tf = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ы┘ы└ы│ь╖ь╙"; char *msg_mtot_tx = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ы┐ы┼ы└ы┬ ь╗ь╖ы┼ь╙"; char *msg_mtot_us = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ы┘ы┬ь╖ы┌ь╧ ь╖ы└ы┘ы├ы│ь╠ь╞ь╘"; char *msg_mtot_ur = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ы┘ь╜ы┬ы└ы┼ы├ ь╖ы└ы┘ы├ы│ь╠ь╞ь╘"; char *msg_mtot_ua = "ы┘ь╛ы┘ы┬ь╧ ь╧ы┘ы└ь╖ь║ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┼ы├ ь╖ы└ы┘ы├ы│ь╠ь╞ь╘"; char *msg_mtot_uu = "ы┘ь╛ы┘ы┬ь╧ ь╧ы├ь╖ы┬ы┼ы├ ь╖ы└ы┘ы┬ь╖ь╠ь╞ ь╖ы└ы┘ы├ь╙ь╦ы┘ь╘ ь╖ы└ы┘ы├ы│ь╠ь╞ь╘"; char *msg_mtot_ui = "ы┘ь╛ы┘ы┬ь╧ ьёьЁы┘ь╖ь║ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┼ы├ ь╖ы└ы┘ы├ы│ь╠ь╞ь╘"; char *msg_mtot_mhd= "ь╖ы└ь╔ь╣ь╖ь╗ь╖ь╙ ь╜ьЁь╗ ь╖ы└ы┼ы┬ы┘"; char *msg_mtot_mhh= "ь╖ы└ь╔ь╣ь╖ь╗ь╖ь╙ ь╜ьЁь╗ ь╖ы└ьЁь╖ь╧ь╘"; char *msg_mtot_mfd= "ь╖ы└ы┘ы└ы│ь╖ь╙ ь╜ьЁь╗ ь╖ы└ы┼ы┬ы┘"; char *msg_mtot_mpd= "ь╖ы└ь╣ы│ь╜ь╖ь╙ ь╜ьЁь╗ ь╖ы└ы┼ы┬ы┘"; char *msg_mtot_msd= "ь╖ы└ы┘ы┬ь╖ы┌ь╧ ь╜ьЁь╗ ь╖ы└ы┼ы┬ы┘"; char *msg_mtot_mvd= "ь╖ы└ь╡ы┼ь╖ь╠ь╖ь╙ ь╜ьЁь╗ ь╖ы└ы┼ы┬ы┘"; char *msg_mtot_mkd= "ы┐ы┼ы└ы┬ ь╗ь╖ы┼ь╙ ы│ы┼ ь╖ы└ы┼ы┬ы┘"; char *msg_mtot_rc = "ь╖ы└ь╔ь╣ь╖ь╗ь╖ь╙ ь╜ьЁь╗ ь╠ы┘ь╡ ь╖ы└ь╔ь╛ь╖ь╗ь╘"; /* daily total table */ char *msg_dtot_ds = "ь╖ы└ь╔ь╜ь╣ь╖ь║ь╖ь╙ ь╖ы└ы┼ы┬ы┘ы┼ь╘ ы└ы░ "; /* hourly total table */ char *msg_htot_hs = "ь╖ы└ь╔ь╜ь╣ь╖ь║ь╖ь╙ ь╜ьЁь╗ ь╖ы└ьЁь╖ь╧ь╘ ы└ы░ "; /* country pie chart */ char *msg_ctry_use= "ь╖ы└ь╔ьЁь╙ь╧ы┘ь╖ы└ ь╜ьЁь╗ ь╖ы└ь╗ы└ь╞ ы└ы░ "; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "ь╖ы└ьёь╧ы└ы┴"; char *msg_top_of = "ы┘ы├ ь╖ь╣ы└"; char *msg_top_s = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ы┘ы┬ь╖ы┌ь╧"; char *msg_top_u = "ы┘ь╛ы┘ы┬ь╧ ь╧ы├ь╖ы┬ы┼ы├ ь╖ы└ы┘ы┬ь╖ь╠ь╞ ь╖ы└ы┘ы├ь╙ь╦ы┘ь╘ URLs"; char *msg_top_r = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ы┘ь╜ы┬ы└ы┼ы├"; char *msg_top_a = "ы┘ь╛ы┘ы┬ь╧ ь╧ы┘ы└ь╖ь║ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┼ы├"; char *msg_top_c = "ы┘ь╛ы┘ы┬ь╧ ь╖ы└ь╗ы└ь╖ь╞"; char *msg_top_en = "ы┘ь╛ы┘ы┬ь╧ ь╣ы│ь╜ь╖ь╙ ь╖ы└ь╞ь╝ы┬ы└"; char *msg_top_ex = "ы┘ь╛ы┬ь╧ ь╣ы│ь╜ь╖ь╙ ь╖ы└ь╝ь╠ы┬ь╛"; char *msg_top_sr = "ы┘ь╛ы┘ы┬ь╧ ы┘ы│ь╠ь╞ь╖ь╙ ь╖ы└ь╗ь╜ь╚"; char *msg_top_i = "ы┘ь╛ы┘ы┬ь╧ ьёьЁы┘ь╖ь║ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┼ы├"; char *msg_v_sites = "ь╠ь╖ь╛ь╧ ы┐ы└ ь╖ы└ы┘ы┬ь╖ы┌ь╧"; char *msg_v_urls = "ь╠ь╖ь╛ь╧ ы┐ы└ ь╧ы├ь╖ы┬ы┼ы├ ь╖ы└ы┘ы┬ь╖ь╠ь╞ ь╖ы└ы┘ы├ь╙ь╦ы┘ь╘"; char *msg_v_refs = "ь╠ь╖ь╛ь╧ ы┐ы└ ь╖ы└ы┘ь╜ы┬ы└ы┬ы├"; char *msg_v_agents= "ь╠ь╖ь╛ь╧ ы┐ы└ ь╧ы┘ы└ь╖ь║ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┼ы├"; char *msg_v_search= "ь╠ь╖ь╛ь╧ ы┐ы└ ы┘ы│ь╠ь╞ь╖ь╙ ь╖ы└ь╗ь╜ь╚"; char *msg_v_users = "ь╠ь╖ь╛ь╧ ы┐ы└ ьёьЁы┘ь╖ь║ ь╖ы└ы┘ьЁь╙ь╝ь╞ы┘ы┼ы├"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Usage Statistics for"; char *msg_h_other = "Other"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ��������������webalizer-2.23-05/lang/webalizer_lang.catalan�������������������������������������������������������0000644�0001750�0001750�00000111427�11551755704�017523� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.catalan Webalizer V2.0x Language Support file for Catalan. 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 19-Aug-1998 Translated by Jordi Bruguera (jordi@t800.grn.es) 21-Sep-1998 Additional corrections by Jordi Bruguera (jordi@t800.grn.es) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 05-Jul-1999 Additional corrections by Jordi Bruguera (jordi@t800.grn.es) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 18-Oct-2000 Translated new strings for version 2.01-06 (jordi@t800.grn.es) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) 16-Jan-2011 Adapted to SoftcatalЮ style by Jordi Mallach (jordi@debian.org) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "CatalЮ"; char *langcode = "ca"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "registres"; char *msg_addresses="adreces"; char *msg_ignored = "ignorats"; char *msg_bad = "erronis"; char *msg_in = "en"; char *msg_seconds = "segons"; /* progress and setup error messages */ char *msg_log_err = "Error: no s'ha pogut obrir el fitxer de registres"; char *msg_log_use = "S'estЮ emprant el registre"; char *msg_dir_err = "Error: no es pot canviar al directori especificat"; char *msg_dir_use = "S'estЮ creant els resultats a"; char *msg_cur_dir = "el directori actual"; char *msg_hostname= "Informe per al servidor"; char *msg_ign_hist= "S'estЮ ignorant l'historial anterior..."; char *msg_no_hist = "No s'ha trobat el fitxer de l'historial..."; char *msg_get_hist= "S'estЮ llegint el fitxer de l'historial..."; char *msg_put_hist= "S'estЮ desant la informaciС de l'historial..."; char *msg_hist_err= "Error: no es pot escriure al fitxer de l'historial"; char *msg_bad_hist= "Error: s'estЮ descartant un registre no vЮlid"; char *msg_bad_conf= "Error: no es pot obrir el fitxer de configuraciС"; char *msg_bad_key = "AvМs: la paraula clau no Иs vЮlida"; char *msg_bad_date= "Error: s'estЮ ometent el registre (data errРnia)"; char *msg_ign_nscp= "S'estЮ ometent el registre de capcalera del Netscape"; char *msg_bad_rec = "S'estЮ ometent un registre erroni"; char *msg_no_vrec = "No s'ha trobat cap registre vЮlid!"; char *msg_gen_rpt = "S'estЮ generant l'informe per a"; char *msg_gen_sum = "S'estЮ generant l'informe resumit"; char *msg_get_data= "S'estan llegint dades de l'execuciС anterior..."; char *msg_put_data= "S'estan desant les dades de l'execuciС actual..."; char *msg_no_data = "No s'han trobat les dades de l'execuciС anterior..."; char *msg_bad_data= "Error: no es pot recuperar les dades de l'execuciС"; char *msg_data_err= "Error: no es poden desar les dades de l'execuciС actual"; char *msg_dup_data= "AvМs: S'han trobat dades que potser sСn duplicades"; /* DNS Stuff */ char *msg_dns_nocf= "No s'ha especificat el fitxer de memРria cau, s'estЮ avortant..."; char *msg_dns_nodb= "Error: no es pot obrir el fitxer de memРria cau de DNS"; char *msg_dns_nolk= "Error: no es pot blocar el fitxer de memРria cau de DNS"; char *msg_dns_usec= "S'estЮ emprant el fitxer de memРria cau de DNS"; char *msg_dns_rslv= "Recerca DNS"; char *msg_dns_none= "Cap a processar"; char *msg_dns_abrt= "El suport de DNS no Иs present, s'estЮ avortant..."; /* Geolocation stuff */ char *msg_geo_open= "S'ha produОt un error en obrir el fitxer"; char *msg_geo_use = "S'estЮ emprant"; char *msg_geo_nolu= "consultes inhabilitades"; char *msg_geo_dflt= "predeterminat"; /* memory allocation errors */ char *msg_nomem_ts= "No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚Llocs principals╩"; char *msg_nomem_tr= "No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚Referents principals╩"; char *msg_nomem_tu= "No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚URL mИs visitades╩"; char *msg_nomem_tc= "No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚PaОsos d'origen principals"; char *msg_nomem_ta= "No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚Navegadors principals╩"; char *msg_nomem_tsr="No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚Cadenes de recerca principals╩"; char *msg_nomem_ti= "No s'ha pogut assignar prou memРria, es desactiva l'opciС ╚Noms d'usuari principals╩"; char *msg_nomem_dh= "S'ha produОt un error en afegir el nom del node (diari), s'estЮ ometent"; char *msg_nomem_mh= "S'ha produОt un error en afegir el nom del node (mensual), s'estЮ ometent"; char *msg_nomem_u = "S'ha produОt un error en afegir el node de les URL, s'estЮ ometent"; char *msg_nomem_a = "S'ha produОt un error en afegir el node dels navegadors, s'estЮ ometent"; char *msg_nomem_r = "S'ha produОt un error en afegir el node dels referents, s'estЮ ometent"; char *msg_nomem_sc= "S'ha produОt un error en afegir el node de cadenes de recerca, s'estЮ ometent"; char *msg_nomem_i = "S'ha produОt un error en afegir el node de noms d'usuari, s'estЮ ometent"; /* registre record errors */ char *msg_big_rec = "Error: S'estЮ ometent una entrada del registre massa gran"; char *msg_big_host= "AvМs: S'estЮ truncant el nom del servidor, que Иs massa gran"; char *msg_big_date= "AvМs: S'estЮ truncant el camp de la data, que Иs massa gran"; char *msg_big_req = "AvМs: S'estЮ truncant el camp de la peticiС, que Иs massa gran"; char *msg_big_ref = "AvМs: S'estЮ truncant el camp de l'enllaГ d'origen, que Иs massa gran"; char *msg_big_user= "AvМs: S'estЮ truncant un nom d'usuari massa llarg"; char *msg_big_one = "AvМs: La cadena supera la mida permesa"; /* misc errors */ char *msg_no_open = "Error: No s'ha pogut obrir el fitxer"; /* Help display... */ char *h_usage1 = "Funcionament"; char *h_usage2 = "[opcions] [fitxer histРric (log)]"; char *h_msg[]= { "-h = mostra aquest missatge d'ajuda" , "-V = mostra la versiС del programa" , "-v = sigues detallat" , "-d = mostra informaciС de depuraciС addicional" , "-F tipus = tipus de registre. tipus=(clf | ftp | squid | w3c)", "-f = omet els errors de seqЭХncia" , "-i = descarta el fitxer de l'historial" , "-p = conserva l'estat (incremental)" , "-b = omet l'estat (incremental)" , "-q = suprimeix els missatges informatius" , "-Q = suprimeix TOTS els misatges" , "-Y = suprimeix la grЮfica de paОsos" , "-G = suprimeix la grЮfica per hores" , "-H = suprimeix les estadМstiques per hores" , "-L = suprimeix les llegendes de color dels grЮfics", "-l num = empra num lМnies de fons a la grЮfica)" , "-m num = valor del temps d'una visita (segons)" , "-T = mostra el temps de la temporitzaciС" , "-c fitxer = empra el fitxer de configuraciС ╚fitxer╩" , "-n nom = nom de mЮquina a emprar" , "-o dir = directori de sortida a emprar" , "-t nom = empra el tМtol ╚nom╩ per a l'informe" , "-a nom = amaga la informaciС relativa al navegador ╚nom╩" , "-r nom = amaga la informaciС relativa als referents ╚nom╩", "-s nom = amaga la informaciС relativa al lloc ╚nom╩" , "-u nom = amaga la informaciС relativa a les URL visitades ╚nom╩", "-x nom = empra l'extensiС de fitxer ╚nom╩" , "-O nom = omet la pЮgina ╚nom╩" , "-P nom = tipus de l'extensiС de la pЮgina ╚nom╩" , "-I nom = Юlias de l'Мndex ╚nom╩" , "-K nЗm = mostra nЗm mesos a la taula de resum" , "-k nЗm = mostra nЗm mesos a la grЮfica de resum" , "-A nЗm = mostra els nЗm primers navegadors" , "-C nЗm = mostra els nЗm primers paОsos" , "-R nЗm = mostra els nЗm primers referents" , "-S nЗm = mostra els nЗm primers servidors" , "-U nЗm = mostra els nЗm primers URL" , "-e nЗm = mostra les nЗm primeres pЮgines d'entrada" , "-E nЗm = mostra les nЗm primeres pЮgines de sortida" , "-g nЗm = agrupa els dominis a ╚nЗm╩ nivells" , "-X = amaga els llocs individuals" , "-z dir = empra les banderes nacionals de ╚dir╩" , #ifdef USE_DNS "-D fitxer = empra el fitxer de memРria cau de DNS ╚fitxer╩", "-N num = nombre de processos DNS (0=inhabilita)" , "-j = habilita les cerques GeoDB natives" , "-J nom = empra la base de dades de GeoDB ╚fitxer╩" , #endif #ifdef USE_GEOIP "-w = habilita les cerques de GeoIP" , "-W nom = empra la base de dades de GeoIP ╚fitxer╩" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "PerМode resumit"; char *msg_hhdr_gt = "Generat el"; /* main index strings */ char *msg_main_us = "Resum d'accessos per a"; char *msg_main_per= "Resum per mesos"; char *msg_main_sum= "Resum per mesos"; char *msg_main_da = "Mitjana diЮria"; char *msg_main_mt = "Totals del mes"; /* month HTML page strings */ char *msg_hmth_du = "зs diari per a"; char *msg_hmth_hu = "зs horari per a"; /* table header strings */ char *msg_h_by = "Per"; char *msg_h_avg = "Mitjana"; char *msg_h_max = "MЮx"; char *msg_h_total = "Total"; char *msg_h_totals= "Totals"; char *msg_h_day = "Dia"; char *msg_h_mth = "Mes"; char *msg_h_hour = "Hora"; char *msg_h_hits = "Accessos"; char *msg_h_pages = "PЮgines"; char *msg_h_visits= "Visites"; char *msg_h_files = "Fitxers"; char *msg_h_sites = "Navegadors"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Visitant"; char *msg_h_url = "URL"; char *msg_h_agent = "Navegador"; char *msg_h_ref = "Referent"; char *msg_h_ctry = "PaМs"; char *msg_h_search= "Cadena de recerca"; char *msg_h_uname = "Nom d'usuari"; /* links along top of page */ char *msg_hlnk_ds = "EstadМstiques diЮries"; char *msg_hlnk_hs = "EstadМstiques horЮries"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Visitants"; char *msg_hlnk_a = "Navegadors"; char *msg_hlnk_c = "PaОsos"; char *msg_hlnk_r = "Referents"; char *msg_hlnk_en = "Entrada"; char *msg_hlnk_ex = "Sortida"; char *msg_hlnk_sr = "Recerca"; char *msg_hlnk_i = "Usuaris"; /* monthly total table */ char *msg_mtot_ms = "EstadМstiques mensuals"; char *msg_mtot_th = "Accessos totals"; char *msg_mtot_tf = "Fitxers totals"; char *msg_mtot_tx = "KBytes totals"; char *msg_mtot_us = "Servidors totals"; char *msg_mtot_ur = "Referents totals"; char *msg_mtot_ua = "Navegadors totals"; char *msg_mtot_uu = "URL totals"; char *msg_mtot_ui = "Noms d'usuari totals"; char *msg_mtot_mhd= "Accessos per dia"; char *msg_mtot_mhh= "Accessos per hora"; char *msg_mtot_mfd= "Fitxers per dia"; char *msg_mtot_mpd= "PЮgines per dia"; char *msg_mtot_msd= "Servidors per dia"; char *msg_mtot_mvd= "Visites per dia"; char *msg_mtot_mkd= "KBytes per dia"; char *msg_mtot_rc = "Accessos segons codi de resposta"; /* daily total table */ char *msg_dtot_ds = "EstadМstiques diЮries per a"; /* hourly total table */ char *msg_htot_hs = "EstadМstiques horЮries per a"; /* country pie chart */ char *msg_ctry_use= "зs per paОsos per a"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Els"; char *msg_top_of = "primers d'un total de"; char *msg_top_s = "visitants"; char *msg_top_u = "URL"; char *msg_top_r = "referents"; char *msg_top_a = "navegadors"; char *msg_top_c = "paОsos"; char *msg_top_en = "pЮgines d'entrada"; char *msg_top_ex = "pЮgines de sortida"; char *msg_top_sr = "cadenes de recerca"; char *msg_top_i = "noms d'usuari"; char *msg_v_sites = "Mostra tots els llocs visitats"; char *msg_v_urls = "Mostra totes les URL"; char *msg_v_refs = "Mostra tots els referents"; char *msg_v_agents= "Mostra tots els navegadors"; char *msg_v_search= "Mostra totes les cadenes de recerca"; char *msg_v_users = "Mostra tots els noms d'usuari"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "gen", "feb", "mar", "abr", "mai", "jun", "jul", "ago", "set", "oct", "nov", "des"}; /* long month names - can be any length */ char *l_month[12]={ "gener", "febrer", "marГ", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Codi de resposta no definit", 0 }, { "Codi 100 - Continua", 0 }, { "Codi 101 - S'estЮ commutant protocols", 0 }, { "Codi 200 - D'acord", 0 }, { "Codi 201 - Creat", 0 }, { "Codi 202 - Acceptada", 0 }, { "Codi 203 - InformaciС no autoritativa", 0 }, { "Codi 204 - Sense contingut", 0 }, { "Codi 205 - Recarregueu el contingut", 0 }, { "Codi 206 - Contingut parcial", 0 }, { "Codi 300 - MЗltiples opcions", 0 }, { "Codi 301 - Mogut permanentment", 0 }, { "Codi 302 - Trobat", 0 }, { "Codi 303 - Vegeu altres", 0 }, { "Codi 304 - No modificat", 0 }, { "Codi 305 - Empreu un servidor intermediari", 0 }, { "Codi 307 - Mogut temporalment", 0 }, { "Codi 400 - PeticiС errРnia", 0 }, { "Codi 401 - No autoritzat", 0 }, { "Codi 402 - Es requereix pagament", 0 }, { "Codi 403 - Prohibit", 0 }, { "Codi 404 - No trobat", 0 }, { "Codi 405 - MХtode no permХs", 0 }, { "Codi 406 - No acceptable", 0 }, { "Codi 407 - Es requereix autenticaciС proxy", 0 }, { "Codi 408 - Temps d'espera exhaurit", 0 }, { "Codi 409 - Conflicte", 0 }, { "Codi 410 - Ja no Иs disponible", 0 }, { "Codi 411 - Mida requerida" , 0 }, { "Codi 412 - PrecondiciС fallida", 0 }, { "Codi 413 - PeticiС massa gran", 0 }, { "Codi 414 - URI de la peticiС massa llarga", 0 }, { "Codi 415 - Tipus de medi no implementat", 0 }, { "Codi 416 - Rang sol╥licitat no disponible", 0 }, { "Codi 417 - Expectativa fallida", 0 }, { "Codi 500 - Error intern del servidor", 0 }, { "Codi 501 - No implementat", 0 }, { "Codi 502 - Passarel╥la errРnia", 0 }, { "Codi 503 - Servei no disponible", 0 }, { "Codi 504 - Temps d'espera de la pasarel╥la exhaurit",0 }, { "Codi 505 - VersiС d'HTTP no implementada", 0 } }; char *msg_title = "EstadМstiques d'accИs per a"; char *msg_h_other = "Altre"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "No resolt/Desconegut", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educatiu (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Govern dels EUA (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internacional (int)", 0,0,0 }, { IDX_3C('m','i','l'), "ExХrcit dels EUA (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Xarxa (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Org. sense Юnim de lucre (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Negoci genХric (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Comunitat catalana (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Comunitat юsia PacМfic (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"AssociaciС cooperativa (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"DPN genХric (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Recursos humans (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"DPN genХric mРbil (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individu (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Camp OTAN (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museus (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Ind. viatges(travel)", 0,0,0 }, { IDX_2C('a','c'), "Illa de l'AscensiС", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emirats юrabs Units", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua i Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguila", 0,0,0 }, { IDX_2C('a','l'), "AlbЮnia", 0,0,0 }, { IDX_2C('a','m'), "ArmХnia", 0,0,0 }, { IDX_2C('a','n'), "Antilles Holandeses", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "AntЮrtida", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Samoa Americanes", 0,0,0 }, { IDX_2C('a','t'), "юustria", 0,0,0 }, { IDX_2C('a','u'), "AustrЮlia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Illes еland", 0,0,0 }, { IDX_2C('a','z'), "Azerbaitjan", 0,0,0 }, { IDX_2C('b','a'), "BРsnia i Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "BХlgica", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "BulgЮria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "BenМn", 0,0,0 }, { IDX_2C('b','l'), "Saint BarthИlemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei", 0,0,0 }, { IDX_2C('b','o'), "BolМvia", 0,0,0 }, { IDX_2C('b','r'), "Brasil", 0,0,0 }, { IDX_2C('b','s'), "Bahames", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botsuana", 0,0,0 }, { IDX_2C('b','y'), "BielorЗssia", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "CanadЮ", 0,0,0 }, { IDX_2C('c','c'), "Illa de Cocos", 0,0,0 }, { IDX_2C('c','d'), "RepЗblica DemocrЮtica del Congo", 0,0,0 }, { IDX_2C('c','f'), "RepЗblica Centrafricana", 0,0,0 }, { IDX_2C('c','g'), "RepЗblica del Congo", 0,0,0 }, { IDX_2C('c','h'), "SuОssa", 0,0,0 }, { IDX_2C('c','i'), "Costa de Vori", 0,0,0 }, { IDX_2C('c','k'), "ArxipХlag (Illes) de Cook", 0,0,0 }, { IDX_2C('c','l'), "Xile", 0,0,0 }, { IDX_2C('c','m'), "Camerun", 0,0,0 }, { IDX_2C('c','n'), "Xina", 0,0,0 }, { IDX_2C('c','o'), "ColРmbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cap Verd", 0,0,0 }, { IDX_2C('c','x'), "Illa de Christmas", 0,0,0 }, { IDX_2C('c','y'), "Xipre", 0,0,0 }, { IDX_2C('c','z'), "TxХquia", 0,0,0 }, { IDX_2C('d','e'), "Alemanya", 0,0,0 }, { IDX_2C('d','j'), "Gibuti", 0,0,0 }, { IDX_2C('d','k'), "Dinamarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "RepЗblica Dominicana", 0,0,0 }, { IDX_2C('d','z'), "AlgХria", 0,0,0 }, { IDX_2C('e','c'), "Equador", 0,0,0 }, { IDX_2C('e','e'), "EstРnia", 0,0,0 }, { IDX_2C('e','g'), "Egipte", 0,0,0 }, { IDX_2C('e','h'), "SЮhara Occidental", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Espanya", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "UniС Europea", 0,0,0 }, { IDX_2C('f','i'), "FinlЮndia", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Illes Malvines (Falkland)", 0,0,0 }, { IDX_2C('f','m'), "MicronХsia", 0,0,0 }, { IDX_2C('f','o'), "Illes Fer-Сer", 0,0,0 }, { IDX_2C('f','r'), "FranГa", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Gran Bretanya", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "GeРrgia", 0,0,0 }, { IDX_2C('g','f'), "Guaiana Francesa", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "GrenlЮndia", 0,0,0 }, { IDX_2C('g','m'), "GЮmbia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadalupe", 0,0,0 }, { IDX_2C('g','q'), "Guinea Equatorial", 0,0,0 }, { IDX_2C('g','r'), "GrХcia", 0,0,0 }, { IDX_2C('g','s'), "Illes GeРrgia del Sud i Sandwich del Sud", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guaiana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Illa Heard i Illes McDonald", 0,0,0 }, { IDX_2C('h','n'), "Hondures", 0,0,0 }, { IDX_2C('h','r'), "CroЮcia", 0,0,0 }, { IDX_2C('h','t'), "HaitМ", 0,0,0 }, { IDX_2C('h','u'), "Hongria", 0,0,0 }, { IDX_2C('i','d'), "IndonХsia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Illa de Man", 0,0,0 }, { IDX_2C('i','n'), "мndia", 0,0,0 }, { IDX_2C('i','o'), "Territori BritЮnic de l'OceЮ мndic",0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "IslЮndia", 0,0,0 }, { IDX_2C('i','t'), "ItЮlia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "JordЮnia", 0,0,0 }, { IDX_2C('j','p'), "JapС", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Quirguisistan", 0,0,0 }, { IDX_2C('k','h'), "Cambotja", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comores", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts i Nevis", 0,0,0 }, { IDX_2C('k','p'), "Corea del Nord", 0,0,0 }, { IDX_2C('k','r'), "Corea del Sud", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Illes CaimЮ", 0,0,0 }, { IDX_2C('k','z'), "Casaquistan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "LМban", 0,0,0 }, { IDX_2C('l','c'), "Santa LlЗcia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "LibХria", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "LituЮnia", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "LetРnia", 0,0,0 }, { IDX_2C('l','y'), "LМbia", 0,0,0 }, { IDX_2C('m','a'), "Marroc", 0,0,0 }, { IDX_2C('m','c'), "MРnaco", 0,0,0 }, { IDX_2C('m','d'), "MoldЮvia", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Illa de Sant MartМ (part francesa)",0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Illes Marshall", 0,0,0 }, { IDX_2C('m','k'), "MacedРnia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Mianmar", 0,0,0 }, { IDX_2C('m','n'), "MongРlia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Illes Mariannes Septentrionals", 0,0,0 }, { IDX_2C('m','q'), "Martinica", 0,0,0 }, { IDX_2C('m','r'), "MauritЮnia", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Maurici", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "MХxic", 0,0,0 }, { IDX_2C('m','y'), "MalЮisia", 0,0,0 }, { IDX_2C('m','z'), "MoГambic", 0,0,0 }, { IDX_2C('n','a'), "NamМbia", 0,0,0 }, { IDX_2C('n','c'), "Nova CaledРnia", 0,0,0 }, { IDX_2C('n','e'), "NМger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk", 0,0,0 }, { IDX_2C('n','g'), "NigХria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "PaОsos Baixos", 0,0,0 }, { IDX_2C('n','o'), "Noruega", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "NaЭru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nova Zelanda", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "PanamЮ", 0,0,0 }, { IDX_2C('p','e'), "PerЗ", 0,0,0 }, { IDX_2C('p','f'), "PolinХsia Francesa", 0,0,0 }, { IDX_2C('p','g'), "Nova Guinea PЮpua", 0,0,0 }, { IDX_2C('p','h'), "Filipines", 0,0,0 }, { IDX_2C('p','k'), "Paquistan", 0,0,0 }, { IDX_2C('p','l'), "PolРnia", 0,0,0 }, { IDX_2C('p','m'), "Saint Pierre i Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Illes Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestina", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguai", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "ReuniС", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "SХrbia", 0,0,0 }, { IDX_2C('r','u'), "RЗssia", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "ArЮbia Saudita", 0,0,0 }, { IDX_2C('s','b'), "Illes SalomС", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "SuХcia", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Santa Helena", 0,0,0 }, { IDX_2C('s','i'), "EslovХnia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard i Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "EslovЮquia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "SomЮlia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "SЦo Tome i PrМncipe", 0,0,0 }, { IDX_2C('s','u'), "UniС SoviХtica", 0,0,0 }, { IDX_2C('s','v'), "el Salvador", 0,0,0 }, { IDX_2C('s','y'), "SМria", 0,0,0 }, { IDX_2C('s','z'), "SuazilЮndia", 0,0,0 }, { IDX_2C('t','c'), "Illes de Turks i Caicos", 0,0,0 }, { IDX_2C('t','d'), "Txad", 0,0,0 }, { IDX_2C('t','f'), "Territoris Francesos del Sud", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "TailЮnda", 0,0,0 }, { IDX_2C('t','j'), "Tatgiquistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor Oriental", 0,0,0 }, { IDX_2C('t','m'), "Turcmenistan", 0,0,0 }, { IDX_2C('t','n'), "TunМsia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Timor (.tp)", 0,0,0 }, { IDX_2C('t','r'), "Turquia", 0,0,0 }, { IDX_2C('t','t'), "Trinitat i Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Regne Unit", 0,0,0 }, { IDX_2C('u','m'), "Illes PerifХriques Menors dels EUA",0,0,0 }, { IDX_2C('u','s'), "Estats Units d'AmХrica", 0,0,0 }, { IDX_2C('u','y'), "Uruguai", 0,0,0 }, { IDX_2C('u','z'), "Usbequistan", 0,0,0 }, { IDX_2C('v','a'), "la Ciutat del VaticЮ", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent i les Grenadines", 0,0,0 }, { IDX_2C('v','e'), "VeneГuela", 0,0,0 }, { IDX_2C('v','g'), "Illes Verges BritЮniques", 0,0,0 }, { IDX_2C('v','i'), "Illes Verges Americanes", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis i Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Iemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "IugoslЮvia", 0,0,0 }, { IDX_2C('z','a'), "RepЗblica de Sud-Юfrica", 0,0,0 }, { IDX_2C('z','m'), "ZЮmbia", 0,0,0 }, { IDX_2C('z','w'), "ZimbЮbue", 0,0,0 }, { IDX_2C('a','1'), "Servidor intermediari anРnim", 0,0,0 }, { IDX_2C('a','2'), "ProveОdor satХl╥lit", 0,0,0 }, { IDX_2C('o','1'), "Altres", 0,0,0 }, { IDX_2C('a','p'), "RegiС юsia/PacМfic", 0,0,0 }, { IDX_3C('l','a','n'), "Xarxa local (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.chinese�������������������������������������������������������0000644�0001750�0001750�00000105070�11032527214�017516� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.chinese Webalizer V2.0x Language Support file for Chinese. 30-Apr-1999 Translated to Chinese by Daniel Gau <b4705021@im.ntu.edu.tw> 29-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Chinese"; char *langcode = "zh"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "╟O©Щ"; char *msg_addresses="addresses"; char *msg_ignored = "╘©╡╓"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "╛М"; /* progress and setup error messages */ char *msg_log_err = "©Ы╩~║G╣L╙k╤}╠р╟O©Щюи"; char *msg_log_use = "╗о╔н╟O©Щюи"; char *msg_dir_err = "©Ы╩~║G╣L╙kеэ╖С╔ь©Щ"; char *msg_dir_use = "╡ё╔м©И╔X╘С"; char *msg_cur_dir = "╔ь╚e╙╨╔ь©Щ"; char *msg_hostname= "╔D╬В╕W╨ы╛O"; char *msg_ign_hist= "╘©╡╓╓╖╚e╬З╔v╟O©Щ(history)"; char *msg_no_hist = "╬З╔v╟O©Щ(history file)╖Д╓ё╗Л║K"; char *msg_get_hist= "е╙╗З╬З╔v╟O©Щ"; char *msg_put_hist= "юx╕s╬З╔v╟O©Щ╦Й╟T"; char *msg_hist_err= "©Ы╩~║G╣L╙k╪g╓J╬З╔v╟O©Щ"; char *msg_bad_hist= "©Ы╩~║G╘©╡╓╣L╝д╙╨╬З╔v╟O©Щ"; char *msg_bad_conf= "©Ы╩~║G╣L╙k╤}╠рЁ]╘wюи"; char *msg_bad_key = "д╣╖i║G╣L╝д╙╨цЖаД╕r"; char *msg_bad_date= "©Ы╩~║G╦У╧L╦с╣╖╟O©Щ║]╓И╢а╝Ф╕║╕Ё╟щцD║^"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "╖Д╓ё╗Л╕Ё╝д╙╨╟O©Щ║I"; char *msg_gen_rpt = "╡ё╔мЁЬ╙М╣╧"; char *msg_gen_sum = "╡ё╔м╥Jа`ЁЬ╙М"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't Allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timeout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Summary Period"; char *msg_hhdr_gt = "╡ё╔м╝и╤║║G"; /* main index strings */ char *msg_main_us = "Usage Statistics for"; /* char *msg_main_per= " 12 ╜с╓К"; */ char *msg_main_per= "╗C╓К╥Jа`╡н╜p"; char *msg_main_sum= "╗C╓К╥Jа`╡н╜p"; char *msg_main_da = "╗C╓И╔╜╖║"; char *msg_main_mt = "╗C╓Ка`╜p"; /* month HTML page strings */ char *msg_hmth_du = "Daily usage for"; char *msg_hmth_hu = "Hourly usage for"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "╔╜╖║"; char *msg_h_max = "Max"; char *msg_h_total = "а`╘M"; char *msg_h_totals= "а`╘M"; char *msg_h_day = "╓И"; char *msg_h_mth = "╓К"; char *msg_h_hour = "╓p╝и"; char *msg_h_hits = "е╙╗З╪ф"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visits"; char *msg_h_files = "юи╝в"; char *msg_h_sites = "╨Т╞╦╪ф"; char *msg_h_xfer = "╤г╟e╤q║]KB║^"; char *msg_h_hname = "╔D╬В╕W╨ы"; char *msg_h_url = "╨Т╜╤╦Т╝|"; char *msg_h_agent = "бsдЩ╬╧"; char *msg_h_ref = "╗с╥╫╨Т╜╤"; char *msg_h_ctry = "╟Й╝a"; char *msg_h_search= "Search String"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "╗C╓И╡н╜p"; char *msg_hlnk_hs = "╗C╓p╝и╡н╜p"; char *msg_hlnk_u = "╨Т╜╤╦Т╝|"; char *msg_hlnk_s = "╗с╥╫╨Т╞╦"; char *msg_hlnk_a = "бsдЩ╬╧"; char *msg_hlnk_c = "╟Й╝a"; char *msg_hlnk_r = "╗с╥╫╨Т╜╤"; char *msg_hlnk_en = "Entry"; char *msg_hlnk_ex = "Exit"; char *msg_hlnk_sr = "Search"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "╗C╓К╡н╜p--"; char *msg_mtot_th = "а`е╙╗З╪ф"; char *msg_mtot_tf = "а`юи╝в╪ф"; char *msg_mtot_tx = "а`╤г╟e╤q║]KB║^"; char *msg_mtot_us = "╗с╥╫╨Т╞╦а`╪ф║]╓ё╔]╖t╜╚бп╙л║^"; char *msg_mtot_ur = "╗с╥╫╨Т╜╤а`╪ф║]╓ё╔]╖t╜╚бп╙л║^"; char *msg_mtot_ua = "╗с╥╫бsдЩ╬╧а`╪ф║]╓ё╔]╖t╜╚бп╙л║^"; char *msg_mtot_uu = "ЁQе╙╗З╙╨╨Т╜╤╦Т╝|а`╪ф║]╓ё╔]╖t╜╚бп╙л║^"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "Hits per Day"; char *msg_mtot_mhh= "Hits per Hour"; char *msg_mtot_mfd= "Files per Day"; char *msg_mtot_mpd= "Pages per Day"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "Visits per Day"; char *msg_mtot_mkd= "KBytes per Day"; char *msg_mtot_rc = "╨Т╜╤е╙╗З╝и╓╖╕^юЁ╔N╫X"; /* daily total table */ char *msg_dtot_ds = "╗C╓И╡н╜p "; /* hourly total table */ char *msg_htot_hs = "╗C╓p╝и╡н╜p "; /* country pie chart */ char *msg_ctry_use= "╗с╥╫╟Й╝a╡н╜p "; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "╕C╔X╚e"; char *msg_top_of = "╕W║A╕@╕Ё"; char *msg_top_s = "╜с╨Т╞╦"; char *msg_top_u = "╨Т╜╤╦Т╝|"; char *msg_top_r = "╜с╗с╥╫╨Т╜╤"; char *msg_top_a = "╨ьбsдЩ╬╧"; char *msg_top_c = "╜с╟Й╝a"; char *msg_top_en = "Total Entry Pages"; char *msg_top_ex = "Total Exit Pages"; char *msg_top_sr = "Total Search Strings"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "╓@╓К", "╓G╓К", "╓T╓К", "╔|╓К", "╓╜╓К", "╓╩╓К", "╓C╓К", "╓K╓К", "╓E╓К", "╓Q╓К", "╓Q╓@╓К", "╓Q╓G╓К"}; /* long month names - can be any length */ char *l_month[12]={ "╓@╓К", "╓G╓К", "╓T╓К", "╔|╓К", "╓╜╓К", "╓╩╓К", "╓C╓К", "╓K╓К", "╓E╓К", "╓Q╓К", "╓Q╓@╓К", "╓Q╓G╓К"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Usage Statistics for"; char *msg_h_other = "Other"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.croatian������������������������������������������������������0000644�0001750�0001750�00000105536�11032527214�017707� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.croatian Webalizer V2.0x Language Support file for Croatian. 28-Jun-1999 Original translation by Dinko Korunic and Mia Carapina 30-Apr-2001 updated for v2.0 by Dinko Korunic <kreator@fly.srk.fer.hr> 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Croatian"; char *langcode = "hr"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Period zbrajanja"; char *msg_hhdr_gt = "Generirano"; /* main index strings */ char *msg_main_us = "Pregled pristupa za"; /* char *msg_main_per= "Posljednjih 12 mjeseci"; */ char *msg_main_per= "Pregled po mjesecima"; char *msg_main_sum= "Pregled po mjesecima"; char *msg_main_da = "Dnevni prosjek"; char *msg_main_mt = "Mjesecni zbrojevi"; /* month HTML page strings */ char *msg_hmth_du = "Pristupi po danu za"; char *msg_hmth_hu = "Pristupi po satu za"; /* table header strings */ char *msg_h_by = "po"; char *msg_h_avg = "prosjek"; char *msg_h_max = "Max"; char *msg_h_total = "Ukupno"; char *msg_h_totals= "Ukupno za sve"; char *msg_h_day = "Dan"; char *msg_h_mth = "Mjesec"; char *msg_h_hour = "Sat"; char *msg_h_hits = "Pristupa"; char *msg_h_pages = "Stranica"; char *msg_h_visits= "Posjeta"; char *msg_h_files = "Datoteka"; char *msg_h_sites = "Kompjutera"; char *msg_h_xfer = "KB"; char *msg_h_hname = "Kompjuter"; char *msg_h_url = "URL"; char *msg_h_agent = "Korisnicki program"; char *msg_h_ref = "Referer"; char *msg_h_ctry = "Zemlja"; char *msg_h_search= "Tekst pretrazivanja"; char *msg_h_uname = "Korisnik"; /* links along top of page */ char *msg_hlnk_ds = "Dnevna statistika"; char *msg_hlnk_hs = "Statistika po satu"; char *msg_hlnk_u = "URL-ovi"; char *msg_hlnk_s = "Kompjuteri"; char *msg_hlnk_a = "Browseri"; char *msg_hlnk_c = "Zemlje"; char *msg_hlnk_r = "Referiranja"; char *msg_hlnk_en = "Ulaz"; char *msg_hlnk_ex = "Izlaz"; char *msg_hlnk_sr = "Pretraga"; char *msg_hlnk_i = "Korisnici"; /* monthly total table */ char *msg_mtot_ms = "Mjesecna statistika za"; char *msg_mtot_th = "Ukupno pristupa"; char *msg_mtot_tf = "Ukupno datoteka"; char *msg_mtot_tx = "Ukupno KBajta"; char *msg_mtot_us = "Ukupno razlicitih kompjutera"; char *msg_mtot_ur = "Ukupno razlicitih referiranja"; char *msg_mtot_ua = "Ukupno razlicitih browsera"; char *msg_mtot_uu = "Ukupno razlicitih URL-ova"; char *msg_mtot_ui = "Ukupno razlicitih korisnickih imena"; char *msg_mtot_mhd= "Pristupa na dan"; char *msg_mtot_mhh= "Pristupa na sat"; char *msg_mtot_mfd= "Datoteka na dan"; char *msg_mtot_mpd= "Datoteka na sat"; char *msg_mtot_msd= "Kompjutera na dan"; char *msg_mtot_mvd= "Posjeta na dan"; char *msg_mtot_mkd= "KBajta na dan"; char *msg_mtot_rc = "Pristupa po kodu"; /* daily total table */ char *msg_dtot_ds = "Dnevna statistika za"; /* hourly total table */ char *msg_htot_hs = "Statistika po satu za"; /* country pie chart */ char *msg_ctry_use= "Pristup po zemljama za"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Prvih"; char *msg_top_of = "od"; char *msg_top_s = "kompjutera"; char *msg_top_u = "URL-ova"; char *msg_top_r = "referiranja"; char *msg_top_a = "korisnickih programa"; char *msg_top_c = "zemalja"; char *msg_top_en = "ulaznih stranica"; char *msg_top_ex = "izlaznih stranica"; char *msg_top_sr = "tekstova pretrazivanja"; char *msg_top_i = "korisnickih imena"; char *msg_v_sites = "Pregled svih kompjutera"; char *msg_v_urls = "Pregled svih URL-ova"; char *msg_v_refs = "Pregled svih referisanja"; char *msg_v_agents= "Pregled svih korisnickih programa"; char *msg_v_search= "Pregled svih tekstova pretrazivanja"; char *msg_v_users = "Pregled svih korisnickih imena"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Sij", "Vel", "Ozu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"}; /* long month names - can be any length */ char *l_month[12]={ "Sijecanj", "Veljaca", "Ozujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Statistika pristupa za"; char *msg_h_other = "Ostalo"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nedefinirano/Nepoznato", 0,0,0 }, { IDX_3C('c','o','m'), "Komercijalni (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Obrazovni (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "SAD vlada (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Medjunarodni (int)", 0,0,0 }, { IDX_3C('m','i','l'), "SAD vojni (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Mrezne domene (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizacije (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Stari Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"NATO (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andora", 0,0,0 }, { IDX_2C('a','e'), "Ujedinjeni Arapski Emirati", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua i Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguila", 0,0,0 }, { IDX_2C('a','l'), "Albanija", 0,0,0 }, { IDX_2C('a','m'), "Armenija", 0,0,0 }, { IDX_2C('a','n'), "Nizozemski Antili", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antartik", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Americka Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austrija", 0,0,0 }, { IDX_2C('a','u'), "Australija", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbedzan", 0,0,0 }, { IDX_2C('b','a'), "Bosna i Hercegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Banglades", 0,0,0 }, { IDX_2C('b','e'), "Belgija", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bugarska", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermude", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivija", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahami", 0,0,0 }, { IDX_2C('b','t'), "Butan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet otok", 0,0,0 }, { IDX_2C('b','w'), "Bocvana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) otoci", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Centralnoafricka republika", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Svicarska", 0,0,0 }, { IDX_2C('c','i'), "Obala bjelokosti", 0,0,0 }, { IDX_2C('c','k'), "Cookovi otoci", 0,0,0 }, { IDX_2C('c','l'), "Cile", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "Kina", 0,0,0 }, { IDX_2C('c','o'), "Kolumbija", 0,0,0 }, { IDX_2C('c','r'), "Kostarika", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Bozicni otok", 0,0,0 }, { IDX_2C('c','y'), "Cipar", 0,0,0 }, { IDX_2C('c','z'), "Ceska republika", 0,0,0 }, { IDX_2C('d','e'), "Njemacka", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danska", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominikanska republika", 0,0,0 }, { IDX_2C('d','z'), "Algerija", 0,0,0 }, { IDX_2C('e','c'), "Ekvador", 0,0,0 }, { IDX_2C('e','e'), "Estonija", 0,0,0 }, { IDX_2C('e','g'), "Egipat", 0,0,0 }, { IDX_2C('e','h'), "Zapadna Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritreja", 0,0,0 }, { IDX_2C('e','s'), "Spanjolska", 0,0,0 }, { IDX_2C('e','t'), "Etiopija", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finska", 0,0,0 }, { IDX_2C('f','j'), "Fidzi", 0,0,0 }, { IDX_2C('f','k'), "Falklandski otoci (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Mikronezija", 0,0,0 }, { IDX_2C('f','o'), "Faroe otoci", 0,0,0 }, { IDX_2C('f','r'), "Francuska", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Velika Britanija (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Francuska Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Gana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Grenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Gvineja", 0,0,0 }, { IDX_2C('g','p'), "Gvadelopa", 0,0,0 }, { IDX_2C('g','q'), "Ekvatorijalna Gvineja", 0,0,0 }, { IDX_2C('g','r'), "Grcka", 0,0,0 }, { IDX_2C('g','s'), "Juzna Georgia and Juzni Sandwich otoci", 0,0,0 }, { IDX_2C('g','t'), "Gvatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Gvinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Gvajana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard i McDonald otoci", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Hrvatska", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Madjarska", 0,0,0 }, { IDX_2C('i','d'), "Indonezija", 0,0,0 }, { IDX_2C('i','e'), "Irska", 0,0,0 }, { IDX_2C('i','l'), "Izrael", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Indija", 0,0,0 }, { IDX_2C('i','o'), "Britanski Indijski oceanski teritorij", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italija", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamajka", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenija", 0,0,0 }, { IDX_2C('k','g'), "Kirgistan", 0,0,0 }, { IDX_2C('k','h'), "Kambodza", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Komoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts i Nevis", 0,0,0 }, { IDX_2C('k','p'), "Koreja (Sjeverna)", 0,0,0 }, { IDX_2C('k','r'), "Koreja (Juzna)", 0,0,0 }, { IDX_2C('k','w'), "Kuvajt", 0,0,0 }, { IDX_2C('k','y'), "Kajmanski otoci", 0,0,0 }, { IDX_2C('k','z'), "Kazahstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Sveta Lucija", 0,0,0 }, { IDX_2C('l','i'), "Lihtenstajn", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberija", 0,0,0 }, { IDX_2C('l','s'), "Lesoto", 0,0,0 }, { IDX_2C('l','t'), "Litva", 0,0,0 }, { IDX_2C('l','u'), "Luksemburg", 0,0,0 }, { IDX_2C('l','v'), "Latvija", 0,0,0 }, { IDX_2C('l','y'), "Libija", 0,0,0 }, { IDX_2C('m','a'), "Maroko", 0,0,0 }, { IDX_2C('m','c'), "Monako", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marshall otoci", 0,0,0 }, { IDX_2C('m','k'), "Makedonija", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolija", 0,0,0 }, { IDX_2C('m','o'), "Makao", 0,0,0 }, { IDX_2C('m','p'), "Sjeverni Marijanski otoci", 0,0,0 }, { IDX_2C('m','q'), "Martinik", 0,0,0 }, { IDX_2C('m','r'), "Mauritanija", 0,0,0 }, { IDX_2C('m','s'), "Monserat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauricij", 0,0,0 }, { IDX_2C('m','v'), "Maldivi", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Meksiko", 0,0,0 }, { IDX_2C('m','y'), "Malezija", 0,0,0 }, { IDX_2C('m','z'), "Mozambija", 0,0,0 }, { IDX_2C('n','a'), "Namibija", 0,0,0 }, { IDX_2C('n','c'), "Nova Kaledonija", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk otok", 0,0,0 }, { IDX_2C('n','g'), "Nigerija", 0,0,0 }, { IDX_2C('n','i'), "Nikaragva", 0,0,0 }, { IDX_2C('n','l'), "Nizozemska", 0,0,0 }, { IDX_2C('n','o'), "Norveska", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Novi Zeland", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Francuska Polinezija", 0,0,0 }, { IDX_2C('p','g'), "Papua Nova Gvineja", 0,0,0 }, { IDX_2C('p','h'), "Filipini", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poljska", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre i Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Portoriko", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paragvaj", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumunjska", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Ruska federacija", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Saudijska Arabija", 0,0,0 }, { IDX_2C('s','b'), "Solomonski otoci", 0,0,0 }, { IDX_2C('s','c'), "Sejseli", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Svedska", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Sveta Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenija", 0,0,0 }, { IDX_2C('s','j'), "Svalbard i Jan Mayen otoci", 0,0,0 }, { IDX_2C('s','k'), "Slovacka republika", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalija", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome i Principe", 0,0,0 }, { IDX_2C('s','u'), "SSSR (bivsi)", 0,0,0 }, { IDX_2C('s','v'), "Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Svazilend", 0,0,0 }, { IDX_2C('t','c'), "Turks i Caicos otoci", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "Francuski juzni teritoriji", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tajland", 0,0,0 }, { IDX_2C('t','j'), "Tadjikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunizija", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Istocni Timor", 0,0,0 }, { IDX_2C('t','r'), "Turska", 0,0,0 }, { IDX_2C('t','t'), "Trinidad i Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Tajvan", 0,0,0 }, { IDX_2C('t','z'), "Tanzanija", 0,0,0 }, { IDX_2C('u','a'), "Ukrajina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Ujedinjeno kraljevstvo (UK)", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying otoci", 0,0,0 }, { IDX_2C('u','s'), "Sjedinjene americke drzave", 0,0,0 }, { IDX_2C('u','y'), "Urugvaj", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent i Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venecuela", 0,0,0 }, { IDX_2C('v','g'), "Djevicanski otoci (British)", 0,0,0 }, { IDX_2C('v','i'), "Djevicanski otoci (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Vijetnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis i Futuna otoci", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Jugoslavija", 0,0,0 }, { IDX_2C('z','a'), "Juzna Afrika", 0,0,0 }, { IDX_2C('z','m'), "Zambija", 0,0,0 }, { IDX_2C('z','w'), "Zimbabve", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.czech���������������������������������������������������������0000644�0001750�0001750�00000107321�11176246604�017207� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.czech Webalizer V2.0x Language Support file for Czech. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 15-Oct-1998 Translation by Jiri T. Pelech (pes@inway.cz) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 07-Jun-2000 translation added words (Jindrich.Fucik@sh.cvut.cz) 28-Mar-2002 Fixes/corrections by Pavel Kolesnikov (k@les.cz) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) 30-Mar-2009 translations/fixes by Vitezslav Samel (vita@samel.cz) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Czech"; char *langcode = "cs"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "zaznamu"; char *msg_addresses="adres"; char *msg_ignored = "ignorovano"; char *msg_bad = "chybnych"; char *msg_in = "za"; char *msg_seconds = "vterin"; /* progress and setup error messages */ char *msg_log_err = "Chyba: Nemohu otevrit log soubor"; char *msg_log_use = "Pouzivam log soubor"; char *msg_dir_err = "Chyba: Nemohu prejit do adresare"; char *msg_dir_use = "Vytvarim vystup v"; char *msg_cur_dir = "aktualnim adresari"; char *msg_hostname= "Jmeno pocitace pro sestavy je"; char *msg_ign_hist= "Ignoruji predchozi historii..."; char *msg_no_hist = "Nemohu najit soubor historie..."; char *msg_get_hist= "Ctu soubor historie..."; char *msg_put_hist= "Ukladam soubor historie..."; char *msg_hist_err= "Chyba: Nemohu zapsat soubor historie"; char *msg_bad_hist= "Chyba: Ignoruji chybny zaznam v historii"; char *msg_bad_conf= "Chyba: Nemohu otevrit konfiguracni soubor"; char *msg_bad_key = "Pozor: Neplatne klicove slovo"; char *msg_bad_date= "Chyba: Preskakuji zaznam (spatne datum)"; char *msg_ign_nscp= "Preskakuji hlavickovy zaznam z Netscape"; char *msg_bad_rec = "Preskakuji spatny zaznam"; char *msg_no_vrec = "Nenalezeny platne zaznamy!"; char *msg_gen_rpt = "Vytvarim sestavu pro"; char *msg_gen_sum = "Vytvarim sumarni sestavu"; char *msg_get_data= "Ctu udaje z minuleho zpracovani..."; char *msg_put_data= "Ukladam udaje aktualniho zpracovani..."; char *msg_no_data = "Nemohu najit udaje z minuleho zpracovani..."; /*char *msg_bad_data= "Neplatny datovy zaznam"; */ char *msg_bad_data= "Chyba: Nemohu obnovit data aktualniho zpracovani"; char *msg_data_err= "Chyba: Nemohu ulozit udaje aktualniho zpracovani"; char *msg_dup_data= "Pozor: Nalezeny pravdepodobne duplicitni udaje"; /* DNS Stuff */ char *msg_dns_nocf= "Nejsou specifikovany zadne cache soubory, koncim..."; char *msg_dns_nodb= "Chyba: Nemohu otevrit soubory DNS cache"; char *msg_dns_nolk= "Chyba: Nemohu zamknout soubory DNS cache"; char *msg_dns_usec= "Pouzivam soubory DNS cache"; char *msg_dns_rslv= "DNS Kontrola"; char *msg_dns_none= "Neni co zpracovat"; char *msg_dns_abrt= "Neni podpora pro DNS, koncim..."; /* Geolocation stuff */ char *msg_geo_open= "Nemohu otevrit soubor"; char *msg_geo_use = "Pouzivam"; char *msg_geo_nolu= "vyhledavani vypnuto"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nemohu alokovat dost pameti, Nej mista jsou nefunkcni!"; char *msg_nomem_tr= "Nemohu alokovat dost pameti, Nej odkazovace jsou nefunkcni!"; char *msg_nomem_tu= "Nemohu alokovat dost pameti, Nej URL jsou nefunkcni!"; char *msg_nomem_tc= "Nemohu alokovat dost pameti, Nej zeme jsou nefunkcni!"; char *msg_nomem_ta= "Nemohu alokovat dost pameti, Nej prohlizece jsou nefunkcni!"; char *msg_nomem_tsr="Nemohu alokovat dost pameti, Nej hledane retezce jsou nefunkcni!"; char *msg_nomem_ti= "Nemohu alokovat dost pameti, Nej uzivatele jsou nefunkcni!"; char *msg_nomem_dh= "Chyba doplneni bloku pocitace (denni), preskakuji"; char *msg_nomem_mh= "Chyba doplneni bloku pocitace (mesicni), preskakuji"; char *msg_nomem_u = "Chyba doplneni bloku URL, preskakuji"; char *msg_nomem_a = "Chyba doplneni bloku prohlizece, preskakuji"; char *msg_nomem_r = "Chyba doplneni bloku odkazovace, preskakuji"; char *msg_nomem_sc= "Chyba doplneni hledanych retezcu, preskakuji"; char *msg_nomem_i = "Chyba doplneni uzivatelu, preskakuji"; /* log record errors */ char *msg_big_rec = "Chyba: Preskakuji prilis dlouhy zaznam v logu"; char *msg_big_host= "Pozor: Orezavam prilis dlouhe jmeno pocitace"; char *msg_big_date= "Pozor: Orezavam prilis dlouhe pole datumu"; char *msg_big_req = "Pozor: Orezavam prilis dlouhe pole zadosti"; char *msg_big_ref = "Pozor: Orezavam prilis dlouhe pole odkazovace"; char *msg_big_user= "Pozor: Orezavam prilis dlouhe jmeno uzivatele"; char *msg_big_one = "Pozor: Retezec prekrocil velikost ukladaciho mista"; /* misc errors */ char *msg_no_open = "Chyba: Nemohu otevrit soubor"; /* Help display... */ char *h_usage1 = "Pouzivani"; char *h_usage2 = "[volby] [log soubor]"; char *h_msg[]= { "-h = vypis tento help" , "-V = vypis informaci o verzi" , "-v = bud upovidany" , "-d = vypis dalsi ladici informace" , "-F type = typ logu. type= (clf | ftp | squid | w3c)", "-f = chyby v prekladu stranek" , "-i = ignoruj soubor historie" , "-p = zapamatuj stav (inkrementalne)" , "-b = ignoruj stav (inkrementalne)" , "-q = potlac informativni zpravy" , "-Q = potlac VSECHNY zpravy" , "-Y = potlac graf statu" , "-G = potlac hodinovy graf" , "-H = potlac hodinove statistiky" , "-L = potlac barevne kody v legendach grafu" , "-l poc = pouzij 'num' radek v podkladu grafu" , "-m poc = cas pro navstevu (seconds)" , "-T = vypis casove informace" , "-c file = pouzij konfig. soubor 'file'" , "-n name = pouzij jmeno pocitace" , "-o adr = vystupni adresar" , "-t name = nazev sestavy 'name'" , "-a name = skryj prohlizec 'name'" , "-r name = skryj odkazovac 'name'" , "-s name = skryj misto 'name'" , "-u name = skryj URL 'name'" , "-x name = pouzij priponu souboru 'name'" , "-O name = vynechej stranku 'name'" , "-P name = stranky maji priponu 'name'" , "-I name = nazev Index(u) 'name'" , "-K poc = zobraz 'poc' mesicu v prehledu" , "-k poc = zobraz 'poc' mesicu v prehledovem grafu", "-A poc = zobraz 'poc' Nej prohlizecu" , "-C poc = zobraz 'poc' Nej zemi" , "-R poc = zobraz 'poc' Nej odkazovacu" , "-S poc = zobraz 'poc' Nej mist" , "-U poc = zobraz 'poc' Nej URL" , "-e poc = zobraz 'poc' vstupnich stranek" , "-E poc = zobraz 'poc' odchozich stranek" , "-g poc = seskup domeny do 'poc' urovni" , "-X = skryt jednotlive site" , "-z dir = vlajky zemi jsou v adresari 'dir'" , #ifdef USE_DNS "-D name = pouzij DNS Cache 'name'" , "-N poc = pocet DNS procesu (0=zakazat)" , "-j = pouzij vestavene vyhledavani v GeoDB" , "-J name = pouzij GeoDB databazi 'name'" , #endif #ifdef USE_GEOIP "-w = pouzij vyhledavani pomoci GeoIP" , "-W name = pouzij GeoIP databazi 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "ObdobМ statistiky"; char *msg_hhdr_gt = "GenerovАno"; /* main index strings */ char *msg_main_us = "Statistiky pЬМstupЫ pro"; /* char *msg_main_per= "PoslednМch 12 mЛsМcЫ"; */ char *msg_main_per= "MЛsМХnМ pЬehled"; char *msg_main_sum= "MЛsМХnМ pЬehled"; char *msg_main_da = "DennМ prЫmЛr"; char *msg_main_mt = "MЛsМХnМ souХty"; /* month HTML page strings */ char *msg_hmth_du = "DennМ vyu╬itМ za"; char *msg_hmth_hu = "HodinovИ vyu╬itМ za"; /* table header strings */ char *msg_h_by = "podle"; char *msg_h_avg = "PrЫm"; char *msg_h_max = "Max"; char *msg_h_total = "Celkem"; char *msg_h_totals= "Celkem"; char *msg_h_day = "Den"; char *msg_h_mth = "MЛsМc"; char *msg_h_hour = "Hodina"; char *msg_h_hits = "PЬМstupЫ"; char *msg_h_pages = "StrАnek"; char *msg_h_visits= "NАv╧tЛv"; char *msg_h_files = "SouborЫ"; char *msg_h_sites = "MМst"; char *msg_h_xfer = "KBytЫ"; char *msg_h_hname = "PoХМtaХ"; char *msg_h_url = "URL"; char *msg_h_agent = "ProhlМ╬eХ"; char *msg_h_ref = "OdkazovaХ"; char *msg_h_ctry = "ZemЛ"; char *msg_h_search= "HledАnМ"; char *msg_h_uname = "U╬ivatel"; /* links along top of page */ char *msg_hlnk_ds = "DennМ statistiky"; char *msg_hlnk_hs = "HodinovИ statistiky"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "MМsta"; char *msg_hlnk_a = "ProhlМ╬eХe"; char *msg_hlnk_c = "ZemЛ"; char *msg_hlnk_r = "OdkazovaХe"; char *msg_hlnk_en = "Vstupy"; char *msg_hlnk_ex = "VЩstupy"; char *msg_hlnk_sr = "HledАnМ"; char *msg_hlnk_i = "U╬ivatelИ"; /* monthly total table */ char *msg_mtot_ms = "MЛsМХnМ statistiky za"; char *msg_mtot_th = "Celkem nАv╧tЛv"; char *msg_mtot_tf = "Celkem souborЫ"; char *msg_mtot_tx = "Celkem KBytЫ"; char *msg_mtot_us = "Celkem jedineХnЩch mМst"; char *msg_mtot_ur = "Celkem jedineХnЩch odkazovaХЫ"; char *msg_mtot_ua = "Celkem jedineХnЩch ProhlМ╬eХЫ"; char *msg_mtot_uu = "Celkem jedineХnЩch URL"; char *msg_mtot_ui = "Celkem jedineХnЩch u╬ivatelЫ"; char *msg_mtot_mhd= "ObjektЫ za den"; char *msg_mtot_mhh= "ObjektЫ za hodinu"; char *msg_mtot_mfd= "SouborЫ za den"; char *msg_mtot_mpd= "StrАnek za den"; char *msg_mtot_msd= "MМst za den"; char *msg_mtot_mvd= "NАv╧tЛv za den"; char *msg_mtot_mkd= "KBytЫ za den"; char *msg_mtot_rc = "NАv╧tЛvy podle kСdu odpovЛdi"; /* daily total table */ char *msg_dtot_ds = "DennМ statistiky za"; /* hourly total table */ char *msg_htot_hs = "HodinovИ statistiky za"; /* country pie chart */ char *msg_ctry_use= "Vyu╬itМ podle zemЛ"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Nej"; char *msg_top_of = "z"; char *msg_top_s = "mМst celkem"; char *msg_top_u = "URL celkem"; char *msg_top_r = "odkazovaХЫ celkem"; char *msg_top_a = "prohlМ╬eХЫ celkem"; char *msg_top_c = "zemМ celkem"; char *msg_top_en = "vstupnМch strАnek celkem"; char *msg_top_ex = "vЩstupnМch strАnek celkem"; char *msg_top_sr = "hledanЩch ЬetЛzcЫ celkem"; char *msg_top_i = "u╬ivatelЫ celkem"; char *msg_v_sites = "zobrazit v╧echny sМtЛ"; char *msg_v_urls = "zobrazit v╧echny URL"; char *msg_v_refs = "zobrazit v╧echny referery"; char *msg_v_agents= "zobrazit v╧echny u╬ivatelskИ prohlМ╬eХe"; char *msg_v_search= "zobrazit v╧echny hledanИ strАnky"; char *msg_v_users = "zobrazit v╧echna u╬ivatelskА jmИna"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Led", "зno", "BЬe", "Dub", "KvЛ", "хer", "хvc", "Srp", "ZАЬ", "ьМj", "Lis", "Pro"}; /* long month names - can be any length */ char *l_month[12]={ "leden", "Зnor", "bЬezen", "duben", "kvЛten", "Хerven", "Хervenec", "srpen", "zАЬМ", "ЬМjen", "listopad", "prosinec"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "NedefinovanЩ kСd odpovЛdi", 0 }, { "KСd 100 - PokraХovat", 0 }, { "KСd 101 - PЬepМnАnМ protokolЫ", 0 }, { "KСd 200 - OK", 0 }, { "KСd 201 - VytvoЬeno", 0 }, { "KСd 202 - PЬijato", 0 }, { "KСd 203 - NeautoritativnМ informace", 0 }, { "KСd 204 - ╝АdnЩ obsah", 0 }, { "KСd 205 - Obnovit obsah", 0 }, { "KСd 206 - хАsteХnЩ obsah", 0 }, { "KСd 300 - VМcenАsobnИ volby", 0 }, { "KСd 301 - PЬesunuto trvale", 0 }, { "KСd 302 - PЬМtomno", 0 }, { "KСd 303 - Viz dal╧М", 0 }, { "KСd 304 - NezmЛnЛno", 0 }, { "KСd 305 - Pou╬ij proxy", 0 }, { "KСd 307 - PЬesunuto doХasnЛ", 0 }, { "KСd 400 - ╘patnЩ po╬adavek", 0 }, { "KСd 401 - NeautorizovАn", 0 }, { "KСd 402 - Vy╬adovАna platba", 0 }, { "KСd 403 - ZakАzАno", 0 }, { "KСd 404 - Nenalezeno", 0 }, { "KСd 405 - NepovolenА Metoda", 0 }, { "KСd 406 - NepЬМpustnИ", 0 }, { "KСd 407 - Vy╬adovАna autentikace proxy", 0 }, { "KСd 408 - PЬekroХen ХasovЩ limit", 0 }, { "KСd 409 - Konflikt", 0 }, { "KСd 410 - Zru╧eno", 0 }, { "KСd 411 - ╝Аdost o dИlku", 0 }, { "KСd 412 - PodmМnka nesplnЛna", 0 }, { "KСd 413 - Po╬adavek je pЬМli╧ velkЩ", 0 }, { "KСd 414 - URI je pЬМli╧ dlouhИ", 0 }, { "KСd 415 - NepodporovanЩ typ mИdia", 0 }, { "KСd 416 - Po╬adovanЩ rozsah neodpovМdА", 0 }, { "KСd 417 - OХekАvАnМ selhalo", 0 }, { "KСd 500 - IntenrnМ chyba serveru", 0 }, { "KСd 501 - Nezavedeno", 0 }, { "KСd 502 - ╘patnА brАna", 0 }, { "KСd 503 - Slu╬ba nedostupnА", 0 }, { "KСd 504 - BrАna neodpovЛdЛla", 0 }, { "KСd 505 - NepodporovanА verze HTTP", 0 } }; char *msg_title = "Statistiky pЬМstupЫ pro"; char *msg_h_other = "JinИ"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nezji╧tЛnА/neznАmА", 0,0,0 }, { IDX_3C('c','o','m'), "KomerХnМ (com)", 0,0,0 }, { IDX_3C('e','d','u'), "AkademickА (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US vlАdnМ (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "MezinАrodnМ (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US vojenskА (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "SМ╩ (net)", 0,0,0 }, { IDX_3C('o','r','g'), "NeziskovА organizace (org)", 0,0,0 }, { IDX_3C('b','i','z'), "ObchodnМ spoleХnosti (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "KatalАnskА komunita (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "GlobАlnМ adresАЬ kontaktЫ (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"LeteckЩ prЫmysl (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asijsko/pacifickА komunita (asia)",0,0,0 }, { IDX_4C('c','o','o','p'),"Dru╬stva (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"ObecnИ TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"LidskИ zdroje (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"ObecnИ mobilnМ TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"OsobnМ (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"PЫvodnМ Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"NATO (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Muzea (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "CestovnМ ruch (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ostrov Ascension", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "SpojenИ arabskИ emirАty", 0,0,0 }, { IDX_2C('a','f'), "AfghАnistАn", 0,0,0 }, { IDX_2C('a','g'), "Antigua a Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "AlbАnie", 0,0,0 }, { IDX_2C('a','m'), "ArmИnie", 0,0,0 }, { IDX_2C('a','n'), "NizozemskИ Antily", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktida", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "AmerickА Samoa", 0,0,0 }, { IDX_2C('a','t'), "Rakousko", 0,0,0 }, { IDX_2C('a','u'), "AustrАlie", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Alandy", 0,0,0 }, { IDX_2C('a','z'), "Azerbajd╬Аn", 0,0,0 }, { IDX_2C('b','a'), "Bosna a Hercegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "BangladИ╧", 0,0,0 }, { IDX_2C('b','e'), "Belgie", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulharsko", 0,0,0 }, { IDX_2C('b','h'), "Bahrajn", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "SvatЩ BartolomЛj", 0,0,0 }, { IDX_2C('b','m'), "Bermudy", 0,0,0 }, { IDX_2C('b','n'), "Brunej", 0,0,0 }, { IDX_2C('b','o'), "BolМvie", 0,0,0 }, { IDX_2C('b','r'), "BrazМlie", 0,0,0 }, { IDX_2C('b','s'), "Bahamy", 0,0,0 }, { IDX_2C('b','t'), "BhЫtАn", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "BЛlorusko", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "KokosovИ (Keelingovy) ostrovy", 0,0,0 }, { IDX_2C('c','d'), "Kongo", 0,0,0 }, { IDX_2C('c','f'), "StЬedoafrickА republika", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "╘vЩcarsko", 0,0,0 }, { IDX_2C('c','i'), "PobЬe╬М slonoviny", 0,0,0 }, { IDX_2C('c','k'), "Cookovy ostrovy", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "хМna", 0,0,0 }, { IDX_2C('c','o'), "Kolumbie", 0,0,0 }, { IDX_2C('c','r'), "Kostarika", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "VАnoХnМ ostrovy", 0,0,0 }, { IDX_2C('c','y'), "Kypr", 0,0,0 }, { IDX_2C('c','z'), "хeskА republika", 0,0,0 }, { IDX_2C('d','e'), "NЛmecko", 0,0,0 }, { IDX_2C('d','j'), "D╬ibuti", 0,0,0 }, { IDX_2C('d','k'), "DАnsko", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "DominikАnskА republika", 0,0,0 }, { IDX_2C('d','z'), "Al╬Мrsko", 0,0,0 }, { IDX_2C('e','c'), "EkvАdor", 0,0,0 }, { IDX_2C('e','e'), "Estonsko", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "ZАpadnМ Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "╘panЛlsko", 0,0,0 }, { IDX_2C('e','t'), "Etiopie", 0,0,0 }, { IDX_2C('e','u'), "EvropskА unie", 0,0,0 }, { IDX_2C('f','i'), "Finsko", 0,0,0 }, { IDX_2C('f','j'), "Fid╬i", 0,0,0 }, { IDX_2C('f','k'), "FalklandskИ ostrovy (MalvМny)", 0,0,0 }, { IDX_2C('f','m'), "MikronИzie", 0,0,0 }, { IDX_2C('f','o'), "FaerskИ ostrovy", 0,0,0 }, { IDX_2C('f','r'), "Francie", 0,0,0 }, { IDX_2C('g','a'), "Gabun", 0,0,0 }, { IDX_2C('g','b'), "VelkА BritАnie (GB)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Gruzie", 0,0,0 }, { IDX_2C('g','f'), "FrancouzskА Guajana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "GrСnsko", 0,0,0 }, { IDX_2C('g','m'), "Gambie", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "RovnМkovА Guinea", 0,0,0 }, { IDX_2C('g','r'), "ьecko", 0,0,0 }, { IDX_2C('g','s'), "Ji╬nМ Georgia a Ji╬nМ Sandwichovy ostrovy", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hongkong", 0,0,0 }, { IDX_2C('h','m'), "Heardovy a McDonaldovy ostrovy", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Chorvatsko", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "MaОarsko", 0,0,0 }, { IDX_2C('i','d'), "IndonИsie", 0,0,0 }, { IDX_2C('i','e'), "Irsko", 0,0,0 }, { IDX_2C('i','l'), "Izrael", 0,0,0 }, { IDX_2C('i','m'), "Ostrov Man", 0,0,0 }, { IDX_2C('i','n'), "Indie", 0,0,0 }, { IDX_2C('i','o'), "BritskИ indickooceАnskИ ЗzemМ", 0,0,0 }, { IDX_2C('i','q'), "IrАk", 0,0,0 }, { IDX_2C('i','r'), "мrАn", 0,0,0 }, { IDX_2C('i','s'), "Island", 0,0,0 }, { IDX_2C('i','t'), "ItАlie", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamajka", 0,0,0 }, { IDX_2C('j','o'), "JordАnsko", 0,0,0 }, { IDX_2C('j','p'), "Japonsko", 0,0,0 }, { IDX_2C('k','e'), "KeРa", 0,0,0 }, { IDX_2C('k','g'), "KyrgyzstАn", 0,0,0 }, { IDX_2C('k','h'), "Kambod╬a", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Komory", 0,0,0 }, { IDX_2C('k','n'), "SvatЩ Kry╧tof a Nevis", 0,0,0 }, { IDX_2C('k','p'), "SevernМ Korea", 0,0,0 }, { IDX_2C('k','r'), "Ji╬nМ Korea", 0,0,0 }, { IDX_2C('k','w'), "Kuvajt", 0,0,0 }, { IDX_2C('k','y'), "KajmanskИ ostrovy", 0,0,0 }, { IDX_2C('k','z'), "KazachstАn", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "SvatА Lucie", 0,0,0 }, { IDX_2C('l','i'), "Lichten╧tejnsko", 0,0,0 }, { IDX_2C('l','k'), "SrМ Lanka", 0,0,0 }, { IDX_2C('l','r'), "LibИrie", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Litva", 0,0,0 }, { IDX_2C('l','u'), "Lucembursko", 0,0,0 }, { IDX_2C('l','v'), "Loty╧sko", 0,0,0 }, { IDX_2C('l','y'), "Libye", 0,0,0 }, { IDX_2C('m','a'), "Maroko", 0,0,0 }, { IDX_2C('m','c'), "Monako", 0,0,0 }, { IDX_2C('m','d'), "Moldavsko", 0,0,0 }, { IDX_2C('m','e'), "хernА hora", 0,0,0 }, { IDX_2C('m','f'), "SvatЩ Martin (francouzskА ХАst)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marshallovy ostrovy", 0,0,0 }, { IDX_2C('m','k'), "Makedonie", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolsko", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "SevernМ Mariany", 0,0,0 }, { IDX_2C('m','q'), "Martinik", 0,0,0 }, { IDX_2C('m','r'), "MauretАnie", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauricius", 0,0,0 }, { IDX_2C('m','v'), "Maledivy", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexiko", 0,0,0 }, { IDX_2C('m','y'), "Malajsie", 0,0,0 }, { IDX_2C('m','z'), "Mozambik", 0,0,0 }, { IDX_2C('n','a'), "Namibie", 0,0,0 }, { IDX_2C('n','c'), "NovА Kaledonie", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk", 0,0,0 }, { IDX_2C('n','g'), "NigИrie", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Nizozemsko", 0,0,0 }, { IDX_2C('n','o'), "Norsko", 0,0,0 }, { IDX_2C('n','p'), "NepАl", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "NovЩ ZИland", 0,0,0 }, { IDX_2C('o','m'), "OmАn", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "FrancouzskА PolynИsie", 0,0,0 }, { IDX_2C('p','g'), "Papua-NovА Guinea", 0,0,0 }, { IDX_2C('p','h'), "FilipМny", 0,0,0 }, { IDX_2C('p','k'), "PАkistАn", 0,0,0 }, { IDX_2C('p','l'), "Polsko", 0,0,0 }, { IDX_2C('p','m'), "Saint-Pierre a Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairnovy ostrovy", 0,0,0 }, { IDX_2C('p','r'), "Portoriko", 0,0,0 }, { IDX_2C('p','s'), "PalestinskА autonomie", 0,0,0 }, { IDX_2C('p','t'), "Portugalsko", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Katar", 0,0,0 }, { IDX_2C('r','e'), "RИunion", 0,0,0 }, { IDX_2C('r','o'), "Rumunsko", 0,0,0 }, { IDX_2C('r','s'), "Srbsko", 0,0,0 }, { IDX_2C('r','u'), "RuskА federace", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "SaЗdskА ArАbie", 0,0,0 }, { IDX_2C('s','b'), "╘alamounovy ostrovy", 0,0,0 }, { IDX_2C('s','c'), "Seychely", 0,0,0 }, { IDX_2C('s','d'), "SЗdАn", 0,0,0 }, { IDX_2C('s','e'), "╘vИdsko", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Sv. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovinsko", 0,0,0 }, { IDX_2C('s','j'), "╘picberky a ostrov Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "SlovenskА republika", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "SomАlsko", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "SvatЩ TomА╧ a PrincЫv ostrov", 0,0,0 }, { IDX_2C('s','u'), "SovЛtskЩ svaz", 0,0,0 }, { IDX_2C('s','v'), "SalvАdor", 0,0,0 }, { IDX_2C('s','y'), "SЩrie", 0,0,0 }, { IDX_2C('s','z'), "Svazijsko", 0,0,0 }, { IDX_2C('t','c'), "Turks a Caicos", 0,0,0 }, { IDX_2C('t','d'), "хad", 0,0,0 }, { IDX_2C('t','f'), "FrancouzskА ji╬nМ teritoria-Antarktida", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thajsko", 0,0,0 }, { IDX_2C('t','j'), "TАd╬ikistАn", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "VЩchodnМ Timor", 0,0,0 }, { IDX_2C('t','m'), "TurkmenistАn", 0,0,0 }, { IDX_2C('t','n'), "Tunisko", 0,0,0 }, { IDX_2C('t','o'), "Tongo", 0,0,0 }, { IDX_2C('t','p'), "VЩchodnМ Timor", 0,0,0 }, { IDX_2C('t','r'), "Turecko", 0,0,0 }, { IDX_2C('t','t'), "Trinidad a Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "TanzАnie", 0,0,0 }, { IDX_2C('u','a'), "Ukrajina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "VelkА BritАnie (UK)", 0,0,0 }, { IDX_2C('u','m'), "Men╧М odlehlИ ostrovy USA", 0,0,0 }, { IDX_2C('u','s'), "USA (US)", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "UzbekistАn", 0,0,0 }, { IDX_2C('v','a'), "VatikАn", 0,0,0 }, { IDX_2C('v','c'), "SvatЩ Vincenc a Grenadiny", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "BritskИ PanenskИ ostrovy", 0,0,0 }, { IDX_2C('v','i'), "AmerickИ PanenskИ ostrovy", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis a Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "JugoslАvie", 0,0,0 }, { IDX_2C('z','a'), "JihoafrickА republika", 0,0,0 }, { IDX_2C('z','m'), "Zambie", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "AnonymnМ proxy", 0,0,0 }, { IDX_2C('a','2'), "SatelitnМ poskytovatelИ", 0,0,0 }, { IDX_2C('o','1'), "OstatnМ", 0,0,0 }, { IDX_2C('a','p'), "AsijskopacifickЩ region", 0,0,0 }, { IDX_3C('l','a','n'), "LokАlnМ sМ╩ (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.danish��������������������������������������������������������0000644�0001750�0001750�00000106154�11032527214�017352� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.danish Webalizer V2.0x Language Support file for Danish. 13-Jul-1999 by Michael B. Jenner (mj@kom.auc.dk) 13-Nov-1999 Major update by Jonas Koch Bentzen (post@jonaskochbentzen.dk) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Danish"; char *langcode = "da"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "poster"; char *msg_addresses="addresses"; char *msg_ignored = "ignorerede"; char *msg_bad = "fejlagtige"; char *msg_in = "pЕ"; char *msg_seconds = "sekunder"; /* progress and setup error messages */ char *msg_log_err = "Fejl: kan ikke Еbne logfil"; char *msg_log_use = "Anvender logfil"; char *msg_dir_err = "Fejl: kan ikke skifte bibliotek til"; char *msg_dir_use = "Opretter output i biblioteket"; char *msg_cur_dir = "aktivt bibliotek"; char *msg_hostname= "Rapporterne ligger pЕ maskinen med vФrtsnavnet"; char *msg_ign_hist= "Ignorerer tidligere historie ..."; char *msg_no_hist = "Historiefilen findes ikke..."; char *msg_get_hist= "LФser historiefil ..."; char *msg_put_hist= "Gemmer historie-information ..."; char *msg_hist_err= "Fejl: Kan ikke skrive til historiefil"; char *msg_bad_hist= "Fejl: Ignorerer forkert historiepost"; char *msg_bad_conf= "Fejl: Kan ikke Еbne konfigurationsfil"; char *msg_bad_key = "Advarsel: Forkert nЬgleord"; char *msg_bad_date= "Fejl: Springer over post (forkert dato)"; char *msg_ign_nscp= "Springer over post med Netscapes hoved"; char *msg_bad_rec = "Springer over forkert post"; char *msg_no_vrec = "Fandt ingen korrekte poster!"; char *msg_gen_rpt = "Genererer rapport for"; char *msg_gen_sum = "Genererer opsummerende rapport"; char *msg_get_data= "LФser tidligere kЬrselsdata.."; char *msg_put_data= "Gemmer aktive kЬrselsdata..."; char *msg_no_data = "Tidligere kЬrselsdata ikke fundet..."; char *msg_bad_data= "Fejl: Kan ikke genindlФse kЬrselsdata"; char *msg_data_err= "Fejl: Kan ikke gemme aktive kЬrselsdata"; char *msg_dup_data= "Advarsel: Mulige dobbelte data fundet"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Kan ikke allokere nok hukommelse, Top GФster slЕs fra!"; char *msg_nomem_tr= "Kan ikke allokere nok hukommelse, Top Referer slЕs fra!"; char *msg_nomem_tu= "Kan ikke allokere nok hukommelse, Top URL slЕs fra!"; char *msg_nomem_tc= "Kan ikke allokere nok hukommelse, Top Lande slЕs fra!"; char *msg_nomem_ta= "Kan ikke allokere nok hukommelse, Top Web browsere slЕs fra!"; char *msg_nomem_tsr="Kan ikke allokere nok hukommelse, Top SЬgestrenge slЕes fra!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Fejl ved tilfЬjelse af host-node (daglig), skipping"; char *msg_nomem_mh= "Fejl ved tilfЬjelse af host-node (mЕnedlig), skipping"; char *msg_nomem_u = "Fejl ved tilfЬjelse af URL-node, skipping"; char *msg_nomem_a = "Fejl ved tilfЬjelse af Web browsere node, skipping"; char *msg_nomem_r = "Fejl ved tilfЬjelse af Referer node, skipping"; char *msg_nomem_sc= "Fejl ved tilfЬjelse af SЬgestrenge Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Fejl: Springer over streng (for stor log-post)"; char *msg_big_host= "Advarsel: Afkorter strengen (for stort vФrtsnavn)"; char *msg_big_date= "Advarsel: Afkorter strengen (for stort datofelt)"; char *msg_big_req = "Advarsel: Afkorter strengen (for stort forespЬrgsel-felt)"; char *msg_big_ref = "Advarsel: Afkorter strengen (for stort henvisende side-felt)"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Advarsel: Strengen overstiger maksimum"; /* misc errors */ char *msg_no_open = "Fejl: Kan ikke Еbne filen"; /* Help display... */ char *h_usage1 = "Anvendelse"; char *h_usage2 = "[parametre] [logfil]"; char *h_msg[]= { "-h = udskriv denne hjФlpebesked" , "-V = udskriv versionsoplysninger" , "-v = be verbose" , "-d = udskriv ekstra fejlsЬgningsinformation", "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sekvensfejl" , "-i = ignorer historiefil" , "-p = bevar tilstand (inkremental)" , "-b = ignorer tilstand (inkremental)" , "-q = undertryk informationsrelaterede beskeder", "-Q = undertryk _ALLE_ beskeder" , "-Y = undertryk landegrafer" , "-G = undertryk timegrafer" , "-H = undertryk timestatistikker" , "-L = undertryk farvekodede grafertekst" , "-l num = brug numeriske baggrundslinier pЕ graf", "-m num = UndersЬg timeout-vФrdi (seconds)" , "-T = udskriv timing-information" , "-c file = brug konfigurationsfilen 'file'" , "-n name = vФrtsnavn som anvendes" , "-o dir = Output bibliotek som anvendes" , "-t name = rapport titel 'name'" , "-a name = gem browser 'name'" , "-r name = gem henvisende side 'name'" , "-s name = gem gФste 'name'" , "-u name = gem URL 'name'" , "-x name = Brug filefternavn 'name'" , "-O name = Omit page 'name'" , "-P name = Side type-efternavn 'name'" , "-I name = Indeks alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Vis antal top browsere" , "-C num = Vis antal top lande" , "-R num = Vis antal top henvisende sider" , "-S num = Vis antal top gФster" , "-U num = Vis antal top URL" , "-e num = Vis antal top indgangsadresser" , "-E num = Vis antal top udgangsadresser" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoIP lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Opsummeringsperiode"; char *msg_hhdr_gt = "Sidst opdateret"; /* main index strings */ char *msg_main_us = "Tilgang til"; /* char *msg_main_per= "De sidste 12 mЕneder"; */ char *msg_main_per= "Opsummering / mЕned"; char *msg_main_sum= "Opsummering / mЕned"; char *msg_main_da = "Dagligt gennemsnit"; char *msg_main_mt = "Sammenlagt pr. mЕned"; /* month HTML page strings */ char *msg_hmth_du = "Daglig tilgang -"; char *msg_hmth_hu = "Timefordelt tilgang -"; /* table header strings */ char *msg_h_by = "-"; char *msg_h_avg = "Gn.snit"; char *msg_h_max = "Maks"; char *msg_h_total = ""; char *msg_h_totals= ""; char *msg_h_day = "Dag"; char *msg_h_mth = "MЕned"; char *msg_h_hour = "Time"; char *msg_h_hits = "ForespЬrgsler"; char *msg_h_pages = "Sider"; char *msg_h_visits= "BesЬg"; char *msg_h_files = "Filer"; char *msg_h_sites = "GФster"; char *msg_h_xfer = "kB"; char *msg_h_hname = "Navn/IP-adresse"; char *msg_h_url = "URL"; char *msg_h_agent = "Browser"; char *msg_h_ref = "Henvisende side"; char *msg_h_ctry = "Land"; char *msg_h_search= "SЬgestreng"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "Daglig statistik"; char *msg_hlnk_hs = "Timestatistik"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "GФster"; char *msg_hlnk_a = "Browsere"; char *msg_hlnk_c = "Lande"; char *msg_hlnk_r = "Henvisende sider"; char *msg_hlnk_en = "Indgangsadresse"; char *msg_hlnk_ex = "Udgangsadresse"; char *msg_hlnk_sr = "SЬg"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "MЕnedlig statistik for"; char *msg_mtot_th = "ForespЬrgsler"; char *msg_mtot_tf = "Filer"; char *msg_mtot_tx = "kB"; char *msg_mtot_us = "Unikke gФster"; char *msg_mtot_ur = "Unikke henvisende sider"; char *msg_mtot_ua = "Unikke browsere"; char *msg_mtot_uu = "Unikke adresser"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "ForespЬrgsler pr. dag"; char *msg_mtot_mhh= "ForespЬrgsler pr. time"; char *msg_mtot_mfd= "Filer pr. dag"; char *msg_mtot_mpd= "Sider pr. dag"; char *msg_mtot_msd= "GФster pr. dag"; char *msg_mtot_mvd= "BesЬg pr. dag"; char *msg_mtot_mkd= "kB pr. dag"; char *msg_mtot_rc = "ForespЬrgsler fordelt pЕ svarkoder"; /* daily total table */ char *msg_dtot_ds = "Daglig statistik for"; /* hourly total table */ char *msg_htot_hs = "Timestatistik for"; /* country pie chart */ char *msg_ctry_use= "ForespЬrgsler fordelt pЕ lande for"; /* top tables */ /* Formatted as "Top xxx of xxx Total by something" */ char *msg_top_top = "Top"; char *msg_top_of = "af"; char *msg_top_s = "gФster"; char *msg_top_u = "adresser"; char *msg_top_r = "henvisende sider"; char *msg_top_a = "browsere"; char *msg_top_c = "Lande"; char *msg_top_en = "indgangsadresser"; char *msg_top_ex = "udgangsadresser"; char *msg_top_sr = "sЬgestrenge"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September","Oktober", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Uidentificeret svar Kode", 0 }, { "Kode 100 - FortsФt", 0 }, { "Kode 101 - Skift protokoller", 0 }, { "Kode 200 - OK", 0 }, { "Kode 201 - Oprettet", 0 }, { "Kode 202 - Accepteret", 0 }, { "Kode 203 - Ikke-autoritativ information", 0 }, { "Kode 204 - Intet indhold", 0 }, { "Kode 205 - Nulstil indhold", 0 }, { "Kode 206 - Delvist indhold", 0 }, { "Kode 300 - Dobbelte data", 0 }, { "Kode 301 - Flyttet permanent", 0 }, { "Kode 302 - Fundet", 0 }, { "Kode 303 - Se andet", 0 }, { "Kode 304 - Ikke Фndret", 0 }, { "Kode 305 - Brug proxy", 0 }, { "Kode 307 - Flyttet midlertidigt", 0 }, { "Kode 400 - Forkert forespЬrgsel", 0 }, { "Kode 401 - Ingen adgang", 0 }, { "Kode 402 - Betaling pЕkrФvet", 0 }, { "Kode 403 - Forbudt", 0 }, { "Kode 404 - Findes ikke", 0 }, { "Kode 405 - Metoden ikke tilladt", 0 }, { "Kode 406 - Ikke acceptabelt", 0 }, { "Kode 407 - Proxygodkendelse pЕkrФvet", 0 }, { "Kode 408 - Tiden er udlЬbet for forespЬrgslen", 0 }, { "Kode 409 - Konflikt", 0 }, { "Kode 410 - Forsvundet", 0 }, { "Kode 411 - LФngde pЕkrФvet", 0 }, { "Kode 412 - ForudsФtning ikke opfyldt", 0 }, { "Kode 413 - ForespЬrgselsenhed for stor", 0 }, { "Kode 414 - Adresse for lang", 0 }, { "Kode 415 - Medietypen understЬttes ikke", 0 }, { "Kode 416 - Forespurgt omrЕde ikke tilfredsstillende", 0 }, { "Kode 417 - Det forventede skete ikke", 0 }, { "Kode 500 - Intern serverfejl", 0 }, { "Kode 501 - Ikke indbygget", 0 }, { "Kode 502 - Forkert gateway", 0 }, { "Kode 503 - Tjenesten ikke tilgФngelig", 0 }, { "Kode 504 - Tiden er udlЬbet for gateway'en", 0 }, { "Kode 505 - HTTP-versionen understЬttes ikke", 0 } }; char *msg_title = "Webstatistik for"; char *msg_h_other = "Andre"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Ukendt", 0,0,0 }, { IDX_3C('c','o','m'), "Kommerciel (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Uddannelsesinstitution (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "USA (regeringen)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "USA (militФret)", 0,0,0 }, { IDX_3C('n','e','t'), "NetvФrk (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Almennyttig organisation", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Gammel Stil Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"NATO-felt (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "De Forenede Arabiske Emirater", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua og Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albanien", 0,0,0 }, { IDX_2C('a','m'), "Armenien", 0,0,0 }, { IDX_2C('a','n'), "De Hollandske Antiller", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktis", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Amerikansk Samoa", 0,0,0 }, { IDX_2C('a','t'), "ьstrig", 0,0,0 }, { IDX_2C('a','u'), "Australien", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnien og Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgien", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgarien", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brasilien", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling)-Ьerne", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Den Centralafrikanske Republik", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Schweitz", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Elfenbenskysten)", 0,0,0 }, { IDX_2C('c','k'), "Cook-Ьerne", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "Kina", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Kap Verde", 0,0,0 }, { IDX_2C('c','x'), "JuleЬerne", 0,0,0 }, { IDX_2C('c','y'), "Cypern", 0,0,0 }, { IDX_2C('c','z'), "Tjekkiet", 0,0,0 }, { IDX_2C('d','e'), "Tyskland", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Den Dominikanske Republik", 0,0,0 }, { IDX_2C('d','z'), "Algeriet", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estland", 0,0,0 }, { IDX_2C('e','g'), "Egypten", 0,0,0 }, { IDX_2C('e','h'), "Vest-Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spanien", 0,0,0 }, { IDX_2C('e','t'), "Etiopien", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "FalklandsЬerne (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Mikronesien", 0,0,0 }, { IDX_2C('f','o'), "FФrЬerne", 0,0,0 }, { IDX_2C('f','r'), "Frankrig", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Storbritannien (UK)", 0,0,0 }, { IDX_2C('g','d'), "Granada", 0,0,0 }, { IDX_2C('g','e'), "Georgien", 0,0,0 }, { IDX_2C('g','f'), "Fransk Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "GrЬnland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "GrФkenland", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia- og S. Sandwich-Ьerne", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard- og McDonald-Ьerne", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroatien", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Ungarn", 0,0,0 }, { IDX_2C('i','d'), "Indonesien", 0,0,0 }, { IDX_2C('i','e'), "Irland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Indien", 0,0,0 }, { IDX_2C('i','o'), "Det britiske indiske ocean-territorium", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Island", 0,0,0 }, { IDX_2C('i','t'), "Italien", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts og Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea (Nord-)", 0,0,0 }, { IDX_2C('k','r'), "Korea (Syd-)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman-Ьerne", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Litauen", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libyen", 0,0,0 }, { IDX_2C('m','a'), "Marokko", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marshall-Ьerne", 0,0,0 }, { IDX_2C('m','k'), "Makedonien", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolien", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Nord-Mariana-Ьerne", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritanien", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldiverne", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysien", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Ny Kaledonien", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Holland", 0,0,0 }, { IDX_2C('n','o'), "Norge", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Fransk Polynesien", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filippinerne", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polen", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre og Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "RumФnien", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Rusland", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabien", 0,0,0 }, { IDX_2C('s','b'), "Salomon-Ьerne", 0,0,0 }, { IDX_2C('s','c'), "Seychellerne", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sverige", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenien", 0,0,0 }, { IDX_2C('s','j'), "Svalbard og Jan Mayen-Ьerne", 0,0,0 }, { IDX_2C('s','k'), "Slovakiet", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalien", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome og Principe", 0,0,0 }, { IDX_2C('s','u'), "USSR (det tidligere)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrien", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks og Caicos-Ьerne", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "De franske, sydlige territorier", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisien", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "ьst-Timor", 0,0,0 }, { IDX_2C('t','r'), "Tyrkiet", 0,0,0 }, { IDX_2C('t','t'), "Trinidad og Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "England", 0,0,0 }, { IDX_2C('u','m'), "USA's mindre, ydre Ьer", 0,0,0 }, { IDX_2C('u','s'), "USA", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatikanstaten", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent og the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "JomfruЬerne (de britiske)", 0,0,0 }, { IDX_2C('v','i'), "JomfruЬerne (de amerikanske)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis og Futuna-Ьerne", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Jugoslavien", 0,0,0 }, { IDX_2C('z','a'), "Sydafrika", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.dutch���������������������������������������������������������0000644�0001750�0001750�00000110021�11032527214�017177� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.dutch Webalizer V2.0x Language Support file for Dutch. 02-Jun-1998 Translated by J.Q. la Poutre (jlpoutre@inter.nl.net) 02-May-1998 Modified for level 1.1 support (brad@mrunix.net) 03-Jun-1998 Translation Level 1.1 by J.Q. La Poutre 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 15-Jul-1999 Changes in translation by M. Mackenbach (marcom@websource.nl) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 02-May-2000 Translation level 2.0 by Richard Huveneers (richard@hacom.nl) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) ### Nederlandstalige versie aangepast vanwege de snelle vertaling ### M. Mackenbach (marcom@websource.nl) ### versie 1.2/01 ### Nederlandse versie (1.00 - 2 juni 1998) ### J.Q. la Poutre' <jlpoutre@inter.nl.net> of <joe@arthouse.nl> ### versie 1.1/01 - 03 jun 1998 Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Nederlands"; char *langcode = "nl"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="adressen"; char *msg_ignored = "genegeerd"; char *msg_bad = "fout"; char *msg_in = "in"; char *msg_seconds = "seconden"; /* progress and setup error messages */ char *msg_log_err = "Fout: kan het logbestand niet openen"; char *msg_log_use = "Gebruik logbestand"; char *msg_dir_err = "Fout: kan werk-directory niet veranderen naar"; char *msg_dir_use = "Schrijf gegevens naar"; char *msg_cur_dir = "werk-directory"; char *msg_hostname= "De 'Hostname' voor het rapport is"; char *msg_ign_hist= "Negeer oude history..."; char *msg_no_hist = "History bestand niet gevonden..."; char *msg_get_hist= "Lees history bestand..."; char *msg_put_hist= "Bewaar history informatie..."; char *msg_hist_err= "Fout: kan history bestand niet schrijven"; char *msg_bad_hist= "Fout: ongeldig history record (wordt genegeerd)"; char *msg_bad_conf= "Fout: kan configuratie-bestand niet openen"; char *msg_bad_key = "Waarschuwing: ongeldig 'keyword'"; char *msg_bad_date= "Fout: foute datum (record overgeslagen)"; char *msg_ign_nscp= "Netscape header record (wordt genegeerd)"; char *msg_bad_rec = "Foutief record (wordt genegeerd)"; char *msg_no_vrec = "Geen geldige records gevonden!"; char *msg_gen_rpt = "Genereer rapport voor"; char *msg_gen_sum = "Genereer samenvattingsrapport"; char *msg_get_data= "Lees gegevens van eerdere sessie..."; char *msg_put_data= "Bewaar gegevens huidige sessie..."; char *msg_no_data = "Gegevens eerdere sessie niet gevonden..."; /*char *msg_bad_data= "Ongeldig record (gegevenstype)";*/ char *msg_bad_data= "Fout: kan sessie (gegevens) niet inlezen"; char *msg_data_err= "Fout: kan sessie (gegevens) niet bewaren"; char *msg_dup_data= "Waarschuwing: mogelijk dubbele gegevens gevonden"; /* DNS Stuff */ char *msg_dns_nocf= "Geen cache bestand opgegeven, programma wordt afgebroken..."; char *msg_dns_nodb= "Fout: kan het DNS cache bestand niet openen"; char *msg_dns_nolk= "Fout: kan het DNS cache bestand niet reserveren"; char *msg_dns_usec= "Het DNS cache bestand wordt gebruikt"; char *msg_dns_rslv= "DNS Aanvraag"; char *msg_dns_none= "Niets te verwerken"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Onvoldoende geheugen beschikbaar, Top hosts overgeslagen!"; char *msg_nomem_tr= "Onvoldoende geheugen beschikbaar, Top verwijzende pagina's overgeslagen!"; char *msg_nomem_tu= "Onvoldoende geheugen beschikbaar, Top URL's overgeslagen!"; char *msg_nomem_tc= "Onvoldoende geheugen beschikbaar, Top landen overgeslagen!"; char *msg_nomem_ta= "Onvoldoende geheugen beschikbaar, Top browsers overgeslagen!"; char *msg_nomem_tsr="Onvoldoende geheugen beschikbaar, Top zoekopdrachten overgeslagen!"; char *msg_nomem_ti= "Onvoldoende geheugen beschikbaar, Top gebruikersnamen overgeslagen!"; char *msg_nomem_dh= "Fout bij toevoegen van host (dagrapport), overgeslagen!"; char *msg_nomem_mh= "Fout bij toevoegen van host (maandrapport), overgeslagen!"; char *msg_nomem_u = "Fout bij toevoegen van URL, overgeslagen!"; char *msg_nomem_a = "Fout bij toevoegen van browser, overgeslagen!"; char *msg_nomem_r = "Fout bij toevoegen van verwijzende pagina, overgeslagen!"; char *msg_nomem_sc= "Fout bij toevoegen van tekst-node, overgeslagen!"; char *msg_nomem_i = "Fout bij toevoegen van Gebruikersnaam, overgeslagen!"; /* log record errors */ char *msg_big_rec = "Fout: te groot log-record (overgeslagen)"; char *msg_big_host= "Waarschuwing: te lange hostnaam: ingekort"; char *msg_big_date= "Waarschuwing: te lang datum veld: ingekort"; char *msg_big_req = "Waarschuwing: te lang aanvraag veld: ingekort"; char *msg_big_ref = "Waarschuwing: te lang veld voor verwijzende pagina: ingekort"; char *msg_big_user= "Waarschuwing: te lang veld voor gebruikersnaam: ingekort"; char *msg_big_one = "Waarschuwing: regel past niet in beschikbare geheugenruimte"; /* misc errors */ char *msg_no_open = "Fout: kan bestand niet openen!"; /* Help display... */ char *h_usage1 = "Gebruiksaanwijzing"; char *h_usage2 = "[opties] [log-bestand]"; char *h_msg[]= { "-h = Deze helptekst", "-V = Toon versie-informatie", "-v = be verbose", "-d = Debug informatie", "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Forceer chronologische volgorde", "-i = Negeer 'history' bestand", "-p = Bewaar status (incremental)", "-b = Negeer status (incremental)", "-q = Geen informatieve info, wel foutmeldingen", "-Q = Geen enkele info, ook geen foutmeldingen", "-Y = Geen land-grafieken", "-G = Geen uur-grafieken", "-H = Geen uur-statistieken", "-L = Geen legenda", "-l num = Gebruik [num] achtergrondregels in grafiek", "-m num = Bezoeker-onderbreking waarde (seconds)", "-T = Geef verwerkingstijd informatie", "-c bestand = Gebruik configuratie 'bestand'", "-n naam = Gebruik host 'naam'", "-o dir = Schrijf bestanden naar directory 'dir'", "-t naam = Rapporttitel 'naam'", "-a naam = Laat browser 'naam' weg", "-r naam = Laat verwijzende pagina 'naam' weg", "-s naam = Laat host 'naam' weg", "-u naam = Laat URL 'naam' weg", "-x naam = Gebruik bestands-extensie 'naam'", "-O naam = Omit page 'naam'" , "-P naam = Paginatype-extensie 'naam'", "-I naam = Index alias 'naam'", "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Toon top 'num' browsers", "-C num = Toon top 'num' landen", "-R num = Toon top 'num' verwijzende pagina's", "-S num = Toon top 'num' hosts", "-U num = Toon top 'num' URL's", "-e num = Toon top 'num' eerste pagina's van bezoekers", "-E num = Toon top 'num' laatste pagina's van bezoekers", "-g num = Groepeer Domeinen op 'num' niveaus", "-X = Laat alle individuele hosts weg", "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D naam = Gebruik DNS Cache bestand 'naam'", "-N num = Aantal DNS processen (0=uitschakelen)", "-j = Enable native GeoDB lookups" , "-J naam = Use GeoDB database 'naam'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W naam = Use GeoIP database 'naam'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Samenvatting periode"; char *msg_hhdr_gt = "Gegenereerd op"; /* main index strings */ char *msg_main_us = "Samenvatting -"; /* char *msg_main_per= "afgelopen 12 maanden"; */ char *msg_main_per= "Samenvatting per maand"; char *msg_main_sum= "Samenvatting per maand"; char *msg_main_da = "Dagelijks gemiddelde"; char *msg_main_mt = "Totalen per maand"; /* month HTML page strings */ char *msg_hmth_du = "Dagelijks bezoek -"; char *msg_hmth_hu = "Bezoek per uur -"; /* table header strings */ char *msg_h_by = "gesorteerd op"; char *msg_h_avg = "Gem."; char *msg_h_max = "Max."; char *msg_h_total = "Totaal"; char *msg_h_totals= "Totalen"; char *msg_h_day = "Dag"; char *msg_h_mth = "Maand"; char *msg_h_hour = "Uur"; char *msg_h_hits = "Hits"; /* "Aanvragen" is te lang en minder duidelijk */ char *msg_h_pages = "Pagina's"; char *msg_h_visits= "Bezoeken"; char *msg_h_files = "Bestanden"; char *msg_h_sites = "Hosts"; char *msg_h_xfer = "kB"; /* afgekort i.v.m. onderschrift grafiek */ char *msg_h_hname = "Host(naam)"; char *msg_h_url = "URL"; char *msg_h_agent = "Browser"; char *msg_h_ref = "Verwijzing"; char *msg_h_ctry = "Land"; char *msg_h_search= "Zoekopdracht"; char *msg_h_uname = "Gebruikersnaam"; /* links along top of page */ char *msg_hlnk_ds = "Overzicht per dag"; char *msg_hlnk_hs = "Overzicht per uur"; char *msg_hlnk_u = "URL's"; char *msg_hlnk_s = "Hosts"; char *msg_hlnk_a = "Browsers"; char *msg_hlnk_c = "Landen"; char *msg_hlnk_r = "Verwijzers"; char *msg_hlnk_en = "Eerste"; char *msg_hlnk_ex = "Laatste"; char *msg_hlnk_sr = "Zoekopdrachten"; char *msg_hlnk_i = "Gebruikersnamen"; /* monthly total table */ char *msg_mtot_ms = "Maandoverzicht -"; char *msg_mtot_th = "Totaal hits"; char *msg_mtot_tf = "Totaal bestanden"; char *msg_mtot_tx = "Totaal kilobytes"; char *msg_mtot_us = "Totaal verschillende hosts"; char *msg_mtot_ur = "Totaal verschillende verwijzers"; char *msg_mtot_ua = "Totaal verschillende browsers"; char *msg_mtot_uu = "Totaal verschillende URL's"; char *msg_mtot_ui = "Totaal verschillende gebruikersnamen"; char *msg_mtot_mhd= "Hits per dag"; char *msg_mtot_mhh= "Hits per uur"; char *msg_mtot_mfd= "Bestanden per dag"; char *msg_mtot_mpd= "Pagina's per dag"; char *msg_mtot_msd= "Hosts per dag"; char *msg_mtot_mvd= "Bezoeken per dag"; char *msg_mtot_mkd= "Kilobytes per dag"; char *msg_mtot_rc = "Hits per 'Response Code'"; /* daily total table */ char *msg_dtot_ds = "Overzicht per dag -"; /* hourly total table */ char *msg_htot_hs = "Overzicht per uur -"; /* country pie chart */ char *msg_ctry_use= "Overzicht per land -"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "van"; char *msg_top_s = "hosts"; char *msg_top_u = "URL's"; char *msg_top_r = "verwijzende pagina's"; char *msg_top_a = "browsers"; char *msg_top_c = "landen"; char *msg_top_en = "eerste pagina's"; char *msg_top_ex = "laatste pagina's"; char *msg_top_sr = "zoekopdrachten"; char *msg_top_i = "gebruikersnamen"; char *msg_v_sites = "Toon alle hosts"; char *msg_v_urls = "Toon alle URL's"; char *msg_v_refs = "Toon alle verwijzende pagina's"; char *msg_v_agents= "Toon alle browsers"; char *msg_v_search= "Toon alle zoekopdrachten"; char *msg_v_users = "Toon alle gebruikersnamen"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "jan", "feb", "mar", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}; /* long month names - can be any length */ char *l_month[12]={ "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september","oktober", "november","december"}; /* response code descriptions... order IS important! */ /* NIET vertaald omdat m.i. de Engelse benaming meer bekendheid heeft dan een mogelijk onduidelijke Nederlandse vertaling - Joe, 05 jun 1998 */ struct response_code response[] = { { "Onbekende 'response code'", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Rapport voor website"; char *msg_h_other = "Anders"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Numeriek IP/onbekend", 0,0,0 }, { IDX_3C('c','o','m'), "Commercieel (.com)", 0,0,0 }, { IDX_3C('e','d','u'), "Onderwijs/onderzoek (.edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Overheid (.gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internationaal (.int)", 0,0,0 }, { IDX_3C('m','i','l'), "Militair (.mil)", 0,0,0 }, { IDX_3C('n','e','t'), "'Netwerk' (.net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (.org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet (arpa, oude stijl)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato (.nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra (.ad)", 0,0,0 }, { IDX_2C('a','e'), "Ver. Arab. Emiraten (.ae)", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan (.af)", 0,0,0 }, { IDX_2C('a','g'), "Antigua en Barbuda (.ag)", 0,0,0 }, { IDX_2C('a','i'), "Anguilla (.ai)", 0,0,0 }, { IDX_2C('a','l'), "Albanie (.al)", 0,0,0 }, { IDX_2C('a','m'), "Armenie (.am)", 0,0,0 }, { IDX_2C('a','n'), "Nederlandse Antillen (.an)", 0,0,0 }, { IDX_2C('a','o'), "Angola (.ao)", 0,0,0 }, { IDX_2C('a','q'), "Antarctica (.aq)", 0,0,0 }, { IDX_2C('a','r'), "Argentinie (.ar)", 0,0,0 }, { IDX_2C('a','s'), "Amerikaans Samoa (.as)", 0,0,0 }, { IDX_2C('a','t'), "Oostenrijk (.at)", 0,0,0 }, { IDX_2C('a','u'), "Australie (.au)", 0,0,0 }, { IDX_2C('a','w'), "Aruba (.aw)", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azarbadzjan (.az)", 0,0,0 }, { IDX_2C('b','a'), "Bosnie / Herzegovina (.ba)", 0,0,0 }, { IDX_2C('b','b'), "Barbados (.bb)", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh (.bd)", 0,0,0 }, { IDX_2C('b','e'), "Belgie (.be)", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso (.bf)", 0,0,0 }, { IDX_2C('b','g'), "Bulgarije (.bg)", 0,0,0 }, { IDX_2C('b','h'), "Bahrijn (.bh)", 0,0,0 }, { IDX_2C('b','i'), "Burundi (.bi)", 0,0,0 }, { IDX_2C('b','j'), "Benin (.bj)", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda (.bm)", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam (.bn)", 0,0,0 }, { IDX_2C('b','o'), "Bolivie (.bo)", 0,0,0 }, { IDX_2C('b','r'), "Brazilie (.br)", 0,0,0 }, { IDX_2C('b','s'), "Bahamas (.bs)", 0,0,0 }, { IDX_2C('b','t'), "Bhutan (.bt)", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Eiland (.bv)", 0,0,0 }, { IDX_2C('b','w'), "Botswana (.bw)", 0,0,0 }, { IDX_2C('b','y'), "Belarus (.by)", 0,0,0 }, { IDX_2C('b','z'), "Belize(.bz)", 0,0,0 }, { IDX_2C('c','a'), "Canada (.ca)", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Eilanden (.cc)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central Afrikaanse Republiek (.cf)",0,0,0 }, { IDX_2C('c','g'), "Congo (.cg)", 0,0,0 }, { IDX_2C('c','h'), "Zwitserland (.ch)", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivoorkust) (.ci)", 0,0,0 }, { IDX_2C('c','k'), "Cook Eilanden (.ck)", 0,0,0 }, { IDX_2C('c','l'), "Chili (.cl)", 0,0,0 }, { IDX_2C('c','m'), "Kameroen (.cm)", 0,0,0 }, { IDX_2C('c','n'), "China (.cn)", 0,0,0 }, { IDX_2C('c','o'), "Colombia (.co)", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica (.cr)", 0,0,0 }, { IDX_2C('c','u'), "Cuba (.cu)", 0,0,0 }, { IDX_2C('c','v'), "Kaapverdie (.cv)", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island (.cx)", 0,0,0 }, { IDX_2C('c','y'), "Cyprus (.cy)", 0,0,0 }, { IDX_2C('c','z'), "Tsjechische republiek (.cz)", 0,0,0 }, { IDX_2C('d','e'), "Duitsland (.de)", 0,0,0 }, { IDX_2C('d','j'), "Djibouti (.dj)", 0,0,0 }, { IDX_2C('d','k'), "Denemarken (.dk)", 0,0,0 }, { IDX_2C('d','m'), "Dominica (.dm)", 0,0,0 }, { IDX_2C('d','o'), "Dominikaanse Republiek (.do)", 0,0,0 }, { IDX_2C('d','z'), "Algarije (.dz)", 0,0,0 }, { IDX_2C('e','c'), "Ecuador (.ec)", 0,0,0 }, { IDX_2C('e','e'), "Estland (.ee)", 0,0,0 }, { IDX_2C('e','g'), "Egypte (.eg)", 0,0,0 }, { IDX_2C('e','h'), "Westelijke Sahara (.eh)", 0,0,0 }, { IDX_2C('e','r'), "Eritrea (.er)", 0,0,0 }, { IDX_2C('e','s'), "Spanje (.es)", 0,0,0 }, { IDX_2C('e','t'), "Ethiopie (.et)", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland (.fi)", 0,0,0 }, { IDX_2C('f','j'), "Fiji (.fj)", 0,0,0 }, { IDX_2C('f','k'), "Falkland Eilanden (Malvinas, .fk)",0,0,0 }, { IDX_2C('f','m'), "Micronesie (.fm)", 0,0,0 }, { IDX_2C('f','o'), "Faroe Eilanden (.fo)", 0,0,0 }, { IDX_2C('f','r'), "Frankrijk (.fr)", 0,0,0 }, { IDX_2C('g','a'), "Gabon (.ga)", 0,0,0 }, { IDX_2C('g','b'), "Groot Britannie (UK, .gb)", 0,0,0 }, { IDX_2C('g','d'), "Grenada (.gd)", 0,0,0 }, { IDX_2C('g','e'), "Georgie (.ge)", 0,0,0 }, { IDX_2C('g','f'), "Frans Guiana (.gf)", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana (.gh)", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar (.gi)", 0,0,0 }, { IDX_2C('g','l'), "Groenland (.gl)", 0,0,0 }, { IDX_2C('g','m'), "Gambia (.gm)", 0,0,0 }, { IDX_2C('g','n'), "Guinea (.gn)", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe (.gp)", 0,0,0 }, { IDX_2C('g','q'), "Equatoriaal Guinea (.gq)", 0,0,0 }, { IDX_2C('g','r'), "Griekenland (.gr)", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia en S. Sandwich Eil. (.gs)",0,0,0 }, { IDX_2C('g','t'), "Guatemala (.gt)", 0,0,0 }, { IDX_2C('g','u'), "Guam (.gu)", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau (.gw)", 0,0,0 }, { IDX_2C('g','y'), "Guyana (.gy)", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong (.hk)", 0,0,0 }, { IDX_2C('h','m'), "Heard en McDonald Eilanden (.hm)", 0,0,0 }, { IDX_2C('h','n'), "Honduras (.hn)", 0,0,0 }, { IDX_2C('h','r'), "Kroatie (.hr)", 0,0,0 }, { IDX_2C('h','t'), "Haiti (.ht)", 0,0,0 }, { IDX_2C('h','u'), "Hongarije (.hu)", 0,0,0 }, { IDX_2C('i','d'), "Indonesie (.id)", 0,0,0 }, { IDX_2C('i','e'), "Ierland (.ie)", 0,0,0 }, { IDX_2C('i','l'), "Israel (.il)", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India (.in)", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory (.io)",0,0,0 }, { IDX_2C('i','q'), "Iraq (.iq)", 0,0,0 }, { IDX_2C('i','r'), "Iran (.ir)", 0,0,0 }, { IDX_2C('i','s'), "IJsland (.is)", 0,0,0 }, { IDX_2C('i','t'), "Italie (.it)", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica (.jm)", 0,0,0 }, { IDX_2C('j','o'), "Jordanie (.jo)", 0,0,0 }, { IDX_2C('j','p'), "Japan (.jp)", 0,0,0 }, { IDX_2C('k','e'), "Kenia (.ke)", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan (.kg)", 0,0,0 }, { IDX_2C('k','h'), "Cambodja (.kh)", 0,0,0 }, { IDX_2C('k','i'), "Kiribati (.ki)", 0,0,0 }, { IDX_2C('k','m'), "Comoros (.km)", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts en Nevis (.kn)", 0,0,0 }, { IDX_2C('k','p'), "Korea (Noord, .kp)", 0,0,0 }, { IDX_2C('k','r'), "Korea (Zuid, .kr)", 0,0,0 }, { IDX_2C('k','w'), "Koeweit (.kw)", 0,0,0 }, { IDX_2C('k','y'), "Kaaiman Eilanden (.ky)", 0,0,0 }, { IDX_2C('k','z'), "Kazachstan (.kz)", 0,0,0 }, { IDX_2C('l','a'), "Laos (.la)", 0,0,0 }, { IDX_2C('l','b'), "Libanon (.lb)", 0,0,0 }, { IDX_2C('l','c'), "Sint Lucia (.lc)", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein (.li)", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka (.lk)", 0,0,0 }, { IDX_2C('l','r'), "Liberie (.lr)", 0,0,0 }, { IDX_2C('l','s'), "Lesotho (.ls)", 0,0,0 }, { IDX_2C('l','t'), "Litauwen (.lt)", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg (.lu)", 0,0,0 }, { IDX_2C('l','v'), "Latvia (.lv)", 0,0,0 }, { IDX_2C('l','y'), "Libie (.ly)", 0,0,0 }, { IDX_2C('m','a'), "Marokko (.ma)", 0,0,0 }, { IDX_2C('m','c'), "Monaco (.mc)", 0,0,0 }, { IDX_2C('m','d'), "Moldova (.md)", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar (.mg)", 0,0,0 }, { IDX_2C('m','h'), "Marshall Eilanden (.mh)", 0,0,0 }, { IDX_2C('m','k'), "Macedonie (.mk)", 0,0,0 }, { IDX_2C('m','l'), "Mali (.ml)", 0,0,0 }, { IDX_2C('m','m'), "Myanmar (.mm)", 0,0,0 }, { IDX_2C('m','n'), "Mongolie (.mn)", 0,0,0 }, { IDX_2C('m','o'), "Macau (.mo)", 0,0,0 }, { IDX_2C('m','p'), "Noordelijke Mariana Eilanden (.mp)",0,0,0 }, { IDX_2C('m','q'), "Martinique (.mq)", 0,0,0 }, { IDX_2C('m','r'), "Mauritanie (.mr)", 0,0,0 }, { IDX_2C('m','s'), "Montserrat (.ms)", 0,0,0 }, { IDX_2C('m','t'), "Malta (.mt)", 0,0,0 }, { IDX_2C('m','u'), "Mauritius (.mu)", 0,0,0 }, { IDX_2C('m','v'), "Maldiven (.mv)", 0,0,0 }, { IDX_2C('m','w'), "Malawi (.mw)", 0,0,0 }, { IDX_2C('m','x'), "Mexico (.mx)", 0,0,0 }, { IDX_2C('m','y'), "Maleisie (.my)", 0,0,0 }, { IDX_2C('m','z'), "Mozambique (.mz)", 0,0,0 }, { IDX_2C('n','a'), "Namibie (.na)", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia (.nc)", 0,0,0 }, { IDX_2C('n','e'), "Niger (.ne)", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Eiland (.nf)", 0,0,0 }, { IDX_2C('n','g'), "Nigeria (.ng)", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua (.ni)", 0,0,0 }, { IDX_2C('n','l'), "Nederland (.nl)", 0,0,0 }, { IDX_2C('n','o'), "Noorwegen (.no)", 0,0,0 }, { IDX_2C('n','p'), "Nepal (.np)", 0,0,0 }, { IDX_2C('n','r'), "Nauru (.nr)", 0,0,0 }, { IDX_2C('n','u'), "Niue (.nu)", 0,0,0 }, { IDX_2C('n','z'), "Nieuw Zeeland (.nz)", 0,0,0 }, { IDX_2C('o','m'), "Oman (.om)", 0,0,0 }, { IDX_2C('p','a'), "Panama (.pa)", 0,0,0 }, { IDX_2C('p','e'), "Peru (.pe)", 0,0,0 }, { IDX_2C('p','f'), "Frans Polynesie (.pf)", 0,0,0 }, { IDX_2C('p','g'), "Papua Nieuw Guinea (.pg)", 0,0,0 }, { IDX_2C('p','h'), "Philippijnen (.ph)", 0,0,0 }, { IDX_2C('p','k'), "Pakistan (.pk)", 0,0,0 }, { IDX_2C('p','l'), "Polen (.pl)", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre en Miquelon (.pm)", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn (.pn)", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico (.pr)", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal (.pt)", 0,0,0 }, { IDX_2C('p','w'), "Palau (.pw)", 0,0,0 }, { IDX_2C('p','y'), "Paraguay (.py)", 0,0,0 }, { IDX_2C('q','a'), "Qatar (.qa)", 0,0,0 }, { IDX_2C('r','e'), "Reunion (.re)", 0,0,0 }, { IDX_2C('r','o'), "Romania (.ro)", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russische Federatie (.ru)", 0,0,0 }, { IDX_2C('r','w'), "Rwanda (.rs)", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabie (.sa)", 0,0,0 }, { IDX_2C('s','b'), "Solomon Eilanden (.sb)", 0,0,0 }, { IDX_2C('s','c'), "Seychellen (.sc)", 0,0,0 }, { IDX_2C('s','d'), "Soedan (.sd)", 0,0,0 }, { IDX_2C('s','e'), "Zweden (.se)", 0,0,0 }, { IDX_2C('s','g'), "Singapore (.sg)", 0,0,0 }, { IDX_2C('s','h'), "St. Helena (.sh)", 0,0,0 }, { IDX_2C('s','i'), "Slovenie (.si)", 0,0,0 }, { IDX_2C('s','j'), "Svalbard en Jan Mayen Eilanden (.sj)",0,0,0 }, { IDX_2C('s','k'), "Slovakije (.sk)", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone (.sl)", 0,0,0 }, { IDX_2C('s','m'), "San Marino (.sm)", 0,0,0 }, { IDX_2C('s','n'), "Senegal (.sn)", 0,0,0 }, { IDX_2C('s','o'), "Somalie (.so)", 0,0,0 }, { IDX_2C('s','r'), "Suriname (.sr)", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome en Principe (.st)", 0,0,0 }, { IDX_2C('s','u'), "USSR (voorheen, .su)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador (.sv)", 0,0,0 }, { IDX_2C('s','y'), "Syrie (.sy)", 0,0,0 }, { IDX_2C('s','z'), "Swaziland (.sz)", 0,0,0 }, { IDX_2C('t','c'), "Turkse- en Caicos Eilanden (.tc)", 0,0,0 }, { IDX_2C('t','d'), "Tsjaad (.td)", 0,0,0 }, { IDX_2C('t','f'), "Zuidelijke Franse Terr. (.tf)", 0,0,0 }, { IDX_2C('t','g'), "Togo (.tg)", 0,0,0 }, { IDX_2C('t','h'), "Thailand (.th)", 0,0,0 }, { IDX_2C('t','j'), "Tadzjikistan (.tj)", 0,0,0 }, { IDX_2C('t','k'), "Tokelau (.tk)", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan (.tm)", 0,0,0 }, { IDX_2C('t','n'), "Tunesie (.tn)", 0,0,0 }, { IDX_2C('t','o'), "Tonga (.to)", 0,0,0 }, { IDX_2C('t','p'), "Oost Timor (.tp)", 0,0,0 }, { IDX_2C('t','r'), "Turkije (.tr)", 0,0,0 }, { IDX_2C('t','t'), "Trinidad en Tobago (.tt)", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu (.tv)", 0,0,0 }, { IDX_2C('t','w'), "Taiwan (.tw)", 0,0,0 }, { IDX_2C('t','z'), "Tanzania (.tz)", 0,0,0 }, { IDX_2C('u','a'), "Ukraine (.ua)", 0,0,0 }, { IDX_2C('u','g'), "Uganda (.ug)", 0,0,0 }, { IDX_2C('u','k'), "Ver. Koninkrijk (UK, .uk)", 0,0,0 }, { IDX_2C('u','m'), "US Minor buitenliggende eilanden (.um)",0,0,0 }, { IDX_2C('u','s'), "Verenigde Staten (USA, .us)", 0,0,0 }, { IDX_2C('u','y'), "Uruguay (.uy)", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan (.uz)", 0,0,0 }, { IDX_2C('v','a'), "Vatikaanstad (.va)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent en de Grenadinen (.vc)",0,0,0 }, { IDX_2C('v','e'), "Venezuela (.ve)", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British, .vg)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S., .vi)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam (.vn)", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu (.vu)", 0,0,0 }, { IDX_2C('w','f'), "Wallis en Futuna Eilanden (.wf)", 0,0,0 }, { IDX_2C('w','s'), "Samoa (.ws)", 0,0,0 }, { IDX_2C('y','e'), "Jemen (.ye)", 0,0,0 }, { IDX_2C('y','t'), "Mayotte (.yt)", 0,0,0 }, { IDX_2C('y','u'), "Joegoslavie (.yu)", 0,0,0 }, { IDX_2C('z','a'), "Zuid Africa (.za)", 0,0,0 }, { IDX_2C('z','m'), "Zambia (.zm)", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe (.zw)", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.english�������������������������������������������������������0000644�0001750�0001750�00000105577�11032527214�017545� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.english Webalizer V2.0x Language Support file for English. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "English"; char *langcode = "en"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Summary Period"; char *msg_hhdr_gt = "Generated"; /* main index strings */ char *msg_main_us = "Usage summary for"; /* char *msg_main_per= "Summary by Month"; */ char *msg_main_per= "Summary by Month"; char *msg_main_sum= "Summary by Month"; char *msg_main_da = "Daily Avg"; char *msg_main_mt = "Monthly Totals"; /* month HTML page strings */ char *msg_hmth_du = "Daily usage for"; char *msg_hmth_hu = "Hourly usage for"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "Avg"; char *msg_h_max = "Max"; char *msg_h_total = "Total"; char *msg_h_totals= "Totals"; char *msg_h_day = "Day"; char *msg_h_mth = "Month"; char *msg_h_hour = "Hour"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visits"; char *msg_h_files = "Files"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Hostname"; char *msg_h_url = "URL"; char *msg_h_agent = "User Agent"; char *msg_h_ref = "Referrer"; char *msg_h_ctry = "Country"; char *msg_h_search= "Search String"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "Daily Statistics"; char *msg_hlnk_hs = "Hourly Statistics"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Sites"; char *msg_hlnk_a = "Agents"; char *msg_hlnk_c = "Countries"; char *msg_hlnk_r = "Referrers"; char *msg_hlnk_en = "Entry"; char *msg_hlnk_ex = "Exit"; char *msg_hlnk_sr = "Search"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "Monthly Statistics for"; char *msg_mtot_th = "Total Hits"; char *msg_mtot_tf = "Total Files"; char *msg_mtot_tx = "Total KBytes"; char *msg_mtot_us = "Total Unique Sites"; char *msg_mtot_ur = "Total Unique Referrers"; char *msg_mtot_ua = "Total Unique User Agents"; char *msg_mtot_uu = "Total Unique URLs"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "Hits per Day"; char *msg_mtot_mhh= "Hits per Hour"; char *msg_mtot_mfd= "Files per Day"; char *msg_mtot_mpd= "Pages per Day"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "Visits per Day"; char *msg_mtot_mkd= "KBytes per Day"; char *msg_mtot_rc = "Hits by Response Code"; /* daily total table */ char *msg_dtot_ds = "Daily Statistics for"; /* hourly total table */ char *msg_htot_hs = "Hourly Statistics for"; /* country pie chart */ char *msg_ctry_use= "Usage by Country for"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "of"; char *msg_top_s = "Total Sites"; char *msg_top_u = "Total URLs"; char *msg_top_r = "Total Referrers"; char *msg_top_a = "Total User Agents"; char *msg_top_c = "Total Countries"; char *msg_top_en = "Total Entry Pages"; char *msg_top_ex = "Total Exit Pages"; char *msg_top_sr = "Total Search Strings"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Usage Statistics for"; char *msg_h_other = "Other"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.estonian������������������������������������������������������0000644�0001750�0001750�00000106161�11032527214�017722� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.estonian Webalizer V2.0x Language Support file for Estonian. 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 11-Aug-1999 Translation into estonian by MДrt Laak <Mart.Laak@active.ee> 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Estonian"; char *langcode = "et"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "kirjet"; char *msg_addresses="addresses"; char *msg_ignored = "ignoreeritud"; char *msg_bad = "vigast"; char *msg_in = ""; char *msg_seconds = "sekundi jooksul"; /* progress and setup error messages */ char *msg_log_err = "Viga: Ei suuda avada logifaili(e)"; char *msg_log_use = "logifail"; char *msg_dir_err = "Viga: Ei suuda vahetada tЖЖkataloogi"; char *msg_dir_use = "kasutades kataloogi"; char *msg_cur_dir = "jooksev kataloog"; char *msg_hostname= "Serveri nimi"; char *msg_ign_hist= "Ignoreerin eelnevat ajalooinfot..."; char *msg_no_hist = "Ajaloofaili ei leitud..."; char *msg_get_hist= "Loen ajaloofaili..."; char *msg_put_hist= "Salvestan ajaloofaili..."; char *msg_hist_err= "Viga: Ei suuda salvestada ajaloofaili"; char *msg_bad_hist= "Viga: Ignoreerin vigast ajalookirjet"; char *msg_bad_conf= "Viga: Ei suuda avada konfiguratsioonifaili"; char *msg_bad_key = "Hoiatus: Vigane vУtmesУna"; char *msg_bad_date= "Viga: Ignoreerin kirjet (vigane kuupДev)"; char *msg_ign_nscp= "Ignoreerin Netscape pДiskirjet"; char *msg_bad_rec = "Ignoreerin vigast kirjet"; char *msg_no_vrec = "Ei leitud Эhtegi arusaadavat logikirjet!"; char *msg_gen_rpt = "Genereerin raportit"; char *msg_gen_sum = "Genereerin kokkuvУtterapotit"; char *msg_get_data= "Loen eelmise kДivitamise andmeid..."; char *msg_put_data= "Salvestan antud (jooksva) kДivitamise andmeid..."; char *msg_no_data = "Eelmise kДivitamise andmeid ei leitud..."; char *msg_bad_data= "Viga: Ei suuda lugeda eelmise kДivitamise andmeid"; char *msg_data_err= "Viga: Ei suuda salvestada kДivitamise andmeid"; char *msg_dup_data= "Hoiatus: TУenДoliselt leitud topeltkirjed"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Ei suuda reserveerida piisavalt mДlu, Arvutite edetabelit ei tee!"; char *msg_nomem_tr= "Ei suuda reserveerida piisavalt mДlu, Linkijate edetabelit ei tee!"; char *msg_nomem_tu= "Ei suuda reserveerida piisavalt mДlu, Aadresside edetabelit ei tee!"; char *msg_nomem_tc= "Ei suuda reserveerida piisavalt mДlu, Maade edetabelit ei tee!"; char *msg_nomem_ta= "Ei suuda reserveerida piisavalt mДlu, Lehitsejate edetabelit ei tee!"; char *msg_nomem_tsr="Ei suuda reserveerida piisavalt mДlu, Otsistringide edetabelit ei tee!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Arvuti lisamisel (pДevade kaupa) viga, jДtan vahele"; char *msg_nomem_mh= "Arvuti lisamisel (kuude kaupa) viga, jДtan vahele"; char *msg_nomem_u = "URLi lisamisel viga, jДtan vahele"; char *msg_nomem_a = "Lehitseja lisamisel viga, jДtan vahele"; char *msg_nomem_r = "Linkija lisamisel viga, jДtan vahele"; char *msg_nomem_sc= "Otsistringi lisamisel viga, jДtan vahele"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Viga: jДtan vahele liigpika logikirje"; char *msg_big_host= "Hoiatus: Teen lЭhemaks liigpika arvutinime"; char *msg_big_date= "Hoiatus: Teen lЭhemaks liigpika kuupДevavДlja"; char *msg_big_req = "Hoiatus: Teen lЭhemaks liigpika pДringuvДlja"; char *msg_big_ref = "Hoiatus: Teen lЭhemaks liigpika linkija-vДlja"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Hoiatus: Stringi pikkus Эletab lubatud mДlumahu"; /* misc errors */ char *msg_no_open = "Viga: Ei suuda avada faili"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = kuva see help" , "-V = kuva versiooniinfo" , "-v = be verbose" , "-d = kuva tДiendav debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = ignoreeri kirjete jДrjestuse vigu" , "-i = ignoreeri ajaloofaili" , "-p = sДilita olek (inkrementaalne rezhiim)", "-b = ignoreeri olek (inkrementaalne rezhiim)", "-q = keela informatiivsed teated" , "-Q = keela KуIK teated" , "-Y = keela maade graafik" , "-G = keela tunnigraafik" , "-H = keela tunnistatistika" , "-L = keela vДrvilegendide kuva" , "-l num = kasuta graafikutel {num} horisontaaljoont", "-m num = viisidi timeout vДДrtus (seconds)" , "-T = kuva ajakulu info" , "-c file = kasuta konfiguratsioonifaili 'file'" , "-n name = kasuta nime {hostname}" , "-o dir = kasuta vДljundiks kataloogi {dir}" , "-t name = raportite pealkiri on 'name'" , "-a name = peida Дra lehitseja 'name'" , "-r name = peida Дra linkija 'name'" , "-s name = peida Дra arvuti 'name'" , "-u name = peida Дra URL 'name'" , "-x name = kasuta faililaiendit 'name'" , "-O name = Omit page 'name'" , "-P name = lehekЭljeks loetakse faili laiendiga 'name'", "-I name = indexfaili nimi on 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = kuva esimesed {num} lehitsejat" , "-C num = kuva esimesed {num} maad" , "-R num = kuva esimesed {num} linkijat" , "-S num = kuva esimesed {num} arvutit" , "-U num = kuva esimesed {num} URL-i" , "-e num = kuva esimesed {num} sisendpunkti" , "-E num = kuva esimesed {num} vДljundpunkti" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "KokkuvУte perioodile"; char *msg_hhdr_gt = "genereeritud"; /* main index strings */ char *msg_main_us = "Kasutuse kokkuvУte"; /* char *msg_main_per= "Viimased 12 kuud"; */ char *msg_main_per= "KokkuvУtted kuude kaupa"; char *msg_main_sum= "KokkuvУtted kuude kaupa"; char *msg_main_da = "PДeva keskm."; char *msg_main_mt = "Kuu kokku"; /* month HTML page strings */ char *msg_hmth_du = "KasutuspДevad"; char *msg_hmth_hu = "Kasutustunnid"; /* table header strings */ char *msg_h_by = ""; char *msg_h_avg = "Keskm"; char *msg_h_max = "Maks"; char *msg_h_total = "Kokku"; char *msg_h_totals= "Kokku"; char *msg_h_day = "PДev"; char *msg_h_mth = "Kuu"; char *msg_h_hour = "Tund"; char *msg_h_hits = "PЖЖrdumisi"; char *msg_h_pages = "LehekЭlgi"; char *msg_h_visits= "KЭlastusi"; char *msg_h_files = "Faile"; char *msg_h_sites = "Arvuteid"; char *msg_h_xfer = "KBaite"; char *msg_h_hname = "Server"; char *msg_h_url = "Aadress"; char *msg_h_agent = "Lehitseja"; char *msg_h_ref = "Linkija"; char *msg_h_ctry = "Maa"; char *msg_h_search= "Otsistring"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "PДevade statistika"; char *msg_hlnk_hs = "Tundide statistika"; char *msg_hlnk_u = "Aadressid"; char *msg_hlnk_s = "Arvutid"; char *msg_hlnk_a = "Lehitsejad"; char *msg_hlnk_c = "Maad"; char *msg_hlnk_r = "Linkijad"; char *msg_hlnk_en = "Sisendpunkt"; char *msg_hlnk_ex = "VДljundpunkt"; char *msg_hlnk_sr = "OtsisУna"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "Kuu statistika"; char *msg_mtot_th = "Kokku PЖЖrdumisi"; char *msg_mtot_tf = "Kokku Faile"; char *msg_mtot_tx = "Kokku KBaite"; char *msg_mtot_us = "Kokku Erinevaid Kasutajaid"; char *msg_mtot_ur = "Kokku Erinevaid Viitajaid"; char *msg_mtot_ua = "Kokku Erinevaid Lehitsejaid"; char *msg_mtot_uu = "Kokku Erinevaid Aadresse"; char *msg_mtot_ui = "Kokku Erinevaid Kasutajaid"; char *msg_mtot_mhd= "PЖЖrdumisi PДevas"; char *msg_mtot_mhh= "PЖЖrdumisi Tunnis"; char *msg_mtot_mfd= "Faile PДevas"; char *msg_mtot_mpd= "LehekЭlgi PДevas"; char *msg_mtot_msd= "KЭlastajaarvutist PДevas"; char *msg_mtot_mvd= "Visiite PДevas"; char *msg_mtot_mkd= "KBaite PДevas"; char *msg_mtot_rc = "PЖЖrdumisi vastusetЭЭpide kaupa"; /* daily total table */ char *msg_dtot_ds = "PДevade statistika"; /* hourly total table */ char *msg_htot_hs = "Tundide statistika"; /* country pie chart */ char *msg_ctry_use= "Kasutus maade kaupa"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Esimesed"; char *msg_top_of = "kУigist"; char *msg_top_s = "kЭlastajaarvutist"; char *msg_top_u = "kЭlastatud aadressist"; char *msg_top_r = "ettetulnud linkijast"; char *msg_top_a = "kasutatud lehitsejast"; char *msg_top_c = "kЭlastajamaast"; char *msg_top_en = "sisendpunktist"; char *msg_top_ex = "vДljundpunktist"; char *msg_top_sr = "kasutatud otsisУnast"; char *msg_top_i = "erinevatest kasutajatest"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Veb", "MДr", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Det"}; /* long month names - can be any length */ char *l_month[12]={ "Jaanuar", "Veebruar", "MДrts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September","Oktoober", "November","Detsember"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Defineerimata vastuskood", 0 }, { "Kood 100 - Continue", 0 }, { "Kood 101 - Switching Protocols", 0 }, { "Kood 200 - OK", 0 }, { "Kood 201 - Created", 0 }, { "Kood 202 - Accepted", 0 }, { "Kood 203 - Non-Authoritative Information", 0 }, { "Kood 204 - No Content", 0 }, { "Kood 205 - Reset Content", 0 }, { "Kood 206 - Partial Content", 0 }, { "Kood 300 - Multiple Choices", 0 }, { "Kood 301 - Moved Permanently", 0 }, { "Kood 302 - Found", 0 }, { "Kood 303 - See Other", 0 }, { "Kood 304 - Not Modified", 0 }, { "Kood 305 - Use Proxy", 0 }, { "Kood 307 - Moved Temporarily", 0 }, { "Kood 400 - Bad Request", 0 }, { "Kood 401 - Unauthorized", 0 }, { "Kood 402 - Payment Required", 0 }, { "Kood 403 - Forbidden", 0 }, { "Kood 404 - Not Found", 0 }, { "Kood 405 - Method Not Allowed", 0 }, { "Kood 406 - Not Acceptable", 0 }, { "Kood 407 - Proxy Authentication Required", 0 }, { "Kood 408 - Request Timeout", 0 }, { "Kood 409 - Conflict", 0 }, { "Kood 410 - Gone", 0 }, { "Kood 411 - Length Required", 0 }, { "Kood 412 - Precondition Failed", 0 }, { "Kood 413 - Request Entity Too Large", 0 }, { "Kood 414 - Request-URI Too Long", 0 }, { "Kood 415 - Unsupported Media Type", 0 }, { "Kood 416 - Requested Range Not Satisfiable", 0 }, { "Kood 417 - Expectation Failed", 0 }, { "Kood 500 - Internal Server Error", 0 }, { "Kood 501 - Not Implemented", 0 }, { "Kood 502 - Bad Gateway", 0 }, { "Kood 503 - Service Unavailable", 0 }, { "Kood 504 - Gateway Timeout", 0 }, { "Kood 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Kasutusstatistika"; char *msg_h_other = "Muu"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Numbriline/Tundmatu maa", 0,0,0 }, { IDX_3C('c','o','m'), "дridomeenid (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Haridusdomeenid (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "USA Riiklikud (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Rahvusvaheline (int)", 0,0,0 }, { IDX_3C('m','i','l'), "USA SУjaline (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Interneti organisatsioonid (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Mittekommertsiaalorganisatsioonid (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "эhendatud Araabia Emiraadid", 0,0,0 }, { IDX_2C('a','f'), "Afganistaan", 0,0,0 }, { IDX_2C('a','g'), "Antigua ja Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albaania", 0,0,0 }, { IDX_2C('a','m'), "Armeenia", 0,0,0 }, { IDX_2C('a','n'), "Hollandi Antillid", 0,0,0 }, { IDX_2C('a','o'), "Angoola", 0,0,0 }, { IDX_2C('a','q'), "Antarktika", 0,0,0 }, { IDX_2C('a','r'), "Argentiina", 0,0,0 }, { IDX_2C('a','s'), "Ameerika Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Austraalia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaidzan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia ja Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Boliivia", 0,0,0 }, { IDX_2C('b','r'), "Brasiilia", 0,0,0 }, { IDX_2C('b','s'), "Bahama saared", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Saar", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Valgevene", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Saared", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Kesk-Aafrika Vabariik", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Shveits", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cooki Saared", 0,0,0 }, { IDX_2C('c','l'), "Tshiili", 0,0,0 }, { IDX_2C('c','m'), "Kameron", 0,0,0 }, { IDX_2C('c','n'), "Hiina", 0,0,0 }, { IDX_2C('c','o'), "Kolumbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Kuuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "JУulusaared", 0,0,0 }, { IDX_2C('c','y'), "KЭpros", 0,0,0 }, { IDX_2C('c','z'), "Tsehhi Vabariik", 0,0,0 }, { IDX_2C('d','e'), "Saksamaa", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Taani", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Alzheeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Eesti", 0,0,0 }, { IDX_2C('e','g'), "Egiptus", 0,0,0 }, { IDX_2C('e','h'), "LДДne Sahhaara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Hispaania", 0,0,0 }, { IDX_2C('e','t'), "Etioopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Soome", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "Prantsusmaa", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Suurbritannia", 0,0,0 }, { IDX_2C('g','d'), "Grenaada", 0,0,0 }, { IDX_2C('g','e'), "Gruusia", 0,0,0 }, { IDX_2C('g','f'), "Prantsuse Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Gaana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Ginea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Ekvatoriaal-Ginea", 0,0,0 }, { IDX_2C('g','r'), "Kreeka", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduuras", 0,0,0 }, { IDX_2C('h','r'), "Horvaatia", 0,0,0 }, { IDX_2C('h','t'), "Haiiti", 0,0,0 }, { IDX_2C('h','u'), "Ungari", 0,0,0 }, { IDX_2C('i','d'), "Indoneesia", 0,0,0 }, { IDX_2C('i','e'), "Iirimaa", 0,0,0 }, { IDX_2C('i','l'), "Iisrael", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraak", 0,0,0 }, { IDX_2C('i','r'), "Iraan", 0,0,0 }, { IDX_2C('i','s'), "Island", 0,0,0 }, { IDX_2C('i','t'), "Itaalia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordaania", 0,0,0 }, { IDX_2C('j','p'), "Jaapan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "KУrgУzstan", 0,0,0 }, { IDX_2C('k','h'), "Kampuchea", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts ja Nevis", 0,0,0 }, { IDX_2C('k','p'), "PУhja-Korea", 0,0,0 }, { IDX_2C('k','r'), "LУuna-Korea", 0,0,0 }, { IDX_2C('k','w'), "Kuveit", 0,0,0 }, { IDX_2C('k','y'), "Kaimani saared", 0,0,0 }, { IDX_2C('k','z'), "Kasahstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Liibanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Libeeria", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Leedu", 0,0,0 }, { IDX_2C('l','u'), "Luksemburg", 0,0,0 }, { IDX_2C('l','v'), "LДti", 0,0,0 }, { IDX_2C('l','y'), "LiibЭa", 0,0,0 }, { IDX_2C('m','a'), "Maroko", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marshalli saared", 0,0,0 }, { IDX_2C('m','k'), "Makedoonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongoolia", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritaania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Malediivid", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mehhiko", 0,0,0 }, { IDX_2C('m','y'), "Malaisia", 0,0,0 }, { IDX_2C('m','z'), "Mosambiik", 0,0,0 }, { IDX_2C('n','a'), "Namiibia", 0,0,0 }, { IDX_2C('n','c'), "Uus-Kaledoonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolki saar", 0,0,0 }, { IDX_2C('n','g'), "Nigeeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Holland", 0,0,0 }, { IDX_2C('n','o'), "Norra", 0,0,0 }, { IDX_2C('n','p'), "Nepaal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Uus-Meremaa", 0,0,0 }, { IDX_2C('o','m'), "Omaan", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peruu", 0,0,0 }, { IDX_2C('p','f'), "Prantsuse PolЭneesia", 0,0,0 }, { IDX_2C('p','g'), "Paapua Uus-Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filipiinid", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poola", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre ja Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Katar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumeenia", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Vene FЖderatsioon", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Araabia", 0,0,0 }, { IDX_2C('s','b'), "Solomoni saared", 0,0,0 }, { IDX_2C('s','c'), "Seishellid", 0,0,0 }, { IDX_2C('s','d'), "Sudaan", 0,0,0 }, { IDX_2C('s','e'), "Rootsi", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Sloveenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard ja Jan Mayen saared", 0,0,0 }, { IDX_2C('s','k'), "Slovakkia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somaalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome ja Principe", 0,0,0 }, { IDX_2C('s','u'), "NSVL (endine)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "SЭЭria", 0,0,0 }, { IDX_2C('s','z'), "Svaasimaa", 0,0,0 }, { IDX_2C('t','c'), "Turks ja Caicos saared", 0,0,0 }, { IDX_2C('t','d'), "Tshaad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tai", 0,0,0 }, { IDX_2C('t','j'), "Tadzhikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmeenia", 0,0,0 }, { IDX_2C('t','n'), "Tuneesia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Ida Timor", 0,0,0 }, { IDX_2C('t','r'), "TЭrgi", 0,0,0 }, { IDX_2C('t','t'), "Trinidad ja Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tansaania", 0,0,0 }, { IDX_2C('u','a'), "Ukraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Suur Britannia", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "Ameerika эhendriigid", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Usbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatikan", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent ja the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Neitsi saared (Briti)", 0,0,0 }, { IDX_2C('v','i'), "Neitsi saared (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis ja Futuna saared", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jeemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Jugoslaavia", 0,0,0 }, { IDX_2C('z','a'), "LУuna-Aafrika Vabariik", 0,0,0 }, { IDX_2C('z','m'), "Sambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.finnish�������������������������������������������������������0000644�0001750�0001750�00000106765�11032527214�017552� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.finnish Webalizer V2.0x Language Support file for Finnish. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 25-Feb-2000 Translate to Finnish by Eero Martikainen (eero.martikainen@flamenet.com) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 05-Feb-2001 Grammar and spelling corrections by Osma Suominen (ozone@iki.fi) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Finnish"; char *langcode = "fi"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* Errors, help and setup messages not translated by finnish. */ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Virhe: Tiedostoa ei voi avata:"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* TДstД alkaa suomennos. Finnish translation starts here. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Yhteenveto ajalta"; char *msg_hhdr_gt = "Luotu"; /* main index strings */ char *msg_main_us = "KДyttЖyhteenveto:"; /* char *msg_main_per= "ViimeisimmДt 12 kuukautta"; */ char *msg_main_per= "Kuukausittainen yhteenveto"; char *msg_main_sum= "Kuukausittainen yhteenveto"; char *msg_main_da = "PДivien keskiarvo"; char *msg_main_mt = "YhteensД kuukaudessa"; /* month HTML page strings */ char *msg_hmth_du = "PДivittДinen kДyttЖ"; char *msg_hmth_hu = "Tunnittainen kДyttЖ"; /* table header strings */ char *msg_h_by = "/"; char *msg_h_avg = "Keskiarvo"; char *msg_h_max = "Max"; char *msg_h_total = "YhteensД"; char *msg_h_totals= "Kaikki yhteensД"; char *msg_h_day = "PДivД"; char *msg_h_mth = "Kuukausi"; char *msg_h_hour = "Tunti"; char *msg_h_hits = "osumia"; char *msg_h_pages = "sivuja"; char *msg_h_visits= "vierailuja"; char *msg_h_files = "tiedostoja"; char *msg_h_sites = "koneita"; char *msg_h_xfer = "kilotavuja"; char *msg_h_hname = "VДlityspalvelin"; char *msg_h_url = "URL"; char *msg_h_agent = "KДytetyt selaimet"; char *msg_h_ref = "Hakupalvelimet / Linkit sivuille"; char *msg_h_ctry = "Valtiot"; char *msg_h_search= "Hakusana"; char *msg_h_uname = "KДyttДjДnimi"; /* links along top of page */ char *msg_hlnk_ds = "PДivДtilastot"; char *msg_hlnk_hs = "Tuntitilastot"; char *msg_hlnk_u = "URL:t"; char *msg_hlnk_s = "Koneet"; char *msg_hlnk_a = "Selaimet"; char *msg_hlnk_c = "Valtiot"; char *msg_hlnk_r = "Hakupalvelimet"; char *msg_hlnk_en = "SisДДntulosivut"; char *msg_hlnk_ex = "Ulosmenosivut"; char *msg_hlnk_sr = "Hakusanat"; char *msg_hlnk_i = "KДyttДjДt"; /* monthly total table */ char *msg_mtot_ms = "Kuukausitilastot"; char *msg_mtot_th = "Osumia yhteensД"; char *msg_mtot_tf = "Tiedostoja yhteensД"; char *msg_mtot_tx = "Kilotavuja yhteensД"; char *msg_mtot_us = "YhteensД erilaisia koneita"; char *msg_mtot_ur = "YhteensД erilaisia hakupalvelimia"; char *msg_mtot_ua = "YhteensД erilaisia selaimia"; char *msg_mtot_uu = "YhteensД erilaisia URL:iД"; char *msg_mtot_ui = "YhteensД erilaisia kДyttДjДnimiД"; char *msg_mtot_mhd= "Osumia / pДivД"; char *msg_mtot_mhh= "Osumia / tunti"; char *msg_mtot_mfd= "Tiedostoja / pДivД"; char *msg_mtot_mpd= "Sivuja / pДivД"; char *msg_mtot_msd= "Koneita / pДivД"; char *msg_mtot_mvd= "Vierailuja / pДivД"; char *msg_mtot_mkd= "Kilotavuja / pДivД"; char *msg_mtot_rc = "Osumien vastauskoodit"; /* daily total table */ char *msg_dtot_ds = "PДivittДiset tilastot"; /* hourly total table */ char *msg_htot_hs = "Tuntitilastot"; /* country pie chart */ char *msg_ctry_use= "KДyttДjiД valtioittain"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Parhaat "; char *msg_top_of = "yht."; char *msg_top_s = "koneesta"; char *msg_top_u = "URL:stД"; char *msg_top_r = "hakupalvelimesta"; char *msg_top_a = "selaimesta"; char *msg_top_c = "valtiosta"; char *msg_top_en = "sisДДntulosivusta"; char *msg_top_ex = "ulosmenosivusta"; char *msg_top_sr = "hakusanasta"; char *msg_top_i = "kДyttДjДnimestД"; char *msg_v_sites = "Katso kaikki koneet"; char *msg_v_urls = "Katso kaikki URL:t"; char *msg_v_refs = "Katso kaikki linkit sivuille"; char *msg_v_agents= "Katso kaikki selaimet"; char *msg_v_search= "Katso kaikki hakusanat"; char *msg_v_users = "Katso kaikki kДyttДjДnimet"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"}; /* long month names - can be any length */ char *l_month[12]={ "tammikuussa", "helmikuussa", "maaliskuussa", "huhtikuussa", "toukokuussa", "kesДkuussa", "heinДkuussa", "elokuussa", "syyskuussa", "lokakuussa", "marraskuussa", "joulukuussa"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Tuntematon vastauskoodi", 0 }, { "Code 100 - Jatka", 0 }, { "Code 101 - Vaihda Protokollaa", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Luotu", 0 }, { "Code 202 - HyvДksytty", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - Ei sisДltЖД", 0 }, { "Code 205 - TyhjennД sisДltЖ", 0 }, { "Code 206 - Osittainen sisДltЖ", 0 }, { "Code 300 - Useita vaihtoehtoja", 0 }, { "Code 301 - Siirretty pysyvДsti", 0 }, { "Code 302 - LЖytyi", 0 }, { "Code 303 - Katso toinen", 0 }, { "Code 304 - Ei muutettu", 0 }, { "Code 305 - KДytД vДlityspalvelinta", 0 }, { "Code 307 - Siirretty tilapДisesti", 0 }, { "Code 400 - Huono pyyntЖ", 0 }, { "Code 401 - Ei kДyttЖoikeutta", 0 }, { "Code 402 - Maksu vaaditaan", 0 }, { "Code 403 - Kielletty", 0 }, { "Code 404 - Ei lЖytynyt", 0 }, { "Code 405 - Metodi ei ole sallittu", 0 }, { "Code 406 - Ei hyvДksyttДvДД", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Konflikti", 0 }, { "Code 410 - MennyttД", 0 }, { "Code 411 - Pituus vaaditaan", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Pyydetty URL liian pitkД", 0 }, { "Code 415 - MediatyyppiД ei tueta", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Palvelimen sisДinen virhe", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Palvelu ei ole saatavilla", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP-versiota ei tueta", 0 } }; char *msg_title = "KДyttЖtilastot"; char *msg_h_other = "Muut"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Tuntematon", 0,0,0 }, { IDX_3C('c','o','m'), "Kaupallinen (.com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (.edu)", 0,0,0 }, { IDX_3C('g','o','v'), "USA Hallitus (.gov)", 0,0,0 }, { IDX_3C('i','n','t'), "KansainvДlinen (.int)", 0,0,0 }, { IDX_3C('m','i','l'), "USA Armeija (.mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Verkko (.net)", 0,0,0 }, { IDX_3C('o','r','g'), "Ei-kaupallinen yhteisЖ (.org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Vanhan tyylin Arpanet (.arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Naton tukikohta (.nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Yhdistyneet Arabiemiraatit", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Hollannin Antillit", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "EtelДnapamantere", 0,0,0 }, { IDX_2C('a','r'), "Argentiina", 0,0,0 }, { IDX_2C('a','s'), "Amerikan Samoa", 0,0,0 }, { IDX_2C('a','t'), "ItДvalta", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia ja Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brasilia", 0,0,0 }, { IDX_2C('b','s'), "Bahama", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Valko-VenДjД", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Sveitsi", 0,0,0 }, { IDX_2C('c','i'), "Norsunluurannikko", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Camerun", 0,0,0 }, { IDX_2C('c','n'), "Kiina", 0,0,0 }, { IDX_2C('c','o'), "Kolumbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Kuuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Joulusaaret", 0,0,0 }, { IDX_2C('c','y'), "Kypros", 0,0,0 }, { IDX_2C('c','z'), "Tsekki", 0,0,0 }, { IDX_2C('d','e'), "Saksa", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Tanska", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominikaaninen Tasavalta", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Viro", 0,0,0 }, { IDX_2C('e','g'), "Egypti", 0,0,0 }, { IDX_2C('e','h'), "LДntinen Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Espanja", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Suomi", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falklandin Saaret (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Mikronesia", 0,0,0 }, { IDX_2C('f','o'), "FДrsaaret", 0,0,0 }, { IDX_2C('f','r'), "Ranska", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Iso-Britannia (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Ranskan Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Kreikka", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guajana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Unkari", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Irlanti", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Intia", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islanti", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordania", 0,0,0 }, { IDX_2C('j','p'), "Japani", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Kambodza", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Pohjois-Korea", 0,0,0 }, { IDX_2C('k','r'), "EtelД-Korea", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Saaret", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Liettua", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Marokko", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Makedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Malediivit", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Meksiko", 0,0,0 }, { IDX_2C('m','y'), "Malesia", 0,0,0 }, { IDX_2C('m','z'), "Mosambik", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Uusi Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Nigeria", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Hollanti", 0,0,0 }, { IDX_2C('n','o'), "Norja", 0,0,0 }, { IDX_2C('n','p'), "Nepali", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Uusi-Seelanti", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Ranskan Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua Uusi Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filippiinit", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Puola", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugali", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguai", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "VenДjД", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Ruotsi", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakian Tasavalta", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegali", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Neuvostoliitto (ent.)", 0,0,0 }, {IDX_2C('s','v'), "El Salvador", 0,0,0 }, {IDX_2C('s','y'), "Syyria", 0,0,0 }, {IDX_2C('s','z'), "Swazimaa", 0,0,0 }, {IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, {IDX_2C('t','d'), "Chad", 0,0,0 }, {IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, {IDX_2C('t','g'), "Togo", 0,0,0 }, {IDX_2C('t','h'), "Thaimaa", 0,0,0 }, {IDX_2C('t','j'), "Tajikistan", 0,0,0 }, {IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, {IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, {IDX_2C('t','n'), "Tunisia", 0,0,0 }, {IDX_2C('t','o'), "Tonga", 0,0,0 }, {IDX_2C('t','p'), "ItД Timori", 0,0,0 }, {IDX_2C('t','r'), "Turkki", 0,0,0 }, {IDX_2C('t','t'), "Trinidad ja Tobago", 0,0,0 }, {IDX_2C('t','v'), "Tuvalu", 0,0,0 }, {IDX_2C('t','w'), "Taiwan", 0,0,0 }, {IDX_2C('t','z'), "Tansania", 0,0,0 }, {IDX_2C('u','a'), "Ukraina", 0,0,0 }, {IDX_2C('u','g'), "Uganda", 0,0,0 }, {IDX_2C('u','k'), "Iso-Britannia", 0,0,0 }, {IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, {IDX_2C('u','s'), "Yhdysvallat", 0,0,0 }, {IDX_2C('u','y'), "Uruguai", 0,0,0 }, {IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, {IDX_2C('v','a'), "Vatikaani", 0,0,0 }, {IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, {IDX_2C('v','e'), "Venezuela", 0,0,0 }, {IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, {IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, {IDX_2C('v','n'), "Vietnam", 0,0,0 }, {IDX_2C('v','u'), "Vanuatu", 0,0,0 }, {IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, {IDX_2C('w','s'), "Samoa", 0,0,0 }, {IDX_2C('y','e'), "Jemen", 0,0,0 }, {IDX_2C('y','t'), "Mayotte", 0,0,0 }, {IDX_2C('y','u'), "Jugoslavia", 0,0,0 }, {IDX_2C('z','a'), "EtelД-Afrikka", 0,0,0 }, {IDX_2C('z','m'), "Sambia", 0,0,0 }, {IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �����������webalizer-2.23-05/lang/webalizer_lang.french��������������������������������������������������������0000644�0001750�0001750�00000111320�11032527214�017340� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.french Webalizer V2.0x Language Support file for French. 04-Jun-1998 Translation by Sylvain Avril (savril@oceanet.fr) 04-Jun-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 20-Feb-1999 Added non-extended char l_month array (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 27-Jan-2000 Translation complements by Christophe Aubert (ca@tgi.fr) 11-Fev-2000 Minor complements by Laurent Monin(lmonin@metaconcept.com) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 17-Mar-2000 French support for level 2.0 (lmonin@metaconcept.com) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net */ /* Traduit par Sylvain AVRIL (savril@oceanet.fr, http://www.coucounet.com/sylvain/) - Oceanet (http://www.oceanet.fr/) Je n'ai pas traduit les messages d'erreurs qui me paraissaient etre plus clairs en anglais */ /* Complements de traduction par Christophe AUBERT (ca@tgi.fr) - TGI (http://www.tgi.fr/) J'ai traduit les noms de pays ainsi que differents titres ... Les messages d'erreurs restent en anglais */ /* Complements mineurs de traduction par Laurent MONIN - lmonin@metaconcept.com J'ai traduit Kbytes --> KOctets et certains pays conformement Ю DNS/BIND 3eme edition Les messages d'erreurs restent en anglais Adaptation pour version 2.0 */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "French"; char *langcode = "fr"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data..."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timeout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Période du résumé"; char *msg_hhdr_gt = "Généré le"; /* main index strings */ char *msg_main_us = "Resume des acces pour"; /* char *msg_main_per= "12 derniers mois"; */ char *msg_main_per= "Résumé par mois"; char *msg_main_sum= "Résumé par mois"; char *msg_main_da = "Moyenne journalière"; char *msg_main_mt = "Totaux mensuels"; /* month HTML page strings */ char *msg_hmth_du = "Acces journalier pour"; char *msg_hmth_hu = "Acces horaire pour"; /* table header strings */ char *msg_h_by = "par"; char *msg_h_avg = "Moy."; char *msg_h_max = "Max"; char *msg_h_total = "Total"; char *msg_h_totals= "Totaux"; char *msg_h_day = "Jour"; char *msg_h_mth = "Mois"; char *msg_h_hour = "Heure"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visites"; char *msg_h_files = "Fichiers"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "Ko"; char *msg_h_hname = "Nom d'hôte"; char *msg_h_url = "URL"; char *msg_h_agent = "Navigateur"; char *msg_h_ref = "Référent"; char *msg_h_ctry = "Pays"; char *msg_h_search= "Mots-clés"; char *msg_h_uname = "Utilisateur"; /* links along top of page */ char *msg_hlnk_ds = "Statistiques journalières"; char *msg_hlnk_hs = "Statistiques horaires"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Sites"; char *msg_hlnk_a = "Navigateurs"; char *msg_hlnk_c = "Pays"; char *msg_hlnk_r = "Référents"; char *msg_hlnk_en = "Pages d'entrée"; char *msg_hlnk_ex = "Pages de sortie"; char *msg_hlnk_sr = "Mots-clés"; char *msg_hlnk_i = "Utilisateurs"; /* monthly total table */ char *msg_mtot_ms = "Statistiques mensuelles pour"; char *msg_mtot_th = "Total des Hits"; char *msg_mtot_tf = "Total des Fichiers"; char *msg_mtot_tx = "Total des Ko"; char *msg_mtot_us = "Total des Sites uniques"; char *msg_mtot_ur = "Total des Référents uniques"; char *msg_mtot_ua = "Total des Navigateurs"; char *msg_mtot_uu = "Total des URLs uniques"; char *msg_mtot_ui = "Total des utilisateurs uniques"; char *msg_mtot_mhd= "Hits par Jour"; char *msg_mtot_mhh= "Hits par Heure"; char *msg_mtot_mfd= "Fichiers par Jour"; char *msg_mtot_mpd= "Pages par Jour"; char *msg_mtot_msd= "Sites par Jour"; char *msg_mtot_mvd= "Visites par Jour"; char *msg_mtot_mkd= "KOctets par Jour"; char *msg_mtot_rc = "Hits par code de réponse"; /* daily total table */ char *msg_dtot_ds = "Statistiques journalières pour"; /* hourly total table */ char *msg_htot_hs = "Statistiques horaires pour"; /* country pie chart */ char *msg_ctry_use= "Acces par pays pour"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "sur un total de"; char *msg_top_s = "sites"; char *msg_top_u = "URLs"; char *msg_top_r = "référents"; char *msg_top_a = "navigateurs"; char *msg_top_c = "pays"; char *msg_top_en = "pages d'entrée"; char *msg_top_ex = "pages de sortie"; char *msg_top_sr = "groupes de mots-clés"; char *msg_top_i = "utilisateurs"; char *msg_v_sites = "Voir tous les sites"; char *msg_v_urls = "Voir toutes les URLs"; char *msg_v_refs = "Voir tous les référents"; char *msg_v_agents= "Voir tous les navigateurs"; char *msg_v_search= "Voir tous les mots-clés"; char *msg_v_users = "Voir tous les utilisateurs"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Aou", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ /* char *l_month[12]={ "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre","Octobre", "Novembre","Décembre"}; */ /* Some installations may need to use this one instead */ char *l_month[12]={ "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre","Octobre", "Novembre","Decembre"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Statistiques d'accès à"; char *msg_h_other = "Autre"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Non-resolu/Inconnu", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (.com)", 0,0,0 }, { IDX_3C('e','d','u'), "Enseignement (.edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Gouvernement (.gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Militaire (.mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (.net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-commerciales (.org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Ancien style Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"OTAN (.nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','c'), "Ile Ascension", 0,0,0 }, { IDX_2C('a','d'), "Andorre", 0,0,0 }, { IDX_2C('a','e'), "Emirats Arabes Unis", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua et Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albanie", 0,0,0 }, { IDX_2C('a','m'), "Armenie", 0,0,0 }, { IDX_2C('a','n'), "Antilles Neerlandaises", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctique", 0,0,0 }, { IDX_2C('a','r'), "Argentine", 0,0,0 }, { IDX_2C('a','s'), "Samoa Americaines", 0,0,0 }, { IDX_2C('a','t'), "Autriche", 0,0,0 }, { IDX_2C('a','u'), "Australie", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaidjan", 0,0,0 }, { IDX_2C('b','a'), "Bosnie Herzegovine", 0,0,0 }, { IDX_2C('b','b'), "Barbades", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgique", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgarie", 0,0,0 }, { IDX_2C('b','h'), "Bahrein", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermudes", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivie", 0,0,0 }, { IDX_2C('b','r'), "Bresil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhoutan", 0,0,0 }, { IDX_2C('b','v'), "Ile Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Bielorussie", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Iles Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','d'), "Rep. Democr. Congo (Kinshasa)", 0,0,0 }, { IDX_2C('c','f'), "Republique Centrafricaine", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Suisse", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire", 0,0,0 }, { IDX_2C('c','k'), "Iles Cook", 0,0,0 }, { IDX_2C('c','l'), "Chili", 0,0,0 }, { IDX_2C('c','m'), "Cameroun", 0,0,0 }, { IDX_2C('c','n'), "Chine", 0,0,0 }, { IDX_2C('c','o'), "Colombie", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cap Vert", 0,0,0 }, { IDX_2C('c','x'), "Ile Christmas", 0,0,0 }, { IDX_2C('c','y'), "Chypre", 0,0,0 }, { IDX_2C('c','z'), "Republique Tcheque", 0,0,0 }, { IDX_2C('d','e'), "Allemagne", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danemark", 0,0,0 }, { IDX_2C('d','m'), "Dominique", 0,0,0 }, { IDX_2C('d','o'), "Republique Dominicaine", 0,0,0 }, { IDX_2C('d','z'), "Algerie", 0,0,0 }, { IDX_2C('e','c'), "Equateur", 0,0,0 }, { IDX_2C('e','e'), "Estonie", 0,0,0 }, { IDX_2C('e','g'), "Egypte", 0,0,0 }, { IDX_2C('e','h'), "Sahara Occidental", 0,0,0 }, { IDX_2C('e','r'), "Erythree", 0,0,0 }, { IDX_2C('e','s'), "Espagne", 0,0,0 }, { IDX_2C('e','t'), "Ethiopie", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlande", 0,0,0 }, { IDX_2C('f','j'), "Fidji", 0,0,0 }, { IDX_2C('f','k'), "Iles Falkland (Malouines)", 0,0,0 }, { IDX_2C('f','m'), "Micronesie", 0,0,0 }, { IDX_2C('f','o'), "Iles Feroes", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Grande Bretagne (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenade", 0,0,0 }, { IDX_2C('g','e'), "Georgie", 0,0,0 }, { IDX_2C('g','f'), "Guyane Francaise", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Groenland", 0,0,0 }, { IDX_2C('g','m'), "Gambie", 0,0,0 }, { IDX_2C('g','n'), "Guinee", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Guinee Equatoriale", 0,0,0 }, { IDX_2C('g','r'), "Grece", 0,0,0 }, { IDX_2C('g','s'), "Georgie et Iles Sandwich du Sud", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinee-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyane", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Iles Heard et McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatie", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hongrie", 0,0,0 }, { IDX_2C('i','d'), "Indonesie", 0,0,0 }, { IDX_2C('i','e'), "Irlande", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Ile de Man", 0,0,0 }, { IDX_2C('i','n'), "Inde", 0,0,0 }, { IDX_2C('i','o'), "Territ. Britannique Ocean Indien", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islande", 0,0,0 }, { IDX_2C('i','t'), "Italie", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaique", 0,0,0 }, { IDX_2C('j','o'), "Jordanie", 0,0,0 }, { IDX_2C('j','p'), "Japon", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kirghizistan", 0,0,0 }, { IDX_2C('k','h'), "Cambodge", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comores", 0,0,0 }, { IDX_2C('k','n'), "Saint Christophe et Nevis", 0,0,0 }, { IDX_2C('k','p'), "Coree (Nord)", 0,0,0 }, { IDX_2C('k','r'), "Coree (Sud)", 0,0,0 }, { IDX_2C('k','w'), "Koweit", 0,0,0 }, { IDX_2C('k','y'), "Iles Caimans", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Liban", 0,0,0 }, { IDX_2C('l','c'), "Sainte Lucie", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lituanie", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Lettonie (Latvija)", 0,0,0 }, { IDX_2C('l','y'), "Libye", 0,0,0 }, { IDX_2C('m','a'), "Maroc", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldavie", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Iles Marshall", 0,0,0 }, { IDX_2C('m','k'), "Macedoine", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Birmanie (Myanmar)", 0,0,0 }, { IDX_2C('m','n'), "Mongolie", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Iles Mariannes Nord", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritanie", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malte", 0,0,0 }, { IDX_2C('m','u'), "Ile Maurice", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexique", 0,0,0 }, { IDX_2C('m','y'), "Malaisie", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibie", 0,0,0 }, { IDX_2C('n','c'), "Nouvelle Caledonie", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Ile Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Pays Bas", 0,0,0 }, { IDX_2C('n','o'), "Norvege", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Nioue", 0,0,0 }, { IDX_2C('n','z'), "Nouvelle Zelande", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Perou", 0,0,0 }, { IDX_2C('p','f'), "Polynesie Francaise", 0,0,0 }, { IDX_2C('p','g'), "Papouasie Nouvelle Guinee", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Pologne", 0,0,0 }, { IDX_2C('p','m'), "Saint Pierre et Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Porto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Roumanie", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russie", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Arabie Saoudite", 0,0,0 }, { IDX_2C('s','b'), "Iles Salomon", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Soudan", 0,0,0 }, { IDX_2C('s','e'), "Suede", 0,0,0 }, { IDX_2C('s','g'), "Singapour", 0,0,0 }, { IDX_2C('s','h'), "Sainte Helene", 0,0,0 }, { IDX_2C('s','i'), "Slovenie", 0,0,0 }, { IDX_2C('s','j'), "Iles Svalbard et Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "Slovaquie", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "Saint Marin", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalie", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Saint Thomas et Prince", 0,0,0 }, { IDX_2C('s','u'), "URSS (ancien)", 0,0,0 }, { IDX_2C('s','v'), "Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrie", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Iles Turks et Caiques", 0,0,0 }, { IDX_2C('t','d'), "Tchad", 0,0,0 }, { IDX_2C('t','f'), "Terres Australes Antarctiques Fr", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailande", 0,0,0 }, { IDX_2C('t','j'), "Tadjikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisie", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Timor Oriental", 0,0,0 }, { IDX_2C('t','r'), "Turquie", 0,0,0 }, { IDX_2C('t','t'), "Trinite et Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzanie", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Ouganda", 0,0,0 }, { IDX_2C('u','k'), "Royaume-Uni", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "Etats Unis", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Ouzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Cite du Vatican", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent et Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Iles Vierges Britanniques", 0,0,0 }, { IDX_2C('v','i'), "Iles Vierges Americaines", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Iles Wallis et Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa Occidentales", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yougoslavie", 0,0,0 }, { IDX_2C('z','a'), "Afrique du Sud", 0,0,0 }, { IDX_2C('z','m'), "Zambie", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.galician������������������������������������������������������0000644�0001750�0001750�00000107442�11032527214�017654� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.galician Webalizer V2.0x Language Support file for Galician 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 22-Apr-2001 Galician translation by Alberto Cifuentes (balea@arrakis.es) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Galician"; char *langcode = "gl"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "rexistros"; char *msg_addresses="addresses"; char *msg_ignored = "ignorados"; char *msg_bad = "errСneos"; char *msg_in = "en"; char *msg_seconds = "segundos"; /* progress and setup erro messages */ char *msg_log_err = "Erro: Non podo abrir histСrico"; char *msg_log_use = "Utilizando histСrico"; char *msg_dir_err = "Erro: non se pode cambiar С directorio"; char *msg_dir_use = "Creando informe en"; char *msg_cur_dir = "directorio actual"; char *msg_hostname= "O nome da mАquina no informe И"; char *msg_ign_hist= "Ignorando rexistro anterior..."; char *msg_no_hist = "Non atopo o arquivo histСrico..."; char *msg_get_hist= "Lendo arquivo..."; char *msg_put_hist= "Gardando informacion de arquivo..."; char *msg_hist_err= "Erro: Non podo abri-lo arquivo de arquivo"; char *msg_bad_hist= "Erro: Ignorando un rexistro non vАlido no arquivo"; char *msg_bad_conf= "Erro: non podo abri-lo arquivo de configuraciСn"; char *msg_bad_key = "Aviso: palabra chave errСnea"; char *msg_bad_date= "Erro: ignorando rexistro (data errСnea)"; char *msg_ign_nscp= "Saltando rexistro de cabeceira Netscape"; char *msg_bad_rec = "Saltando rexistro errСneo"; char *msg_no_vrec = "Non atopo ningun rexistro vАlido"; char *msg_gen_rpt = "Xerando informe de"; char *msg_gen_sum = "Xerando informe resumido"; char *msg_get_data= "Lendo datos dunha execuciСn previa..."; char *msg_put_data= "Grabando datos da execuciСn actual..."; char *msg_no_data = "Datos de execuciСn previa non atopados..."; /*char *msg_bad_data= "Rexistro de datos invАlidos";*/ char *msg_bad_data= "Erro: Non podo carga-os datos da execuciСn"; char *msg_data_err= "Erro: Non podo graba-os datos da execuciСn actual"; char *msg_dup_data= "Aviso: Posibles datos duplicados atopados"; /* DNS Stuff */ char *msg_dns_nocf= "Non cache file specified, aborting..."; char *msg_dns_nodb= "Erro: Unable to open DNS cache file"; char *msg_dns_nolk= "Erro: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Non podo reservar suficiente memoria, quito os principais sitios"; char *msg_nomem_tr= "Non podo reservar suficiente memoria, quito as principais ligazСns"; char *msg_nomem_tu= "Non podo reservar suficiente memoria, quito os principais URLs"; char *msg_nomem_tc= "Non podo reservar suficiente memoria, quito os principais paМses"; char *msg_nomem_ta= "Non podo reservar suficiente memoria, quito os principais programas cliente"; char *msg_nomem_tsr="Non podo reservar suficiente memoria, quito as principais cadeas de busca"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Erro engadindo nodo de servidor (dМario), mo salto"; char *msg_nomem_mh= "Erro engadindo nodo de servidor (mensual), mo salto"; char *msg_nomem_u = "Erro engadindo nodo de URL, mo salto"; char *msg_nomem_a = "Erro engadindo nodo de programa visor, mo salto"; char *msg_nomem_r = "Erro engadindo nodo de ligazСn orixe, mo salto"; char *msg_nomem_sc= "Erro engadindo nodo de caenas de busca, mo salto"; char *msg_nomem_i = "Erro adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Erro: Saltando rexistro de histСrico grande de abondoh"; char *msg_big_host= "Aviso: Cortando nome de mАquina grande de abondo"; char *msg_big_date= "Aviso: Cortando campo de data grande de abondo"; char *msg_big_req = "Aviso: Cortando campo de peticion grande de abondo"; char *msg_big_ref = "Aviso: Cortando campo de ligazСn orixe grande de abondo"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Aviso: Una cadena sobrepasa o almacenamento disponible"; /* misc errors */ char *msg_no_open = "Erro: Non podo abrir un arquivo"; /* Help display... */ char *h_usage1 = "Forma de uso"; char *h_usage2 = "[opciСns] [arquivo histСrico]"; char *h_msg[]= { "-h = sacar esta mensaxe" , "-V = ver informacion de versiСn" , "-v = be verbose" , "-d = sacar informaciСn adicional para depuraciСn" , "-F type = Log type. type= (clf | ftp | squid | w3c)" , "-f = procesa historicos fСra de secuencia (ver man)", "-i = ignorar arquivo" , "-p = lembrar estado (incremental)" , "-b = ignorar estado (incremental)" , "-q = suprimir mensaxes de informacion" , "-Q = suprimir TсDALAS mensaxes" , "-Y = suprimir grafico de paМses" , "-G = suprimir grАfico horario" , "-H = suprimir estatМsticas horarias" , "-L = suprimir lendas coloreadas dos grАficos" , "-l num = usar num lМЯas de fondo nos grАficos" , "-m num = especificar temporizador de visitas (seconds)", "-T = sacar informacion de horario" , "-c arquivo= usar arquivo de configuracion 'arquivo'" , "-n nome = nome de mАquina" , "-o dir = directorio de saМda" , "-t nome = titula-lo informe 'nome'" , "-a nome = acocha-lo programa cliente 'nome'" , "-r nome = acocha-la ligazСn orixe 'nome'" , "-s nome = acocha-lo servidor 'nome'" , "-u nome = acocha-lo URL 'nome'" , "-x nome = usa extensiСn de arquivos 'nome'" , "-O nome = Omit page 'nome'" , "-P nome = usa extensiСn de pАxinas 'nome'" , "-I nome = Alias do Мndice 'nome'" , "-K n = n months in summary table" , "-k n = n months in summary graph" , "-A n = Mostra-los n primeiros programas visores" , "-C n = Mostra-los n primeiros paМses" , "-R n = Mostra-las n primeiras ligazСns orixe" , "-S n = Mostra-los n primeiros clientes" , "-U n = Mostra-los n primeiros URLs" , "-e n = Mostra-las n primeiras pАxinas de entrada" , "-E n = Mostra-las n primeiras pАxinas de saМda" , "-g n = Group Domains to n levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nome = Use DNS Cache file 'nome'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'nome'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nome = Use GeoIP database 'nome'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "PerМodo resumido"; char *msg_hhdr_gt = "Xerado o"; /* main index strings */ char *msg_main_us = "Resumo de uso de"; /* char *msg_main_per= "зltimos 12 meses"; */ char *msg_main_per= "Resumo por meses"; char *msg_main_sum= "Resumo por meses"; char *msg_main_da = "MedМa dМaria"; char *msg_main_mt = "Totais mensuais"; /* month HTML page strings */ char *msg_hmth_du = "Uso dМario en"; char *msg_hmth_hu = "Uso por horas en"; /* table header strings */ char *msg_h_by = "Por"; char *msg_h_avg = "MedМa"; char *msg_h_max = "MАx."; char *msg_h_total = "Total"; char *msg_h_totals= "Totais"; char *msg_h_day = "DМa"; char *msg_h_mth = "Mes"; char *msg_h_hour = "Hora"; char *msg_h_hits = "Accesos"; char *msg_h_pages = "PАxinas"; char *msg_h_visits= "Visitas"; char *msg_h_files = "Arquivos"; char *msg_h_sites = "Clientes"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "MАquina"; char *msg_h_url = "URL"; char *msg_h_agent = "Programa cliente"; char *msg_h_ref = "LigazСn orixe"; char *msg_h_ctry = "PaМses"; char *msg_h_search= "Cadea de BЗsca"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "EstatМsiticas dМarias"; char *msg_hlnk_hs = "EstatМsticas por horas"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Clientes"; char *msg_hlnk_a = "Programas visores"; char *msg_hlnk_c = "PaМses"; char *msg_hlnk_r = "LigazСns orixe"; char *msg_hlnk_en = "Entrada"; char *msg_hlnk_ex = "SaМda"; char *msg_hlnk_sr = "Busca"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "EstatМsticas mensuais de"; char *msg_mtot_th = "Total Accesos"; char *msg_mtot_tf = "Total Arquivos"; char *msg_mtot_tx = "Total KBytes"; char *msg_mtot_us = "Total Clientes"; char *msg_mtot_ur = "Total LigazСns orixe"; char *msg_mtot_ua = "Total Programas visores"; char *msg_mtot_uu = "Total URLs"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "Accesos por DМa"; char *msg_mtot_mhh= "Accesos por Hora"; char *msg_mtot_mfd= "Arquivos por DМa"; char *msg_mtot_mpd= "PАxinas por DМa"; char *msg_mtot_msd= "Clientes por DМa"; char *msg_mtot_mvd= "Visitas por DМa"; char *msg_mtot_mkd= "KBytes por DМa"; char *msg_mtot_rc = "Accesos por cСdigo de resposta"; /* daily total table */ char *msg_dtot_ds = "EstatМsticas diarias de"; /* hourly total table */ char *msg_htot_hs = "EstatМsticas horarias de"; /* country pie chart */ char *msg_ctry_use= "Accesos por paМses en"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Os"; char *msg_top_of = "primeiros dun total de"; char *msg_top_s = "clientes"; char *msg_top_u = "URLs"; char *msg_top_r = "ligazСns orixe"; char *msg_top_a = "programas de cliente"; char *msg_top_c = "paМses"; char *msg_top_en = "Total PАxinas de Entrada"; char *msg_top_ex = "Total PАxinas de SaМda"; char *msg_top_sr = "Total Cadeas de Busca"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Xan", "Feb", "Mar", "Abr", "Mai", "XuЯ", "Xul", "Ago", "Set", "Out", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "XuЯo", "Xullo", "Agosto", "Setembro","Outubro", "Novembro","Decembro"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "CСdigo de resposta indefinido", 0 }, { "100 - ContМnua", 0 }, { "101 - Cambiando de protocolo", 0 }, { "200 - OK", 0 }, { "201 - Creado", 0 }, { "202 - Aceptado", 0 }, { "203 - InformaciСn non autorizada", 0 }, { "204 - Non hai contido", 0 }, { "205 - Contido renovado", 0 }, { "206 - Contido parcial", 0 }, { "300 - Varias opciСns", 0 }, { "301 - Movido permanentemente", 0 }, { "302 - Atopado", 0 }, { "303 - Ver outros", 0 }, { "304 - Non modificado", 0 }, { "305 - Utilizar proxy", 0 }, { "307 - Movido temporalmente", 0 }, { "400 - PeticiСn errСnea", 0 }, { "401 - Non autorizado", 0 }, { "402 - и precisoun pago", 0 }, { "403 - Prohibido", 0 }, { "404 - Non se atopa", 0 }, { "405 - MИtodo non permitido", 0 }, { "406 - Non aceptable", 0 }, { "407 - и precisa a autentificaciСn de proxy", 0 }, { "408 - FМn de tempo de espera", 0 }, { "409 - Conflicto", 0 }, { "410 - Abandoado", 0 }, { "411 - и precisa a lonxitude", 0 }, { "412 - Falla a condiciСn previa", 0 }, { "413 - Entidad de peticiСn grande de abondo", 0 }, { "414 - URL de peticiСn demasiado longa", 0 }, { "415 - Medio non soportado", 0 }, { "416 - Non se pode satisface-lo rango pedido", 0 }, { "417 - Falla o que agardАbase", 0 }, { "500 - Erro interno do servidor", 0 }, { "501 - Non implementado", 0 }, { "502 - Porta de ligazСn incorrecta", 0 }, { "503 - Servicio non disponible", 0 }, { "504 - FМn de tempo de espera para a porta de ligazСn", 0 }, { "505 - VersiСn de HTTP non soportada", 0 } }; char *msg_title = "EstatМsticas de uso para"; char *msg_h_other = "Outro"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Non resolve/descoЯecido", 0,0,0 }, { IDX_3C('c','o','m'), "Comercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "EducaciСn (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Goberno EUA (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internacional (int)", 0,0,0 }, { IDX_3C('m','i','l'), "ExИrcito EUA (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Redo (net)", 0,0,0 }, { IDX_3C('o','r','g'), "OrganizaciСns sen fins de lucro (org)",0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"OTAN", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emiratos аrabes Unidos", 0,0,0 }, { IDX_2C('a','f'), "AfganistАn", 0,0,0 }, { IDX_2C('a','g'), "Antigua e Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Antillas Holandesas", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "AntАrtida", 0,0,0 }, { IDX_2C('a','r'), "Arxentina", 0,0,0 }, { IDX_2C('a','s'), "Samoa Americana", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "AzerbaixАn", 0,0,0 }, { IDX_2C('b','a'), "Bosnia e Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "BИlxica", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brasil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "BhutАn", 0,0,0 }, { IDX_2C('b','v'), "Illa Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Bielorusia", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "CanadА", 0,0,0 }, { IDX_2C('c','c'), "Illas Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "RepЗblica Centroafricana", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "SuМza", 0,0,0 }, { IDX_2C('c','i'), "Costa de Marfil", 0,0,0 }, { IDX_2C('c','k'), "Illas Cook", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "CamerЗn", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cabo Verde", 0,0,0 }, { IDX_2C('c','x'), "Illa de Pascua", 0,0,0 }, { IDX_2C('c','y'), "Chipre", 0,0,0 }, { IDX_2C('c','z'), "RepЗblica Checa", 0,0,0 }, { IDX_2C('d','e'), "AlemaЯa", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Dinamarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "RepЗblica Dominicana", 0,0,0 }, { IDX_2C('d','z'), "Arxelia", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Exipto", 0,0,0 }, { IDX_2C('e','h'), "SАhara Occidental", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "EspaЯa", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "FinlandМa", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Malvinas", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Illas Faroe", 0,0,0 }, { IDX_2C('f','r'), "Francia", 0,0,0 }, { IDX_2C('g','a'), "GabСn", 0,0,0 }, { IDX_2C('g','b'), "Gran BretaЯa (RU)", 0,0,0 }, { IDX_2C('g','d'), "Granada", 0,0,0 }, { IDX_2C('g','e'), "Xeorxia", 0,0,0 }, { IDX_2C('g','f'), "Guinea francesa", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadalupe", 0,0,0 }, { IDX_2C('g','q'), "Guinea Ecuatorial", 0,0,0 }, { IDX_2C('g','r'), "Grecia", 0,0,0 }, { IDX_2C('g','s'), "Illas S. Georgia e S. Sandwich", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guiana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Illas Heard e McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croacia", 0,0,0 }, { IDX_2C('h','t'), "HaitМ", 0,0,0 }, { IDX_2C('h','u'), "Hungria", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "мndia", 0,0,0 }, { IDX_2C('i','o'), "Territorios Britanicos do OcИano Мndico", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "IrАn", 0,0,0 }, { IDX_2C('i','s'), "IslandМa", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Xamaica", 0,0,0 }, { IDX_2C('j','o'), "Xordania", 0,0,0 }, { IDX_2C('j','p'), "XapСn", 0,0,0 }, { IDX_2C('k','e'), "Quenia", 0,0,0 }, { IDX_2C('k','g'), "QuirxizstАn", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts e Nevis", 0,0,0 }, { IDX_2C('k','p'), "Corea (Norte)", 0,0,0 }, { IDX_2C('k','r'), "Corea (Sur)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Illas CaimАn", 0,0,0 }, { IDX_2C('k','z'), "CazacstАn", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libano", 0,0,0 }, { IDX_2C('l','c'), "Santa LucМa", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lituania", 0,0,0 }, { IDX_2C('l','u'), "Luxemburgo", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Marrocos", 0,0,0 }, { IDX_2C('m','c'), "MСnaco", 0,0,0 }, { IDX_2C('m','d'), "Moldavia", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Illas Marshall", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Illas Marianas do Norte", 0,0,0 }, { IDX_2C('m','q'), "Martinica", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauricio", 0,0,0 }, { IDX_2C('m','v'), "Maldivas", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "MИxico", 0,0,0 }, { IDX_2C('m','y'), "Malaisia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Nova Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Nigeria", 0,0,0 }, { IDX_2C('n','f'), "Illa Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nixeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Holanda", 0,0,0 }, { IDX_2C('n','o'), "Noruega", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nova Celandia", 0,0,0 }, { IDX_2C('o','m'), "OmАn", 0,0,0 }, { IDX_2C('p','a'), "PanamА", 0,0,0 }, { IDX_2C('p','e'), "PerЗ", 0,0,0 }, { IDX_2C('p','f'), "Polinesia francesa", 0,0,0 }, { IDX_2C('p','g'), "Papua Nova Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filipinas", 0,0,0 }, { IDX_2C('p','k'), "PaquistАn", 0,0,0 }, { IDX_2C('p','l'), "Polonia", 0,0,0 }, { IDX_2C('p','m'), "Santos Pierre e Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguai", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "ReuniСn", 0,0,0 }, { IDX_2C('r','o'), "Rumania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "FederaciСn rusa", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia SaudМ", 0,0,0 }, { IDX_2C('s','b'), "Illas SСlomon", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "SudАn", 0,0,0 }, { IDX_2C('s','e'), "Suecia", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Sta. Elena", 0,0,0 }, { IDX_2C('s','i'), "Eslovenia", 0,0,0 }, { IDX_2C('s','j'), "Illas Svalbard e Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "RepЗblica Eslovaca", 0,0,0 }, { IDX_2C('s','l'), "Serra Leona", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "San TomИ e Principe", 0,0,0 }, { IDX_2C('s','u'), "URSS (ant.)", 0,0,0 }, { IDX_2C('s','v'), "O Salvador", 0,0,0 }, { IDX_2C('s','y'), "Siria", 0,0,0 }, { IDX_2C('s','z'), "SwazilandМa", 0,0,0 }, { IDX_2C('t','c'), "Illas Turcos e Caicos", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "Territorios Franceses do Sur", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "TailandМa", 0,0,0 }, { IDX_2C('t','j'), "TaxiquistАn", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "TurcmenistАn", 0,0,0 }, { IDX_2C('t','n'), "Tunez", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "TurquМa", 0,0,0 }, { IDX_2C('t','t'), "Trinidade e Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ucrania", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Reino Unido", 0,0,0 }, { IDX_2C('u','m'), "Illas Menores Exteriores Norteamericanas", 0,0,0 }, { IDX_2C('u','s'), "Estados Unidos", 0,0,0 }, { IDX_2C('u','y'), "Uruguai", 0,0,0 }, { IDX_2C('u','z'), "UzbequistАn", 0,0,0 }, { IDX_2C('v','a'), "Cidade Estado Vaticano (Sta. Se)", 0,0,0 }, { IDX_2C('v','c'), "San Vincente e as Granadinas", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Illas VМrxenes (BritАnicas)", 0,0,0 }, { IDX_2C('v','i'), "Illas VМrxenes (U.S.A)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Illas Wallis e Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Iemen", 0,0,0 }, { IDX_2C('y','t'), "Maiotte", 0,0,0 }, { IDX_2C('y','u'), "Iugoslavia", 0,0,0 }, { IDX_2C('z','a'), "SudАfrica", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.german��������������������������������������������������������0000644�0001750�0001750�00000117165�11033740223�017357� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.german Webalizer V2.0x language support file for German. 28-May-1998 translated by Dirk Meyer <dirk.meyer@dinoex.sub.org> 31-May-1998 portions by Bernd Dau <Bernd.Dau@telekom.de> 31-May-1998 modified for level 1.1 support <brad@mrunix.net> 02-Jun-1998 translation level 1.1 by Dirk Meyer <dirk.meyer@dinoex.sub.org> 30-Jun-1998 typing errors fixed by Dirk Kocherscheidt <dirk@inpw.net> 23-Jul-1998 modified for level 1.2 support <brad@mrunix.net> 01-Aug-1998 translation redone by SysWolf <syswolf@syswolf.tm> 09-Oct-1998 changes added by Soren Gust <sgust@ithh.infoserv.de> 09-Oct-1998 changes added by Martin Kraemer <Martin.Kraemer@mch.sni.de> 24-Dec-1998 names of countries by Dirk Kocherscheidt <dirk@inpw.net> 24-Dec-1998 grammar and spelling by Dirk Meyer <dirk.meyer@dinoex.sub.org> 10-Jan-1999 improvements by Winfried TrЭmper <winni@xpilot.org> 05-Mrz-1999 improvements by Winfried TrЭmper <winni@xpilot.org> 06-Mrz-1999 new usage by Dirk Meyer <dirk.meyer@dinoex.sub.org> 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 09-Mrz-1999 new result codes by Dirk Meyer <dirk.meyer@dinoex.sub.org> 24-May-1999 fixed umlaut coding by Arne Blankerts <ABlankerts@freepoint.de> 11-Jun-1999 clean-up by Wolfgang Schemmel <wolfi@pobox.com> 12-Jun-1999 remove english terms by Dirk Meyer <dirk.meyer@dinoex.sub.org> 28-Jun-1999 Modified for level 1.3 support (Brad@mrunix.net) 05-Jul-1999 Add. German translations by Gerald Erdmann (gerald@stepman.com) 28-Jul-1999 fixed umlaut coding by Dirk Meyer <dirk.meyer@dinoex.sub.org> 04-Feb-2000 Minor fixes by Marcus Schommer <schommer@rdts.de> 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 05-Feb-2000 level 2.0 by Dirk Meyer <dirk.meyer@dinoex.sub.org> 16-Jun-2003 grammar and spelling by Dirk Randhahn <dirait00@fht-esslingen.de> 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) 05-Jul-2008 level 2.2 by Dirk Meyer <dirk.meyer@dinoex.sub.org> Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "German"; char *langcode = "de"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "EintrДge"; char *msg_addresses="Adressen"; char *msg_ignored = "ignoriert"; char *msg_bad = "ungЭltig"; char *msg_in = "in"; char *msg_seconds = "Sekunden"; /* progress and setup error messages */ char *msg_log_err = "Fehler: Kann die Protokolldatei nicht Жffnen."; char *msg_log_use = "Verwende Protokolldatei"; char *msg_dir_err = "Fehler: Kann nicht in das Verzeichnis wechseln."; char *msg_dir_use = "Erzeuge Dateien in"; char *msg_cur_dir = "dem aktuellen Verzeichnis"; char *msg_hostname= "Der Rechnername fЭr den Bericht ist"; char *msg_ign_hist= "Ignoriere die vorhandenen historischen Daten..."; char *msg_no_hist = "Datei mit historischen Daten wurde nicht gefunden..."; char *msg_get_hist= "Lese die Datei mit den historischen Daten..."; char *msg_put_hist= "Speichere die historischen Daten..."; char *msg_hist_err= "Fehler: Kann die Datei mit den historischen Daten nicht schreiben."; char *msg_bad_hist= "Fehler: Ignoriere den ungЭltigen historischen Eintrag."; char *msg_bad_conf= "Fehler: Kann die Konfigurations-Datei nicht lesen."; char *msg_bad_key = "Warnung: unbekanntes SchlЭsselwort"; char *msg_bad_date= "Fehler: Der Eintrag wird Эbersprungen (Datum ungЭltig)."; char *msg_ign_nscp= "эberspringe den Netscape Kopfeintrag."; char *msg_bad_rec = "эberspringe den ungЭltigen Eintrag."; char *msg_no_vrec = "Keine gЭltigen EintrДge gefunden!"; char *msg_gen_rpt = "Erzeuge den Bericht fЭr"; char *msg_gen_sum = "Erzeuge die Zusammenfassung"; char *msg_get_data= "Lese die Daten vom letzten Programmlauf..."; char *msg_put_data= "Speichere die Daten des aktuellen Programmlaufs..."; char *msg_no_data = "Daten des letzten Programmlaufs wurden nicht gefunden..."; char *msg_bad_data= "Fehler: Kann die Daten des letzten Programmlaufs nicht wiederherstellen"; char *msg_data_err= "Fehler: Kann die Daten des letzten Programmlaufs nicht speichern"; char *msg_dup_data= "Warnung: MЖglicherweise wurden Daten doppelt gelesen."; /* DNS Stuff */ char *msg_dns_nocf= "Es wurde keine Datei fЭr den DNS-Cache angegeben, breche ab..."; char *msg_dns_nodb= "Fehler: Die Datei fЭr den DNS-Cache konnte nicht geЖffnet werden."; char *msg_dns_nolk= "Fehler: Die Datei fЭr den DNS-Cache konnte nicht verriegelt werden."; char *msg_dns_usec= "Benutze die Datei fЭr den DNS-Cache"; char *msg_dns_rslv= "DNS Abfrage"; char *msg_dns_none= "Nichts zu bearbeiten"; char *msg_dns_abrt= "DNS UnterstЭzung nicht vorhanden, breche ab..."; /* Geolocation stuff */ char *msg_geo_open= "Fehler beim жffnen der Datei"; char *msg_geo_use = "Benutze"; char *msg_geo_nolu= "Abfragen deaktiviert"; char *msg_geo_dflt= "Standard"; /* memory allocation errors */ char *msg_nomem_ts= "Nicht genug Speicher vorhanden, Top Sites wurden deaktiviert!"; char *msg_nomem_tr= "Nicht genug Speicher vorhanden, Top Verweised wurden eaktiviert!"; char *msg_nomem_tu= "Nicht genug Speicher vorhanden, Top URLs wurden deaktiviert!"; char *msg_nomem_tc= "Nicht genug Speicher vorhanden, Top Countries wurden deaktiviert!"; char *msg_nomem_ta= "Nicht genug Speicher vorhanden, Top User Agents wurden deaktiviert!"; char *msg_nomem_tsr="Nicht genug Speicher vorhanden, Top SuchausdrЭcke wurden deaktiviert!"; char *msg_nomem_ti= "Nicht genug Speicher vorhanden, Top Benutzer wurden deaktiviert!"; char *msg_nomem_dh= "Fehler beim HinzufЭgen Rechner-node (daily), Эberspringe den Eintrag."; char *msg_nomem_mh= "Fehler beim HinzufЭgen Rechner-node (monthly), Эberspringe den Eintrag."; char *msg_nomem_u = "Fehler beim HinzufЭgen URL-node, Эberspringe den Eintrag."; char *msg_nomem_a = "Fehler beim HinzufЭgen User-Agent-node, Эberspringe den Eintrag."; char *msg_nomem_r = "Fehler beim HinzufЭgen Verweis-node, Эberspringe den Eintrag."; char *msg_nomem_sc= "Fehler beim HinzufЭgen Suchausdrucks-node, Эberspringe den Eintrag."; char *msg_nomem_i = "Fehler beim HinzufЭgen Benutzer-node, Эberspringe den Eintrag."; /* log record errors */ char *msg_big_rec = "Fehler: эberspringe einen Эberlangen Eintrag"; char *msg_big_host= "Warnung: эberlanges Rechner-Feld wurde abgeschnitten"; char *msg_big_date= "Warnung: эberlanges Datums-Feld wurde abgeschnitten"; char *msg_big_req = "Warnung: эberlanges Request-Feld wurde abgeschnitten"; char *msg_big_ref = "Warnung: эberlanges Verweis-Feld wurde abgeschnitten"; char *msg_big_user= "Warnung: эberlanges Benutzer-Feld wurde abgeschnitten"; char *msg_big_one = "Warnung: эberlangen Text wurde abgeschnitten"; /* misc errors */ char *msg_no_open = "Fehler: Kann die Datei nicht Жffnen."; /* Help display... */ char *h_usage1 = "Syntax"; char *h_usage2 = "[Optionen] [Protokolldatei]"; char *h_msg[]= { "-h = diese Hilfe ausgeben" , "-V = Version ausgeben" , "-v = mehr Ausgaben zum Programablauf" , "-d = zusДtzliche Kontrolldaten ausgeben" , "-F type = Art der Protokolldatei. type= (clf | ftp | squid | w3c)", "-f = Ignoriere zeitliche Fehler bei Besuchen", "-i = Datei mit historischen Daten ignorieren", "-p = sichere den Programmzustand (inkrementell)", "-b = Ignoriere den gespeicherten Zwischenstand (incremental)", "-q = Statusmeldungen unterdrЭcken" , "-Q = alle Meldungen unterdrЭcken" , "-Y = LДndergrafik unterdrЭcken" , "-G = Stundengrafik unterdrЭcken" , "-H = Stundenstatistik unterdrЭcken" , "-L = Farbige LДnderlegende unterdrЭcken" , "-l anz = 'Anz' Hintergrundlinien in Grafik verwenden", "-m num = Timeout fЭr Besuch (seconds)" , "-T = Laufzeit ausgeben" , "-c datei = Konfigurationsdatei 'datei' verwenden", "-n name = 'name' als Namen des Servers verwenden", "-o dir = Dateien im Verzeichnis 'dir' speichern", "-t name = эberschrift 'name' setzen" , "-a name = Anwenderprogramm 'name' unterdrЭcken", "-r name = Verweiser 'name' unterdrЭcken" , "-s name = Rechner 'name' unterdrЭcken" , "-u name = URL 'name' unterdrЭcken" , "-x name = Dateiendung 'name' verwenden" , "-O name = Lasse die Seite 'name' weg." , "-P name = Seitenendung 'name' verwenden" , "-I name = weiteren Name fЭr den Index setzen" , "-K anz = anz months in summary table" , "-k anz = anz months in summary graph" , "-A anz = die Top 'anz' Anwenderprogramme darstellen", "-C anz = die Top 'anz' LДnder darstellen" , "-R anz = die Top 'anz' Verweiser darstellen" , "-S anz = die Top 'anz' Rechner (IPs) darstellen", "-U anz = die Top 'anz' URLs darstellen" , "-e anz = die Top 'anz' Startseiten darstellen", "-E anz = die Top 'anz' Endseiten darstellen" , "-g anz = Gruppiere DomДnen zu 'anz' Ebenen" , "-X = Verstecke einzelne Rechner" , "-z dir = Verwende Fahnen fЭr die LДnder in 'dir'", #ifdef USE_DNS "-D name = Benutze die Datei 'name' fЭr DNS-Cache" , "-N num = Anzahl Prozesse fЭr DNS Abfragen (0=deaktiviert)", "-j = Aktiviere interne GeoDB Abfragen" , "-J name = Benutze GeoDB Datenbank 'name'" , #endif #ifdef USE_GEOIP "-w = Aktiviere GeoIP Abfragen" , "-W name = Benutze GeoIP Datenbank 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Auslastungsstatistik für den Zeitraum"; char *msg_hhdr_gt = "Erstellt am"; /* main index strings */ char *msg_main_us = "Zusammenfassung der Anfragen an"; /* char *msg_main_per= "Letzte 12 Monate"; */ char *msg_main_per= "Zusammenfassung nach Monaten"; char *msg_main_sum= "Zusammenfassung nach Monaten"; char *msg_main_da = "Tagesdurchschnitt"; char *msg_main_mt = "Monats-Summe"; /* month HTML page strings */ char *msg_hmth_du = "Tages-Statistik im Monat"; char *msg_hmth_hu = "Stunden-Statistik im Monat"; /* table header strings */ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ char *msg_h_by = "sortiert nach"; char *msg_h_avg = "Schnitt"; char *msg_h_max = "Maximum"; char *msg_h_total = "Summe"; char *msg_h_totals= "Summen"; char *msg_h_day = "Tag"; char *msg_h_mth = "Monat"; char *msg_h_hour = "Stunde"; char *msg_h_hits = "Anfragen"; char *msg_h_pages = "Seiten"; char *msg_h_visits= "Besuche"; char *msg_h_files = "Dateien"; char *msg_h_sites = "Rechner"; char *msg_h_xfer = "kb"; char *msg_h_hname = "Rechnername"; char *msg_h_url = "URL"; char *msg_h_agent = "Anwenderprogramm"; char *msg_h_ref = "Verweise"; char *msg_h_ctry = "Land"; char *msg_h_search= "Suche"; char *msg_h_uname = "Benutzer"; /* links along top of page */ char *msg_hlnk_ds = "Tages-Statistik"; char *msg_hlnk_hs = "Stunden-Statistik"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Rechner (IP-Adressen)"; char *msg_hlnk_a = "Anwenderprogramme"; char *msg_hlnk_c = "Länder"; char *msg_hlnk_r = "Verweise"; char *msg_hlnk_en = "Eingang"; char *msg_hlnk_ex = "Ausgang"; char *msg_hlnk_sr = "Suche"; char *msg_hlnk_i = "Benutzer"; /* monthly total table */ char *msg_mtot_ms = "Monats-Statistik für"; char *msg_mtot_th = "Summe der Anfragen"; char *msg_mtot_tf = "Summe der Dateien"; char *msg_mtot_tx = "Summe in kb"; char *msg_mtot_us = "Summe der unterschiedlichen Rechner (IP-Adressen)"; char *msg_mtot_ur = "Summe der unterschiedlichen Verweise"; char *msg_mtot_ua = "Summe der unterschiedlichen Anwenderprogramme"; char *msg_mtot_uu = "Summe der unterschiedlichen URLs"; char *msg_mtot_ui = "Summe der unterschiedlichen Benutzer"; char *msg_mtot_mhd= "Anfragen pro Tag"; char *msg_mtot_mhh= "Anfragen pro Stunde"; char *msg_mtot_mfd= "Dateien pro Tag"; char *msg_mtot_mpd= "Seiten pro Tag"; char *msg_mtot_msd= "Rechner (IP-Adressen) pro Tag"; char *msg_mtot_mvd= "Besuche pro Tag"; char *msg_mtot_mkd= "kb pro Tag"; char *msg_mtot_rc = "Anfragen nach Status-Codes"; /* daily total table */ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ char *msg_dtot_ds = "Tages-Statistik im Monat"; /* hourly total table */ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ char *msg_htot_hs = "Stunden-Statistik im Monat"; /* country pie chart */ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ char *msg_ctry_use= "Anfragen aus Laendern im Monat"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "von"; char *msg_top_s = "Rechnern (IP-Adressen)"; char *msg_top_u = "URLs"; char *msg_top_r = "Verweise"; char *msg_top_a = "Anwenderprogramme"; char *msg_top_c = "LДndern"; char *msg_top_en = "Eingangsseiten Gesamt"; char *msg_top_ex = "Ausgangsseiten Gesamt"; char *msg_top_sr = "SuchausdrЭcke Gesamt"; char *msg_top_i = "Benutzer Gesamt"; char *msg_v_sites = "Zeige alle Rechner (IP-Adressen)"; char *msg_v_urls = "Zeige alle URLs"; char *msg_v_refs = "Zeige alle Verweise"; char *msg_v_agents= "Zeige alle Anwenderprogramme"; char *msg_v_search= "Zeige alle SuchausdrЭcke"; char *msg_v_users = "Zeige alle Benutzer"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}; /* long month names - can be any length */ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ char *l_month[12]={ "Januar", "Februar", "Maerz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}; /* Nur Ligaturen verwenden, viele Browser haben nicht ISO_8859-1 */ /* response code descriptions... order IS important! */ struct response_code response[] = { { "Unbekannter Antwort-Code", 0 }, { "Code 100 - Weiter", 0 }, { "Code 101 - Wechsel des Protokolls", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Erzeugt", 0 }, { "Code 202 - Angenommen", 0 }, { "Code 203 - Keine endgültige Information", 0 }, { "Code 204 - Kein Inhalt", 0 }, { "Code 205 - Lösche Inhalt", 0 }, { "Code 206 - Unvollständiger Inhalt", 0 }, { "Code 300 - Mehrere Auswahlmöglichkeiten", 0 }, { "Code 301 - Die Seite wurde dauerhaft an einen andere Stelle verlegt", 0 }, { "Code 302 - Die Seite wurde an einer anderer Stelle gefunden", 0 }, { "Code 303 - Hole die Seite von einer anderen Position", 0 }, { "Code 304 - Die Seite wurde nicht geändert", 0 }, { "Code 305 - Die Benutzung des Proxys ist erforderlich", 0 }, { "Code 307 - Die Seite wurde vorübergehend an eine andere Stelle verlegt", 0 }, { "Code 400 - Ungültige Anfrage", 0 }, { "Code 401 - Die Authentifizierung fehlt oder ist ungЭltig", 0 }, { "Code 402 - Bezahlung ist erforderlich", 0 }, { "Code 403 - Die Antwort wurde verweigert", 0 }, { "Code 404 - Die Seite wurde nicht gefunden!", 0 }, { "Code 405 - Die Methode ist nicht erlaubt", 0 }, { "Code 406 - Nicht akzeptabel", 0 }, { "Code 407 - Eine Proxy-Autorisierung ist erforderlich", 0 }, { "Code 408 - Eine Zeitüberschreitung erfolgte durch das Anwenderprogramm ...", 0 }, { "Code 409 - Konflikt", 0 }, { "Code 410 - Verloren", 0 }, { "Code 411 - Eine Längenangabe ist erforderlich", 0 }, { "Code 412 - Fehlende Voraussetzung", 0 }, { "Code 413 - Request-Entity zu groß", 0 }, { "Code 414 - Request-URI zu lang", 0 }, { "Code 415 - Nicht unterstützter Medientyp", 0 }, { "Code 416 - Angegebener Bereich nicht in Ordnung", 0 }, { "Code 417 - Die Erwartung ist fehlgeschlagen", 0 }, { "Code 500 - Interner Server-Fehler ist aufgetreten (CGI?)", 0 }, { "Code 501 - Nicht implementiert", 0 }, { "Code 502 - Fehlerhaftes Gateway", 0 }, { "Code 503 - Der Service ist nicht verfügbar", 0 }, { "Code 504 - Gateway Zeitüberschreitung...", 0 }, { "Code 505 - Die HTTP-Version wird nicht unterstützt", 0 } }; /* New for 1.1 */ char *msg_title = "Aufruf-Statistik für"; char *msg_h_other = "Sonstige"; /* Country codes (previously in ctry.h header file) */ /* Plural konstant beibehalten */ /* Keine Umlaute, gd 1.3 kann sie nicht darstellen */ struct country_code ctry[] = { { 0, "Unbekannte Adressen", 0,0,0 }, { IDX_3C('c','o','m'), "Firmen (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Univers./Schulen (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "USA-Behoerden (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internationale Einrichtungen (int)",0,0,0 }, { IDX_3C('m','i','l'), "USA-Militaer (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Netzwerke (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organisationen (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Allgemeine Firmen (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Katalanische Gemeinschaft (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Adressregister (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Organisationen der Luftfahrt (aero)",0,0,0 }, { IDX_4C('a','s','i','a'),"Asien/Pazifik Gemeinschaft (asia)",0,0,0 }, { IDX_4C('c','o','o','p'),"Gesellschaften (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Informationsanbieter (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Stellenangebote (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Mobile GerДte (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Privatpersonen (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Alte Arpanet-Adressen (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"NATO-Adressen (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museen (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Reise-Industrie (travel)",0,0,0 }, { IDX_2C('a','c'), "Ascension", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Arabische Emirate", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua und Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albanien", 0,0,0 }, { IDX_2C('a','m'), "Armenien", 0,0,0 }, { IDX_2C('a','n'), "Niederlaendische Antillen", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktis", 0,0,0 }, { IDX_2C('a','r'), "Argentinien", 0,0,0 }, { IDX_2C('a','s'), "Amerikanisch Samoa", 0,0,0 }, { IDX_2C('a','t'), "Oesterreich", 0,0,0 }, { IDX_2C('a','u'), "Australien", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "еland", 0,0,0 }, { IDX_2C('a','z'), "Aserbaidschan", 0,0,0 }, { IDX_2C('b','a'), "Bosnien und Herzegowina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesch", 0,0,0 }, { IDX_2C('b','e'), "Belgien", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgarien", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint-BarthИlemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei", 0,0,0 }, { IDX_2C('b','o'), "Bolivien", 0,0,0 }, { IDX_2C('b','r'), "Brasilien", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Insel", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Weissrussland", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Kokos-Inseln", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Zentralafrikanische Republik", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Schweiz", 0,0,0 }, { IDX_2C('c','i'), "Elfenbeinkueste", 0,0,0 }, { IDX_2C('c','k'), "Cook-Inseln", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Kolumbien", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Kapverden", 0,0,0 }, { IDX_2C('c','x'), "Weihnachtsinsel", 0,0,0 }, { IDX_2C('c','y'), "Zypern", 0,0,0 }, { IDX_2C('c','z'), "Tschechien", 0,0,0 }, { IDX_2C('d','e'), "Deutschland", 0,0,0 }, { IDX_2C('d','j'), "Djibuti", 0,0,0 }, { IDX_2C('d','k'), "Daenemark", 0,0,0 }, { IDX_2C('d','m'), "Dominika", 0,0,0 }, { IDX_2C('d','o'), "Dominikanische Republik", 0,0,0 }, { IDX_2C('d','z'), "Algerien", 0,0,0 }, { IDX_2C('e','c'), "Ekuador", 0,0,0 }, { IDX_2C('e','e'), "Estland", 0,0,0 }, { IDX_2C('e','g'), "Aegypten", 0,0,0 }, { IDX_2C('e','h'), "West-Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spanien", 0,0,0 }, { IDX_2C('e','t'), "Aethiopien", 0,0,0 }, { IDX_2C('e','u'), "EuropДische Union", 0,0,0 }, { IDX_2C('f','i'), "Finnland", 0,0,0 }, { IDX_2C('f','j'), "Fidschi-Inseln", 0,0,0 }, { IDX_2C('f','k'), "Falkland Inseln", 0,0,0 }, { IDX_2C('f','m'), "Mikronesien", 0,0,0 }, { IDX_2C('f','o'), "Faeroeer Inseln", 0,0,0 }, { IDX_2C('f','r'), "Frankreich", 0,0,0 }, { IDX_2C('g','a'), "Gabun", 0,0,0 }, { IDX_2C('g','b'), "Grossbritannien (alt)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgien", 0,0,0 }, { IDX_2C('g','f'), "Franz. Guayana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Groenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Aequatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Griechenland", 0,0,0 }, { IDX_2C('g','s'), "Georgien und Sandwich Inseln", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard und McDonald Inseln", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroatien", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Ungarn", 0,0,0 }, { IDX_2C('i','d'), "Indonesien", 0,0,0 }, { IDX_2C('i','e'), "Irland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Indien", 0,0,0 }, { IDX_2C('i','o'), "Brit. Indischer Ozean", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Island", 0,0,0 }, { IDX_2C('i','t'), "Italien", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaika", 0,0,0 }, { IDX_2C('j','o'), "Jordanien", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "Kirgistan", 0,0,0 }, { IDX_2C('k','h'), "Kambodscha", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Komoren", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts und Nevis", 0,0,0 }, { IDX_2C('k','p'), "Nordkorea", 0,0,0 }, { IDX_2C('k','r'), "Suedkorea", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Inseln", 0,0,0 }, { IDX_2C('k','z'), "Kasachstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Luzia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Litauen", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "Lettland", 0,0,0 }, { IDX_2C('l','y'), "Libyen", 0,0,0 }, { IDX_2C('m','a'), "Marokko", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldawien", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (franzЖsisch)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Inseln", 0,0,0 }, { IDX_2C('m','k'), "Mazedonien", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar (Birma)", 0,0,0 }, { IDX_2C('m','n'), "Mongolei", 0,0,0 }, { IDX_2C('m','o'), "Makao", 0,0,0 }, { IDX_2C('m','p'), "Nord-Marianen", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauretanien", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Malediven", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexiko", 0,0,0 }, { IDX_2C('m','y'), "Malaysien", 0,0,0 }, { IDX_2C('m','z'), "Mosambik", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Neukaledonien", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Insel", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Niederlande", 0,0,0 }, { IDX_2C('n','o'), "Norwegen", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Neuseeland", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Franz. Polynesien", 0,0,0 }, { IDX_2C('p','g'), "Papua Neu-Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippinen", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polen", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre und Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "PalДstinas", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau (Belau)", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Katar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumaenien", 0,0,0 }, { IDX_2C('r','s'), "Serbien", 0,0,0 }, { IDX_2C('r','u'), "Russische Foederation", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabien", 0,0,0 }, { IDX_2C('s','b'), "Solomonen", 0,0,0 }, { IDX_2C('s','c'), "Seychellen", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Schweden", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Sankt Helena", 0,0,0 }, { IDX_2C('s','i'), "Slowenien", 0,0,0 }, { IDX_2C('s','j'), "Spitzbergen und Jan Mayen Inseln", 0,0,0 }, { IDX_2C('s','k'), "Slowakei", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome und Principe", 0,0,0 }, { IDX_2C('s','u'), "UdSSR (alt)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrien", 0,0,0 }, { IDX_2C('s','z'), "Swasiland", 0,0,0 }, { IDX_2C('t','c'), "Turks und Caicos Inseln", 0,0,0 }, { IDX_2C('t','d'), "Tschad", 0,0,0 }, { IDX_2C('t','f'), "Franz. Sued-Territorien", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tadschikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunesien", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Ost-Timor", 0,0,0 }, { IDX_2C('t','r'), "Tuerkei", 0,0,0 }, { IDX_2C('t','t'), "Trinidad und Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tansania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda (alt)", 0,0,0 }, { IDX_2C('u','k'), "Grossbritannien", 0,0,0 }, { IDX_2C('u','m'), "USA Inseln", 0,0,0 }, { IDX_2C('u','s'), "USA", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Usbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatikan", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent und Grenadinen", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Jungferninseln (Britisch)", 0,0,0 }, { IDX_2C('v','i'), "Jungferninseln (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu (Neue Hebriden)", 0,0,0 }, { IDX_2C('w','f'), "Wallis und Futuna Inseln", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Jugoslawien (Serbien)", 0,0,0 }, { IDX_2C('z','a'), "Suedafrika", 0,0,0 }, { IDX_2C('z','m'), "Sambia", 0,0,0 }, { IDX_2C('z','w'), "Simbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymisierter Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satelliten Provider", 0,0,0 }, { IDX_2C('o','1'), "Sonstige", 0,0,0 }, { IDX_2C('a','p'), "Gebiet Asien/Pacifik", 0,0,0 }, { IDX_3C('l','a','n'), "Loakales Netzwerk (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.greek���������������������������������������������������������0000644�0001750�0001750�00000105653�11032527214�017204� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.greek Webalizer V2.0x Language Support file for Greek 19-Aug-1999 Translated in Greek by Christos Cheretakis (xalkina@otenet.gr) 22-Feb-2000 Modified for level 2.0x support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Greek"; char *langcode = "el"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "ЕЦЦЯАЖщР"; char *msg_addresses="addresses"; char *msg_ignored = "АЦМОчХГЙАМ"; char *msg_bad = "КэХОР"; char *msg_in = "СЕ"; char *msg_seconds = "ДЕУТЕЯЭКЕПТА"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username field"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "пЕЯъОДОР АМАЖОЯэР"; char *msg_hhdr_gt = "гЛЕЯОЛГМъА ПАЯАЦЫЦчР"; /* main index strings */ char *msg_main_us = "сТАТИСТИЙэ ЦИА ТО СЩСТГЛА"; /* char *msg_main_per= "ОИ ТЕКЕУТАъОИ 12 ЛчМЕР"; */ char *msg_main_per= "сУЦЙЕМТЯЫТИЙэ СТОИВЕъА АМэ ЛчМА"; char *msg_main_sum= "сУЦЙЕМТЯЫТИЙэ СТОИВЕъА АМэ ЛчМА"; char *msg_main_da = "лщСОИ ЭЯОИ АМэ ГЛщЯА"; char *msg_main_mt = "лГМИАъА СЩМОКА"; /* month HTML page strings */ char *msg_hmth_du = "сТОИВЕъА АМэ ГЛщЯА ЦИА: "; char *msg_hmth_hu = "сТОИВЕъА АМэ ЧЯА ЦИА: "; /* table header strings */ char *msg_h_by = "аМэ"; char *msg_h_avg = "лщСО"; char *msg_h_max = "лщЦИСТО"; char *msg_h_total = "сЩМОКО"; char *msg_h_totals= "сЩМОКА"; char *msg_h_day = "гЛщЯА"; char *msg_h_mth = "лчМАР"; char *msg_h_hour = "©ЯА"; char *msg_h_hits = "Hits"; char *msg_h_pages = "сЕКъДЕР"; char *msg_h_visits= "еПИСЙщЬЕИР"; char *msg_h_files = "аЯВЕъА"; char *msg_h_sites = "сУСТчЛАТА"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "сЩСТГЛА"; char *msg_h_url = "URL"; char *msg_h_agent = "пЯЭЦЯАЛЛА"; char *msg_h_ref = "аМАЖщЯЫМ"; char *msg_h_ctry = "вЧЯА"; char *msg_h_search= "аМАФчТГСГ"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "аМэ ГЛщЯА"; char *msg_hlnk_hs = "аМэ ЧЯА"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "сУСТчЛАТА"; char *msg_hlnk_a = "пЯОЦЯэЛЛАТА"; char *msg_hlnk_c = "вЧЯЕР"; char *msg_hlnk_r = "аМАЖщЯОМТЕР"; char *msg_hlnk_en = "сГЛЕъА ЕИСЭДОУ"; char *msg_hlnk_ex = "сГЛЕъА ЕНЭДОУ"; char *msg_hlnk_sr = "аМАФГТчСЕИР"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "сУЦЙЕМТЯЫТИЙэ СТОИВЕъА ЦИА ТО ЛчМА"; char *msg_mtot_th = "сУМОКИЙэ Hits"; char *msg_mtot_tf = "сЩМОКО АЯВЕъЫМ"; char *msg_mtot_tx = "сЩМОКО KBytes"; char *msg_mtot_us = "сЩМОКО ДИАЖОЯЕТИЙЧМ СУСТГЛэТЫМ"; char *msg_mtot_ur = "сЩМОКО ДИАЖОЯЕТИЙЧМ АМАЖЕЯЭМТЫМ"; char *msg_mtot_ua = "сЩМОКО ДИАЖОЯЕТИЙЧМ ПЯОЦЯАЛЛэТЫМ"; char *msg_mtot_uu = "сЩМОКО ДИАЖОЯЕТИЙЧМ URLs"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "Hits АМэ ГЛщЯА"; char *msg_mtot_mhh= "Hits АМэ ЧЯА"; char *msg_mtot_mfd= "аЯВЕъА АМэ ГЛщЯА"; char *msg_mtot_mpd= "сЕКъДЕР АМэ ГЛщЯА"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "еПИСЙщЬЕИР АМэ ГЛщЯА"; char *msg_mtot_mkd= "KBytes АМэ ГЛщЯА"; char *msg_mtot_rc = "Hits АПЭ ТО АПОТщКЕСЛА"; /* daily total table */ char *msg_dtot_ds = "сУЦЙЕМТЯЫТИЙэ СТОИВЕъА АМэ ГЛщЯА -"; /* hourly total table */ char *msg_htot_hs = "сУЦЙЕМТЯЫТИЙэ СТОИВЕъА АМэ ЧЯА -"; /* country pie chart */ char *msg_ctry_use= "сУЦЙЕМТЯЫТИЙэ СТОИВЕъА АМэ ВЧЯА -"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "пЯЧТА"; char *msg_top_of = "АПЭ"; char *msg_top_s = "СУСТчЛАТА"; char *msg_top_u = "URLs"; char *msg_top_r = "АМАЖщЯОМТЕР"; char *msg_top_a = "ПЯОЦЯэЛЛАТА"; char *msg_top_c = "ВЧЯЕР"; char *msg_top_en = "СГЛЕъА ЕИСЭДОУ"; char *msg_top_ex = "СГЛЕъА ЕНЭДОУ"; char *msg_top_sr = "АМАФГТчСЕИР"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "иАМ", "жЕБ", "лэЯ", "аПЯ", "лэИ", "иОМ", "иОК", "аЩЦ", "сЕП", "оЙТ", "мОщ", "дЕЙ"}; /* long month names - can be any length */ char *l_month[12]={ "иАМОУэЯИОР", "жЕБЯОУэЯИОР", "лэЯТИОР", "аПЯъКИОР", "лэИОР", "иОЩМИОР", "иОЩКИОР", "аЩЦОУСТОР", "сЕПТщЛБЯИОР", "оЙТЧБЯИОР", "мОщЛБЯИОР", "дЕЙщЛБЯИОР"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "сТАТИСТИЙэ СТОИВЕъА ЦИА ТО СЩСТГЛА"; char *msg_h_other = "╤ККО"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "╤ЦМЫСТГ", 0,0,0 }, { IDX_3C('c','o','m'), "еТАИЯЕъА (г.п.а.)", 0,0,0 }, { IDX_3C('e','d','u'), "еЙПАИДЕУТИЙЭ ╨ДЯУЛА (г.п.а.)", 0,0,0 }, { IDX_3C('g','o','v'), "йЯАТИЙч уПГЯЕСъА (г.п.а.)", 0,0,0 }, { IDX_3C('i','n','t'), "дИЕХМчР оЯЦАМИСЛЭР", 0,0,0 }, { IDX_3C('m','i','l'), "сТЯАТИЫТИЙЭ сЩСТГЛА (г.п.а.)", 0,0,0 }, { IDX_3C('n','e','t'), "дИЙТУАЙЭР оЯЦАМИСЛЭР", 0,0,0 }, { IDX_3C('o','r','g'), "╤ККОР оЯЦАМИСЛЭР", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"пАКИщР ДИЕУХЩМСЕИР (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"м.а.т.о.", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "аМДЭЯА", 0,0,0 }, { IDX_2C('a','e'), "гЛЫМщМА аЯАБИЙэ еЛИЯэТА", 0,0,0 }, { IDX_2C('a','f'), "аЖЦАМИСТэМ", 0,0,0 }, { IDX_2C('a','g'), "аМТъЦЙОУА ЙАИ лПАЯЛПОЩМТА", 0,0,0 }, { IDX_2C('a','i'), "аМЦЙОУъКА", 0,0,0 }, { IDX_2C('a','l'), "аКБАМъА", 0,0,0 }, { IDX_2C('a','m'), "аЯЛЕМъА", 0,0,0 }, { IDX_2C('a','n'), "оККАМДИЙщР аМТъКЕР", 0,0,0 }, { IDX_2C('a','o'), "аМЦЙЭКА", 0,0,0 }, { IDX_2C('a','q'), "аМТАЯЙТИЙч", 0,0,0 }, { IDX_2C('a','r'), "аЯЦЕМТИМч", 0,0,0 }, { IDX_2C('a','s'), "аЛЕЯИЙАМИЙч сАЛЭА", 0,0,0 }, { IDX_2C('a','t'), "аУСТЯъА", 0,0,0 }, { IDX_2C('a','u'), "аУСТЯАКъА", 0,0,0 }, { IDX_2C('a','w'), "аЯОЩЛПА", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "аФЕЯЛПАЗТФэМ", 0,0,0 }, { IDX_2C('b','a'), "бОСМъА ЙАИ еЯФЕЦОБъМГ", 0,0,0 }, { IDX_2C('b','b'), "лПАЯЛПАМТЭР", 0,0,0 }, { IDX_2C('b','d'), "лПАЦЙКАМТщР", 0,0,0 }, { IDX_2C('b','e'), "бщКЦИО", 0,0,0 }, { IDX_2C('b','f'), "лПОУЯЙъМА жэСО", 0,0,0 }, { IDX_2C('b','g'), "бОУКЦАЯъА", 0,0,0 }, { IDX_2C('b','h'), "лПАВЯщИМ", 0,0,0 }, { IDX_2C('b','i'), "лПОУЯОЩМТИ", 0,0,0 }, { IDX_2C('b','j'), "лПЕМъМ", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "бЕЯЛОЩДЕР", 0,0,0 }, { IDX_2C('b','n'), "лПЯОУМщИ мТАЯОЩСАКАЛ", 0,0,0 }, { IDX_2C('b','o'), "бОКИБъА", 0,0,0 }, { IDX_2C('b','r'), "бЯАФИКъА", 0,0,0 }, { IDX_2C('b','s'), "лПАВэЛЕР", 0,0,0 }, { IDX_2C('b','t'), "лПОУТэМ", 0,0,0 }, { IDX_2C('b','v'), "лПОУБщТ", 0,0,0 }, { IDX_2C('b','w'), "лПОТСОУэМА", 0,0,0 }, { IDX_2C('b','y'), "кЕУЙОЯЫСъА", 0,0,0 }, { IDX_2C('b','z'), "лПЕКъФ", 0,0,0 }, { IDX_2C('c','a'), "йАМАДэР", 0,0,0 }, { IDX_2C('c','c'), "мГСИэ йЭЙОР", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "йЕМТЯИЙч аЖЯИЙАМИЙч дГЛОЙЯАТъА", 0,0,0 }, { IDX_2C('c','g'), "йОЦЙЭ", 0,0,0 }, { IDX_2C('c','h'), "еКБЕТъА", 0,0,0 }, { IDX_2C('c','i'), "аЙТч еКЕЖАМТОСТОЩ", 0,0,0 }, { IDX_2C('c','k'), "мГСИэ йОЩЙ", 0,0,0 }, { IDX_2C('c','l'), "вИКч", 0,0,0 }, { IDX_2C('c','m'), "йАЛЕЯОЩМ", 0,0,0 }, { IDX_2C('c','n'), "йъМА", 0,0,0 }, { IDX_2C('c','o'), "йОКОЛБъА", 0,0,0 }, { IDX_2C('c','r'), "йЭСТА яъЙА", 0,0,0 }, { IDX_2C('c','u'), "йОЩБА", 0,0,0 }, { IDX_2C('c','v'), "пЯэСИМО аЙЯЫТчЯИО", 0,0,0 }, { IDX_2C('c','x'), "мГСИэ ТЫМ вЯИСТОУЦщММЫМ", 0,0,0 }, { IDX_2C('c','y'), "йЩПЯОР", 0,0,0 }, { IDX_2C('c','z'), "тСЕВъА", 0,0,0 }, { IDX_2C('d','e'), "цЕЯЛАМъА", 0,0,0 }, { IDX_2C('d','j'), "тФИЛПОУТъ", 0,0,0 }, { IDX_2C('d','k'), "дАМъА", 0,0,0 }, { IDX_2C('d','m'), "дОЛИМъЙА", 0,0,0 }, { IDX_2C('d','o'), "дОЛИМИЙАМИЙч дГЛОЙЯАТъА", 0,0,0 }, { IDX_2C('d','z'), "аКЦЕЯъА", 0,0,0 }, { IDX_2C('e','c'), "еЙОУАДЭЯ", 0,0,0 }, { IDX_2C('e','e'), "еСХОМъА", 0,0,0 }, { IDX_2C('e','g'), "аъЦУПТОР", 0,0,0 }, { IDX_2C('e','h'), "дУТИЙч сАВэЯА", 0,0,0 }, { IDX_2C('e','r'), "еЯУХЯАъА", 0,0,0 }, { IDX_2C('e','s'), "иСПАМъА", 0,0,0 }, { IDX_2C('e','t'), "аИХИОПъА", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "жИКАМДъА", 0,0,0 }, { IDX_2C('f','j'), "жъТФИ", 0,0,0 }, { IDX_2C('f','k'), "мГСИэ жЭЙКАМТ", 0,0,0 }, { IDX_2C('f','m'), "лИЙЯОМГСъА", 0,0,0 }, { IDX_2C('f','o'), "мГСИэ жАЯЭЕ", 0,0,0 }, { IDX_2C('f','r'), "цАККъА", 0,0,0 }, { IDX_2C('g','a'), "цЙАЛПЭМ", 0,0,0 }, { IDX_2C('g','b'), "лЕЦэКГ бЯЕТАМъА", 0,0,0 }, { IDX_2C('g','d'), "цЯЕМэДА", 0,0,0 }, { IDX_2C('g','e'), "цЕЫЯЦъА", 0,0,0 }, { IDX_2C('g','f'), "цАККИЙч цОУИэМА", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "цЙэМА", 0,0,0 }, { IDX_2C('g','i'), "цИБЯАКТэЯ", 0,0,0 }, { IDX_2C('g','l'), "цЯИКАМДъА", 0,0,0 }, { IDX_2C('g','m'), "цЙэЛПИА", 0,0,0 }, { IDX_2C('g','n'), "цОУИМщА", 0,0,0 }, { IDX_2C('g','p'), "цОУАДЕКОЩПГ", 0,0,0 }, { IDX_2C('g','q'), "иСГЛЕЯИМч цОУИМщА", 0,0,0 }, { IDX_2C('g','r'), "еККэДА", 0,0,0 }, { IDX_2C('g','s'), "мГСИэ сэМТОУИТР", 0,0,0 }, { IDX_2C('g','t'), "цОУАТЕЛэКА", 0,0,0 }, { IDX_2C('g','u'), "цЙОУэЛ", 0,0,0 }, { IDX_2C('g','w'), "цОУИМщА лПИСэОУ", 0,0,0 }, { IDX_2C('g','y'), "цОУИэМА", 0,0,0 }, { IDX_2C('h','k'), "вОЦЙ йОЦЙ", 0,0,0 }, { IDX_2C('h','m'), "мГСИэ лАЙмТЭМАКМТ", 0,0,0 }, { IDX_2C('h','n'), "оМДОЩЯА", 0,0,0 }, { IDX_2C('h','r'), "йЯОАТъА", 0,0,0 }, { IDX_2C('h','t'), "аЗТч", 0,0,0 }, { IDX_2C('h','u'), "оУЦЙАЯъА", 0,0,0 }, { IDX_2C('i','d'), "иМДОМГСъА", 0,0,0 }, { IDX_2C('i','e'), "иЯКАМДъА", 0,0,0 }, { IDX_2C('i','l'), "иСЯАчК", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "иМДъА", 0,0,0 }, { IDX_2C('i','o'), "бЯЕТАМИЙщР йТчСЕИР иМДИЙОЩ", 0,0,0 }, { IDX_2C('i','q'), "иЯэЙ", 0,0,0 }, { IDX_2C('i','r'), "иЯэМ", 0,0,0 }, { IDX_2C('i','s'), "иСКАМДъА", 0,0,0 }, { IDX_2C('i','t'), "иТАКъА", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "тФАЛэИЙА", 0,0,0 }, { IDX_2C('j','o'), "иОЯДАМъА", 0,0,0 }, { IDX_2C('j','p'), "иАПЫМъА", 0,0,0 }, { IDX_2C('k','e'), "йщМУА", 0,0,0 }, { IDX_2C('k','g'), "йИЯЦИФъА", 0,0,0 }, { IDX_2C('k','h'), "йАЛПЭМТИА", 0,0,0 }, { IDX_2C('k','i'), "йИЯИЛПэТИ", 0,0,0 }, { IDX_2C('k','m'), "йОЛЭЯОР", 0,0,0 }, { IDX_2C('k','n'), "сАъМТ йъТР", 0,0,0 }, { IDX_2C('k','p'), "бЭЯЕИА йОЯщА", 0,0,0 }, { IDX_2C('k','r'), "мЭТИА йОЯщА", 0,0,0 }, { IDX_2C('k','w'), "йОУБщИТ", 0,0,0 }, { IDX_2C('k','y'), "мГСИэ йэИЛАМ", 0,0,0 }, { IDX_2C('k','z'), "йАФАЙСТэМ", 0,0,0 }, { IDX_2C('l','a'), "кэОР", 0,0,0 }, { IDX_2C('l','b'), "къБАМОР", 0,0,0 }, { IDX_2C('l','c'), "сАъМТ кОЩТСИА", 0,0,0 }, { IDX_2C('l','i'), "кИВТЕМСТэИМ", 0,0,0 }, { IDX_2C('l','k'), "сЯИ кэМЙА", 0,0,0 }, { IDX_2C('l','r'), "кИБЕЯъА", 0,0,0 }, { IDX_2C('l','s'), "кЕСЭТО", 0,0,0 }, { IDX_2C('l','t'), "кИХОУАМъА", 0,0,0 }, { IDX_2C('l','u'), "кОУНЕЛБОЩЯЦО", 0,0,0 }, { IDX_2C('l','v'), "кИХОУАМъА", 0,0,0 }, { IDX_2C('l','y'), "кИБЩГ", 0,0,0 }, { IDX_2C('m','a'), "лАЯЭЙО", 0,0,0 }, { IDX_2C('m','c'), "лОМАЙЭ", 0,0,0 }, { IDX_2C('m','d'), "лЭКМТОБА", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "лАДАЦАСЙэЯГ", 0,0,0 }, { IDX_2C('m','h'), "мГСИэ лэЯСАК", 0,0,0 }, { IDX_2C('m','k'), "сЙЭПИА", 0,0,0 }, { IDX_2C('m','l'), "лэКИ", 0,0,0 }, { IDX_2C('m','m'), "лИАМЛэЯ", 0,0,0 }, { IDX_2C('m','n'), "лОЦЙОКъА", 0,0,0 }, { IDX_2C('m','o'), "лАЙэОУ", 0,0,0 }, { IDX_2C('m','p'), "мГСИэ бЭЯЕИА лАЯИэМА", 0,0,0 }, { IDX_2C('m','q'), "лАЯТИМъЙА", 0,0,0 }, { IDX_2C('m','r'), "лАУЯИТАМъА", 0,0,0 }, { IDX_2C('m','s'), "лОМТСЕЯэТ", 0,0,0 }, { IDX_2C('m','t'), "лэКТА", 0,0,0 }, { IDX_2C('m','u'), "лАУЯъЙИОР", 0,0,0 }, { IDX_2C('m','v'), "лАКДъБЕР", 0,0,0 }, { IDX_2C('m','w'), "лАКэОУИ", 0,0,0 }, { IDX_2C('m','x'), "лЕНИЙЭ", 0,0,0 }, { IDX_2C('m','y'), "лАКАИСъА", 0,0,0 }, { IDX_2C('m','z'), "лОАФЛБъЙГ", 0,0,0 }, { IDX_2C('n','a'), "мАЛъЛПИА", 0,0,0 }, { IDX_2C('n','c'), "мщА йАКГДОМъА", 0,0,0 }, { IDX_2C('n','e'), "мъЦГЯ", 0,0,0 }, { IDX_2C('n','f'), "мГСИэ мЭЯЖОКЙ", 0,0,0 }, { IDX_2C('n','g'), "мИЦГЯъА", 0,0,0 }, { IDX_2C('n','i'), "мИЙАЯэЦОУА", 0,0,0 }, { IDX_2C('n','l'), "оККАМДъА", 0,0,0 }, { IDX_2C('n','o'), "мОЯБГЦъА", 0,0,0 }, { IDX_2C('n','p'), "мЕПэК", 0,0,0 }, { IDX_2C('n','r'), "мАОЩЯОУ", 0,0,0 }, { IDX_2C('n','u'), "мИОЩЕ", 0,0,0 }, { IDX_2C('n','z'), "мщА фГКАМДъА", 0,0,0 }, { IDX_2C('o','m'), "оЛэМ", 0,0,0 }, { IDX_2C('p','a'), "пАМАЛэР", 0,0,0 }, { IDX_2C('p','e'), "пЕЯОЩ", 0,0,0 }, { IDX_2C('p','f'), "цАККИЙч пОКУМГСъА", 0,0,0 }, { IDX_2C('p','g'), "пАПОЩА мщА цОУИМщА", 0,0,0 }, { IDX_2C('p','h'), "жИКИППъМЕР", 0,0,0 }, { IDX_2C('p','k'), "пАЙИСТэМ", 0,0,0 }, { IDX_2C('p','l'), "пОКЫМъА", 0,0,0 }, { IDX_2C('p','m'), "сАъМТ пИщЯ", 0,0,0 }, { IDX_2C('p','n'), "пъТЙАИЯМ", 0,0,0 }, { IDX_2C('p','r'), "пЭЯТО яъЙО", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "пОЯТОЦАКъА", 0,0,0 }, { IDX_2C('p','w'), "пАКэОУ", 0,0,0 }, { IDX_2C('p','y'), "пАЯАЦОУэГ", 0,0,0 }, { IDX_2C('q','a'), "йАТэЯ", 0,0,0 }, { IDX_2C('r','e'), "еПАМщМЫСГ", 0,0,0 }, { IDX_2C('r','o'), "яОУЛАМъА", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "яЫСъА", 0,0,0 }, { IDX_2C('r','w'), "яОУэМТА", 0,0,0 }, { IDX_2C('s','a'), "сАОУДИЙч аЯАБъА", 0,0,0 }, { IDX_2C('s','b'), "мГСИэ сОКОЛЧМТА", 0,0,0 }, { IDX_2C('s','c'), "сЕШВщКЕР", 0,0,0 }, { IDX_2C('s','d'), "сОУДэМ", 0,0,0 }, { IDX_2C('s','e'), "сОУГДъА", 0,0,0 }, { IDX_2C('s','g'), "сИЦЙАПОЩЯГ", 0,0,0 }, { IDX_2C('s','h'), "аЦъА еКщМГ", 0,0,0 }, { IDX_2C('s','i'), "сКОБЕМъА", 0,0,0 }, { IDX_2C('s','j'), "мГСИэ сБэКЛПАЯМТ", 0,0,0 }, { IDX_2C('s','k'), "сКОБАЙъА", 0,0,0 }, { IDX_2C('s','l'), "съЕЯА кЕЭМЕ", 0,0,0 }, { IDX_2C('s','m'), "сАМ лАЯъМО", 0,0,0 }, { IDX_2C('s','n'), "сЕМЕЦэКГ", 0,0,0 }, { IDX_2C('s','o'), "сОЛАКъА", 0,0,0 }, { IDX_2C('s','r'), "сОУЯИМэЛ", 0,0,0 }, { IDX_2C('s','t'), "сэО тЭЛЕ ЙАИ пЯИМТСъПЕ", 0,0,0 }, { IDX_2C('s','u'), "пЯЧГМ е.с.с.д.", 0,0,0 }, { IDX_2C('s','v'), "еК сАКБАДЭЯ", 0,0,0 }, { IDX_2C('s','y'), "сУЯъА", 0,0,0 }, { IDX_2C('s','z'), "сОУАФИКэМДГ", 0,0,0 }, { IDX_2C('t','c'), "мГСИэ йэИЙОР", 0,0,0 }, { IDX_2C('t','d'), "тСэМТ", 0,0,0 }, { IDX_2C('t','f'), "цАККИЙщР йТчСЕИР", 0,0,0 }, { IDX_2C('t','g'), "тЭЦЙО", 0,0,0 }, { IDX_2C('t','h'), "тАЗКэМДГ", 0,0,0 }, { IDX_2C('t','j'), "тАТФИЙИСТэМ", 0,0,0 }, { IDX_2C('t','k'), "тОЙЕКэОУ", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "тОУЯЙЛЕМИСТэМ", 0,0,0 }, { IDX_2C('t','n'), "тУМГСъА", 0,0,0 }, { IDX_2C('t','o'), "тЭЦЙА", 0,0,0 }, { IDX_2C('t','p'), "аМАТКИЙЭ тИЛЭЯ", 0,0,0 }, { IDX_2C('t','r'), "тОУЯЙъА", 0,0,0 }, { IDX_2C('t','t'), "тЯъМИМТАМТ ЙАИ тОЛПэЦЙО", 0,0,0 }, { IDX_2C('t','v'), "тОУБАКОЩ", 0,0,0 }, { IDX_2C('t','w'), "тАЗБэМ", 0,0,0 }, { IDX_2C('t','z'), "тАМФАМъА", 0,0,0 }, { IDX_2C('u','a'), "оУЙЯАМъА", 0,0,0 }, { IDX_2C('u','g'), "оУЦЙэМТА", 0,0,0 }, { IDX_2C('u','k'), "гМЫЛщМО бАСъКЕИО", 0,0,0 }, { IDX_2C('u','m'), "мГСИэ г.п.а.", 0,0,0 }, { IDX_2C('u','s'), "г.п.а.", 0,0,0 }, { IDX_2C('u','y'), "оУЯОУЦОУэГ", 0,0,0 }, { IDX_2C('u','z'), "оУФЛПЕЙИСТэМ", 0,0,0 }, { IDX_2C('v','a'), "бАТИЙАМЭ", 0,0,0 }, { IDX_2C('v','c'), "сАъМТ бъМСЕМТ", 0,0,0 }, { IDX_2C('v','e'), "бЕМЕФОУщКА", 0,0,0 }, { IDX_2C('v','g'), "бЯЕТАМИЙщР пАЯХщМЕР мчСОИ", 0,0,0 }, { IDX_2C('v','i'), "пАЯХщМЕР мчСОИ (г.п.а.)", 0,0,0 }, { IDX_2C('v','n'), "бИЕТМэЛ", 0,0,0 }, { IDX_2C('v','u'), "бАМОУэТОУ", 0,0,0 }, { IDX_2C('w','f'), "мГСИэ цОУэКИР", 0,0,0 }, { IDX_2C('w','s'), "сАЛЭА", 0,0,0 }, { IDX_2C('y','e'), "уЕЛщМГ", 0,0,0 }, { IDX_2C('y','t'), "лАЦИЭТ", 0,0,0 }, { IDX_2C('y','u'), "цИОУЦЙОСКАБъА", 0,0,0 }, { IDX_2C('z','a'), "мЭТИА аЖЯИЙч", 0,0,0 }, { IDX_2C('z','m'), "фэЛПИА", 0,0,0 }, { IDX_2C('z','w'), "фИЛПэЛПОУЕ", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.hungarian�����������������������������������������������������0000644�0001750�0001750�00000107403�11032527214�020056� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.hungarian Webalizer V2.0x Language Support file for Hungarian. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 20-Jul-1999 Translated by Viktor Haas (haasviki@hotmail.com) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 27-Mar-2000 Modified hungarian translation for level 2.0 by Viktor Haas (haasviki@hotmail.com) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Magyar"; char *langcode = "hu"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "rekord"; char *msg_addresses="addresses"; char *msg_ignored = "mellУzЖtt"; char *msg_bad = "rossz"; char *msg_in = ""; char *msg_seconds = "mАsodperc alatt"; /* progress and setup error messages */ char *msg_log_err = "Hiba: Nem tudom megnyitni a log file-t"; char *msg_log_use = "HasznАlom a logfile-t"; char *msg_dir_err = "Hiba: Nem tudom megvАltoztatni a kЖnyvtАrat erre: "; char *msg_dir_use = "KИszМtem a kimenetet:"; char *msg_cur_dir = "jelenlegi kЖnyvtАr"; char *msg_hostname= "A jelentИsnek a hostneve:"; char *msg_ign_hist= "MellУzЖm az elЖzУ history-t..."; char *msg_no_hist = "History file-t nem talАlom..."; char *msg_get_hist= "Olvasom a history file-t..."; char *msg_put_hist= "Mentem a history informАciСt..."; char *msg_hist_err= "Hiba: Nem tudom Мrni a history file-t"; char *msg_bad_hist= "Hiba: MellУzЖm ИrvИnytelen history rekordot"; char *msg_bad_conf= "Hiba: Nem tudom megnyitni a konfigurАciСs file-t"; char *msg_bad_key = "FigyelmeztetИs: иrvИnytelen kulcsszС"; char *msg_bad_date= "Hiba: Kihagyom a rekordot (rossz dАtum)"; char *msg_ign_nscp= "Kihagyom Netscape header rekordot"; char *msg_bad_rec = "Kihagyom a rossz rekordot"; char *msg_no_vrec = "Nem talАltam ИrvИnyes rekordokat!"; char *msg_gen_rpt = "KИszМtem a jelentИs:"; char *msg_gen_sum = "KИszМtem az Жsszefoglalt jelentИst"; char *msg_get_data= "Olvasom az elЖzУ futatott adatokat.."; char *msg_put_data= "Mentem a jelenlegi futatott adatokat..."; char *msg_no_data = "Az elЖzУ futatott adatokat nem talАlom..."; char *msg_bad_data= "Hiba: Nem tudom helyreАllМtani a futatott adatokat"; char *msg_data_err= "Hiba: Nem tudom menteni a jelenlegi futatott adatokat"; char *msg_dup_data= "FigyelmeztetИs: LehetsИges ismИtelt adatot talАltam"; /* DNS Stuff */ char *msg_dns_nocf= "Nincs cache file elУМrva, megszakМtАs..."; char *msg_dns_nodb= "Hiba: Nem lehet megnyitni a DNS cache file-t"; char *msg_dns_nolk= "Hiba: Nem lehet zАrni a DNS cache file-t"; char *msg_dns_usec= "HasznАlom a DNS cache file-t"; char *msg_dns_rslv= "DNS kikeresИs"; char *msg_dns_none= "Nincs mit feldolgozni"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nem tudok elegendУ memСriАt lefoglalni, Top Oldal tiltva!"; char *msg_nomem_tr= "Nem tudok elegendУ memСriАt lefoglalni, Top HivatkozАs tiltva!"; char *msg_nomem_tu= "Nem tudok elegendУ memСriАt lefoglalni, Top URL tiltva!"; char *msg_nomem_tc= "Nem tudok elegendУ memСriАt lefoglalni, Top OrszАg tiltva!"; char *msg_nomem_ta= "Nem tudok elegendУ memСriАt lefoglalni, Top FelhasznАlС bЖngИszУje tiltva!"; char *msg_nomem_tsr="Nem tudok elegendУ memСriАt lefoglalni, Top KeresИsi string tiltva!"; char *msg_nomem_ti= "Nem tudok elegendУ memСriАt lefoglalni, Top FelhasznАlСnevek tiltva!"; char *msg_nomem_dh= "Hiba a hozzАadАsnАl host node (napi), kihagyom"; char *msg_nomem_mh= "Hiba a hozzАadАsnАl host node (havi), kihagyom"; char *msg_nomem_u = "Hiba a hozzАadАsnАl URL node, kihagyom"; char *msg_nomem_a = "Hiba a hozzАadАsnАl Agent node, kihagyom"; char *msg_nomem_r = "Hiba a hozzАadАsnАl HivatkozАs node, kihagyom"; char *msg_nomem_sc= "Hiba a hozzАadАsnАl KeresИsi string Node, kihagyom"; char *msg_nomem_i = "Hiba a felhasznАlСnИv node hozzАadАsАnАl, kihagyom"; /* log record errors */ char *msg_big_rec = "Hiba: Kihagyom a tЗl nagy log rekordot"; char *msg_big_host= "FigyelmeztetИs: LerЖvidМtem a tЗl hosszЗ hostnevet"; char *msg_big_date= "FigyelmeztetИs: LevАgom a tЗl nagy adat mezУt"; char *msg_big_req = "FigyelmeztetИs: LevАgom a tЗl nagy kИrИs mezУt"; char *msg_big_ref = "FigyelmeztetИs: LevАgom a tЗl nagy hivatkozАs mezУt"; char *msg_big_user= "FigyelmeztetИs: LevАgom a tЗl nagy felhasznАlСnevet"; char *msg_big_one = "FigyelmeztetИs: String nagyob a tАrolhatС mИretnИl"; /* misc errors */ char *msg_no_open = "Hiba: Nem tudom megnyМtni a file-t"; /* Help display... */ char *h_usage1 = "HasznАlat"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = KiМrja ezt a sugС Эzenetet" , "-V = KiМrja a verziСszАmot" , "-v = be verbose" , "-d = KiМrja a tovАbbi debug infСt" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = жsszefogja a sorozatos hibАkat" , "-i = MellУzi a history file-t" , "-p = MegУrzi az Аllapotott (incremental)", "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = HasznАlja a konfigurАciСs file-t 'file'", "-n name = HostnИv amit hasznАljon" , "-o dir = Kimeneti kЖnyvtАr" , "-t name = Report cМme 'name'" , "-a name = Rejtse a felhasznАlС bЖngИszУjИt 'name'", "-r name = Rejtse a hivatkozАst 'name'" , "-s name = Rejtse az oldalt 'name'" , "-u name = Rejtse az URL-t 'name'" , "-x name = HasznАlja a filenИv kiterjesztИsИt 'name'", "-O name = Omit page 'name'" , "-P name = Oldal tipusАnak a kiterjesztИse 'name'", "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = HasznАlja a DNS Cache file-t 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "VizsgАlati idУszak"; char *msg_hhdr_gt = "KИszЭlt:"; /* main index strings */ char *msg_main_us = "HasznАlat ЖsszegzИse:"; /* char *msg_main_per= "ElmЗlt 12 HСnap"; */ char *msg_main_per= "Havi ЖsszefoglalАs"; char *msg_main_sum= "Havi ЖsszefoglalАs"; char *msg_main_da = "Napi Аtlag"; char *msg_main_mt = "Havi ЖsszegzИs"; /* month HTML page strings */ char *msg_hmth_du = "Napi hasznАlat:"; char *msg_hmth_hu = "сrАnkИnti hasznАlat:"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "аtlag"; char *msg_h_max = "Maximum"; char *msg_h_total = "жsszes"; char *msg_h_totals= "жsszegzИs"; char *msg_h_day = "Nap"; char *msg_h_mth = "HСnap"; char *msg_h_hour = "сra"; char *msg_h_hits = "TalАlatok"; char *msg_h_pages = "Lapok"; char *msg_h_visits= "LАtogatСk"; char *msg_h_files = "File-ok"; char *msg_h_sites = "Oldalak"; char *msg_h_xfer = "KByte"; char *msg_h_hname = "HostnИv"; char *msg_h_url = "URL"; char *msg_h_agent = "FelhasznАlС bЖngИszУje"; char *msg_h_ref = "HivatkozАs"; char *msg_h_ctry = "OrszАg"; char *msg_h_search= "KeresИsi String"; char *msg_h_uname = "FelhasznАlСnИv"; /* links along top of page */ char *msg_hlnk_ds = "Napi Statisztika"; char *msg_hlnk_hs = "сrАnkИnti Statisztika"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Oldalak"; char *msg_hlnk_a = "BЖngИszУk"; char *msg_hlnk_c = "OrszАgok"; char *msg_hlnk_r = "HivatkozАsok"; char *msg_hlnk_en = "BelИpИs"; char *msg_hlnk_ex = "KilИpИs"; char *msg_hlnk_sr = "KeresИs"; char *msg_hlnk_i = "FelhasznАlСk"; /* monthly total table */ char *msg_mtot_ms = "Havi Statisztika:"; char *msg_mtot_th = "жsszes TalАlat"; char *msg_mtot_tf = "жsszes File"; char *msg_mtot_tx = "жsszes KByte"; char *msg_mtot_us = "жsszes kЭlЖnbЖzУ Oldal"; char *msg_mtot_ur = "жsszes kЭlЖnbЖzУ HivatkozАs"; char *msg_mtot_ua = "жsszes kЭlЖnbЖzУ FelhasznАlС bЖngИszУje"; char *msg_mtot_uu = "жsszes kЭlЖnbЖzУ URL"; char *msg_mtot_ui = "жsszes kЭlЖnbЖzУ FelhasznАlСnevek"; char *msg_mtot_mhd= "TalАlat/nap"; char *msg_mtot_mhh= "TalАlat/Сra"; char *msg_mtot_mfd= "File/nap"; char *msg_mtot_mpd= "Lap/nap"; char *msg_mtot_msd= "Oldal/nap"; char *msg_mtot_mvd= "LАtogatС/nap"; char *msg_mtot_mkd= "KByte/nap"; char *msg_mtot_rc = "VАlaszkСdok Аltali talАlatok"; /* daily total table */ char *msg_dtot_ds = "Napi Statisztika:"; /* hourly total table */ char *msg_htot_hs = "сrАnkИnti Statisztika:"; /* country pie chart */ char *msg_ctry_use= "OrszАgok Аltali hasznАlat:"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "of"; char *msg_top_s = "жsszes Oldal"; char *msg_top_u = "жsszes URL"; char *msg_top_r = "жsszes HivatkozАs"; char *msg_top_a = "жsszes FelhasznАlС bЖngИszУje"; char *msg_top_c = "жsszes OrszАg"; char *msg_top_en = "жsszes BelИpИsi lap"; char *msg_top_ex = "жsszes KilИpИsi lap"; char *msg_top_sr = "жsszes KeresИsi string"; char *msg_top_i = "жsszes FelhasznАlСnevek"; char *msg_v_sites = "жsszes Oldal megtekintИse"; char *msg_v_urls = "жsszes URL megtekintИse"; char *msg_v_refs = "жsszes HivatkozАs megtekintИse"; char *msg_v_agents= "жsszes FelhasznАlС bЖngИszУje megtekintИse"; char *msg_v_search= "жsszes KeresИsi string megtekintИse"; char *msg_v_users = "жsszes FelhasznАlС megtekintИse"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "MАr", "аpr", "MАj", "JЗn", "JЗl", "Aug", "Sep", "Okt", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "JanuАr", "FebruАr", "MАrcius", "аprilis", "MАjus", "JЗnius", "JЗlius", "Augusztus", "Szeptember","OktСber", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "HasznАlati Statisztika:"; char *msg_h_other = "MАs"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Ismeretlen", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "MagyarorszАg", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.icelandic�����������������������������������������������������0000644�0001750�0001750�00000106411�11032527214�020013� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.icelandic Webalizer V2.0x Language Support file for Icelandic. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 15-Dec-2000 Translated to icelandic (isak@snerpa.is] 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) I used as a guide an older file that Kristofer & Veigar had Translated for 1.3. This was originally the english version...i just translated it. Still a few lines i didn't have time do dig up translations on maybe i'll do it later...or maybe someone else will? ;) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Icelandic"; char *langcode = "is"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "skrАningar"; char *msg_addresses="frА"; char *msg_ignored = "hunsaПar"; char *msg_bad = "gallaПar"; char *msg_in = "А"; char *msg_seconds = "sekЗndum"; /* progress and setup error messages */ char *msg_log_err = "Villa: Get ekki opnaП annАla"; char *msg_log_use = "Nota annАla"; char *msg_dir_err = "Villa: Get ekki fariП М mЖppuna:"; char *msg_dir_use = "BЩ til Зttak М"; char *msg_cur_dir = "NЗverandi mappa"; char *msg_hostname= "Nafn ЧjСns fyrir skЩrslur er:"; char *msg_ign_hist= "Hunsa fyrri atburПi..."; char *msg_no_hist = "Finn ekki atburПaskrА..."; char *msg_get_hist= "Les atburПaskrА..."; char *msg_put_hist= "Vista atburПaskrА..."; char *msg_hist_err= "Villa: Get ekki skrifaП М atburПaskrА"; char *msg_bad_hist= "Villa: GЖlluП atburПaskrАning"; char *msg_bad_conf= "Villa: Get ekki opnaП stillingaskrА"; char *msg_bad_key = "VarЗП: Rangt lykilorП"; char *msg_bad_date= "Villa: Sleppi skrАningu, gЖlluП dagsetning"; char *msg_ign_nscp= "Sleppi Netscape hausskrАningu"; char *msg_bad_rec = "Sleppi gallaПri skrАningu"; char *msg_no_vrec = "Engar skrАningar fundnar М lagi!"; char *msg_gen_rpt = "BЩ til skrАningu fyrir"; char *msg_gen_sum = "BЩ til stutta skrАningu"; char *msg_get_data= "Les eldri gЖgn.."; char *msg_put_data= "Vista nЗverandi gЖgn..."; char *msg_no_data = "Eldri gЖgn fundust ekki..."; char *msg_bad_data= "Villa: Get ekki endurheimt gЖgn"; char *msg_data_err= "Villa: Get ekki vistaП nЗverandi gЖgn"; char *msg_dup_data= "AПvЖrun: MЖguleiki А tvМskrАПum gЖgnum"; /* DNS Stuff */ char *msg_dns_nocf= "Enginn cache skrА skilgreind, hФtti viП..."; char *msg_dns_nodb= "Villa: Get ekki opnaП DNS cache skrА"; char *msg_dns_nolk= "Villa: Get get ekki lФsta DNS cache skrА"; char *msg_dns_usec= "Nota DNS cache skrА"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "Enginn til aП vinna"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Get ekki fundiП nСg minni, sleppi Top Sites!"; char *msg_nomem_tr= "Get ekki fundiП nСg minni, Top Referrers!"; char *msg_nomem_tu= "Get ekki fundiП nСg minni, Top URLs!"; char *msg_nomem_tc= "Get ekki fundiП nСg minni, Top Countries!"; char *msg_nomem_ta= "Get ekki fundiП nСg minni, Top User Agents!"; char *msg_nomem_tsr="Get ekki fundiП nСg minni, Top Search Strings!"; char *msg_nomem_ti= "Get ekki fundiП nСg minni, Top Usernames!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Villa: Sleppi of stСrum annАlum"; char *msg_big_host= "AПvЖrun: Minnka of stСrt host nafn"; char *msg_big_date= "AПvЖrun: Minnka of stСra dags. lМnu"; char *msg_big_req = "AПvЖrun: Minnka of stСra request lМnu"; char *msg_big_ref = "AПvЖrun: Minnka of stСra referrer lМnu"; char *msg_big_user= "AПvЖrun: Minnka of stСrt notandanafn"; char *msg_big_one = "AПvЖrun: Strengur er stФrri en geymsluplАss"; /* misc errors */ char *msg_no_open = "Villa: Get ekki opnaП skrА"; /* Help display... */ char *h_usage1 = "notkun"; char *h_usage2 = "[rofar] [log file]"; char *h_msg[]= { "-h = prentar Чessa hjАlp" , "-V = prentar ЗtgАfu upplЩsingar" , "-v = be verbose" , "-d = print additional debug info" , "-F tegund = AnnАla tegund. tegund= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = hunsa history skrА" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "TМmabil"; char *msg_hhdr_gt = "SkЩrsla gerП"; /* main index strings */ char *msg_main_us = "Yfirlit heimsСkn fyrir"; /* char *msg_main_per= "SМПustu 12 mАnuПir "; */ char *msg_main_per= "Yfirlit eftir mАnuПum"; char *msg_main_sum= "Yfirlit eftir mАnuПum"; char *msg_main_da = "Dags meПaltal"; char *msg_main_mt = "Samtals А mАnuПi"; /* month HTML page strings */ char *msg_hmth_du = "Notkun А dag fyrir"; char *msg_hmth_hu = "Notkun А klukkustund fyrir"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "MeПaltal"; char *msg_h_max = "Mest"; char *msg_h_total = "Samtals"; char *msg_h_totals= "Samtals"; char *msg_h_day = "Dagur"; char *msg_h_mth = "MАnuПur"; char *msg_h_hour = "Klukkustund"; char *msg_h_hits = "BeiПnir"; char *msg_h_pages = "SМПur"; char *msg_h_visits= "HeimsСknir"; char *msg_h_files = "SkrАr"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBФti"; char *msg_h_hname = "Host nafn"; char *msg_h_url = "SlСП"; char *msg_h_agent = "User Agent"; char *msg_h_ref = "Referrer"; char *msg_h_ctry = "Land"; char *msg_h_search= "Leitarstrengur"; char *msg_h_uname = "Notandanafn"; /* links along top of page */ char *msg_hlnk_ds = "Daglegar samtЖlur"; char *msg_hlnk_hs = "Klukkustundar samtЖlur"; char *msg_hlnk_u = "SlСПir"; char *msg_hlnk_s = "SМПur"; char *msg_hlnk_a = "Agents"; char *msg_hlnk_c = "LЖnd"; char *msg_hlnk_r = "Referrers"; char *msg_hlnk_en = "Byrjunar"; char *msg_hlnk_ex = "loka"; char *msg_hlnk_sr = "Leita"; char *msg_hlnk_i = "Notendur"; /* monthly total table */ char *msg_mtot_ms = "MАnaПar SamtЖlur fyrir"; char *msg_mtot_th = "Samtals BeiПnir"; char *msg_mtot_tf = "Samtals SkrАr"; char *msg_mtot_tx = "Samtals KBФti"; char *msg_mtot_us = "Samtals Einstakar SМПur"; char *msg_mtot_ur = "Samtals Unique Referrers"; char *msg_mtot_ua = "Samtals Unique User Agents"; char *msg_mtot_uu = "Samtals Einstakar SlСПir"; char *msg_mtot_ui = "Samtals EinstЖk NotandanЖfn"; char *msg_mtot_mhd= "BeiПnir А Dag"; char *msg_mtot_mhh= "BeiПnir А Klukkustund"; char *msg_mtot_mfd= "SkrАr А Dag"; char *msg_mtot_mpd= "SМПur А Dag"; char *msg_mtot_msd= "SМПur (sites) А Dag"; char *msg_mtot_mvd= "HeimsСknir А Dag"; char *msg_mtot_mkd= "KBФti А Dag"; char *msg_mtot_rc = "Hits by Response Code"; /* daily total table */ char *msg_dtot_ds = "Daglegar SamtЖlur fyrir"; /* hourly total table */ char *msg_htot_hs = "Klukkustundar SamtЖlur fyrir"; /* country pie chart */ char *msg_ctry_use= "Notkun eftir Landi fyrir"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Efstu"; char *msg_top_of = "af"; char *msg_top_s = "Heildar SМПur"; char *msg_top_u = "Heildar slСПir"; char *msg_top_r = "Heildar Referrers"; char *msg_top_a = "Heildar User Agents"; char *msg_top_c = "Heildar LЖnd"; char *msg_top_en = "Heildar ByrjunarsМПum"; char *msg_top_ex = "Heildar LokasМПum"; char *msg_top_sr = "Heildar Leitarstrengir"; char *msg_top_i = "Heildar NotendanЖfn"; char *msg_v_sites = "SkoПa Allar sМПur"; char *msg_v_urls = "SkoПa Allar SlСПir"; char *msg_v_refs = "SkoПa Allar Referrers"; char *msg_v_agents= "SkoПa Alla User Agents"; char *msg_v_search= "SkoПa Alla Leitarstrengi"; char *msg_v_users = "SkoПa жll NotandanЖfn"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "MaМ", "JЗn", "JЗl", "AgЗ", "Sep", "Okt", "NСv", "Des"}; /* long month names - can be any length */ char *l_month[12]={ "JanЗar", "FebrЗar", "Mars", "AprМl", "MaМ", "JЗnМ", "JЗlЩ", "аgЗst", "September","OktСber", "NСvember","Desember"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - аfram", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - I Lagi", 0 }, { "Code 201 - BЗiП til", 0 }, { "Code 202 - SamЧykkt", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - Ekkert Innihald", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Margir MЖguleikar", 0 }, { "Code 301 - FФrt", 0 }, { "Code 302 - FundiП", 0 }, { "Code 303 - SjА AnnaП", 0 }, { "Code 304 - Ekki Breytt", 0 }, { "Code 305 - Nota Proxy", 0 }, { "Code 307 - FФrt Um Stundarsakir", 0 }, { "Code 400 - SlФm BeiПni", 0 }, { "Code 401 - сleyfilegt", 0 }, { "Code 402 - GreiПslu Krafist", 0 }, { "Code 403 - сleyfilegt", 0 }, { "Code 404 - Fannst Ekki", 0 }, { "Code 405 - AПferП Ekki LeyfП", 0 }, { "Code 406 - Ekki аsФttanlegt", 0 }, { "Code 407 - Proxy AuПkenning NauПsynleg", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - аrekstur", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Of StСrt", 0 }, { "Code 414 - Request-URI Of Langt", 0 }, { "Code 415 - сstudd Media Tegund", 0 }, { "Code 416 - UmbeПiП svФПi Ekki аsФttanlegt", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - InnlФg ЧjСna villa", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Rangur Gateway", 0 }, { "Code 503 - чjСnusta Ekki Fyrir Hendi", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP зtgАfa Ekki Studd", 0 } }; char *msg_title = "Yfirlit HeimsСkna fyrir"; char *msg_h_other = "AnnaП"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "СЧekkt", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Menntanet (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US RМkisnet (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Her (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Gamla Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Sameiginlegu ArabМsku FurstadФmin",0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua og Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "AlbanМa", 0,0,0 }, { IDX_2C('a','m'), "ArmenМa", 0,0,0 }, { IDX_2C('a','n'), "Holland", 0,0,0 }, { IDX_2C('a','o'), "AngСla", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "ArgentМna", 0,0,0 }, { IDX_2C('a','s'), "AmerМsku Samoa", 0,0,0 }, { IDX_2C('a','t'), "AusturrМki", 0,0,0 }, { IDX_2C('a','u'), "аstralМa", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "BosnМa and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "BelgМa", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "BЗlgarМa", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "BermЗda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "BСlivМa", 0,0,0 }, { IDX_2C('b','r'), "BrasilМa", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "KСkos (Keeling) Eyjur", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "MiП AfrМkulЩПveldiП ", 0,0,0 }, { IDX_2C('c','g'), "KongС", 0,0,0 }, { IDX_2C('c','h'), "Swiss", 0,0,0 }, { IDX_2C('c','i'), "FМlabeinsstrЖndin (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "KamerЗn", 0,0,0 }, { IDX_2C('c','n'), "KМna", 0,0,0 }, { IDX_2C('c','o'), "KСlumbМa", 0,0,0 }, { IDX_2C('c','r'), "Kosta Rica", 0,0,0 }, { IDX_2C('c','u'), "KЗba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "JСlaeyja", 0,0,0 }, { IDX_2C('c','y'), "KЩpur", 0,0,0 }, { IDX_2C('c','z'), "TИkkneska LЩПveldiП", 0,0,0 }, { IDX_2C('d','e'), "чЩskaland", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "DanmЖrk", 0,0,0 }, { IDX_2C('d','m'), "DСminМka", 0,0,0 }, { IDX_2C('d','o'), "DСminМska LЩПveldiП", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "EstСnМa", 0,0,0 }, { IDX_2C('e','g'), "Egyptaland", 0,0,0 }, { IDX_2C('e','h'), "Vestur Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "SpАnn", 0,0,0 }, { IDX_2C('e','t'), "EЧМСpМa", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "FМjМ", 0,0,0 }, { IDX_2C('f','k'), "FАlkeyjur (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "MМkrСnesМa", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "Frakkland", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "StСra Bretland (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "GeorgМa", 0,0,0 }, { IDX_2C('g','f'), "Franska Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "GМbraltar", 0,0,0 }, { IDX_2C('g','l'), "GrФnland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Grikkland", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia og S. Samloku Eyjur.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard og McDonald Eyjur", 0,0,0 }, { IDX_2C('h','n'), "HondЗras", 0,0,0 }, { IDX_2C('h','r'), "KrСatМa", 0,0,0 }, { IDX_2C('h','t'), "HaМtМ", 0,0,0 }, { IDX_2C('h','u'), "Ungverjaland", 0,0,0 }, { IDX_2C('i','d'), "IndСnesМa", 0,0,0 }, { IDX_2C('i','e'), "мrland", 0,0,0 }, { IDX_2C('i','l'), "мsrael", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "IndМa", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "мrak", 0,0,0 }, { IDX_2C('i','r'), "мran", 0,0,0 }, { IDX_2C('i','s'), "мsland", 0,0,0 }, { IDX_2C('i','t'), "мtalМa", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "KambСdМa", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "KСrea (NorПur)", 0,0,0 }, { IDX_2C('k','r'), "KСrea (SuПur)", 0,0,0 }, { IDX_2C('k','w'), "KЗweit", 0,0,0 }, { IDX_2C('k','y'), "Cayman Eyjur", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "LЗxembourg", 0,0,0 }, { IDX_2C('l','v'), "Lettland", 0,0,0 }, { IDX_2C('l','y'), "LibЩa", 0,0,0 }, { IDX_2C('m','a'), "Marokko", 0,0,0 }, { IDX_2C('m','c'), "MСnakС", 0,0,0 }, { IDX_2C('m','d'), "MoldСvМa", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Eyjur", 0,0,0 }, { IDX_2C('m','k'), "MakedСnМa", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "MongСlМa", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "NorПur Mariana eyjur", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "MauritanМa", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "MexМko", 0,0,0 }, { IDX_2C('m','y'), "MalasМa", 0,0,0 }, { IDX_2C('m','z'), "MozambМk", 0,0,0 }, { IDX_2C('n','a'), "NamibМa", 0,0,0 }, { IDX_2C('n','c'), "NЩja Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "NigerМa", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Noregur", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "NЩja SjАland", 0,0,0 }, { IDX_2C('o','m'), "сman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Franska PСlЩnesМa", 0,0,0 }, { IDX_2C('p','g'), "Papua NЩja Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filippseyjar", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "PСlland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre og Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "PЗerto RМko", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "PortЗgal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "RЗmenМa", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "RЗssneska SambandiП", 0,0,0 }, { IDX_2C('r','w'), "RЗanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi ArabМa", 0,0,0 }, { IDX_2C('s','b'), "Solomon Eyjur", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "SЗdan", 0,0,0 }, { IDX_2C('s','e'), "SvМЧjСП", 0,0,0 }, { IDX_2C('s','g'), "SingapЗr", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "SlСvenМa", 0,0,0 }, { IDX_2C('s','j'), "SvalbarПi og Jan Mayen Eyjarnar", 0,0,0 }, { IDX_2C('s','k'), "SlСvenska lЩПveldiП", 0,0,0 }, { IDX_2C('s','l'), "SМerra LИone", 0,0,0 }, { IDX_2C('s','m'), "San MarinС", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "SСmalМa", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome og Principe", 0,0,0 }, { IDX_2C('s','u'), "USSR (fyrrverandi)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "SЩrland", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Eyjurnar", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "TaМland", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "TЗrkmenistan", 0,0,0 }, { IDX_2C('t','n'), "TЗnis", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Tyrkland", 0,0,0 }, { IDX_2C('t','t'), "TrinМdad og Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "TaМwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "зkraМne", 0,0,0 }, { IDX_2C('u','g'), "зganda", 0,0,0 }, { IDX_2C('u','k'), "Bretland", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "USA", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "зsbekistan", 0,0,0 }, { IDX_2C('v','a'), "VatikaniП (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent og Grenadines", 0,0,0 }, { IDX_2C('v','e'), "VenesЗela", 0,0,0 }, { IDX_2C('v','g'), "JСmfreyjar-eyjar (Bresku)", 0,0,0 }, { IDX_2C('v','i'), "JСmfreyjar-eyjar (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "VМet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis og Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "SamСa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "jЗgСslavМa", 0,0,0 }, { IDX_2C('z','a'), "SuПur Africa", 0,0,0 }, { IDX_2C('z','m'), "ZambМa", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.indonesian����������������������������������������������������0000644�0001750�0001750�00000111063�11032527214�020226� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.indonesian Webalizer V2.0x Language Support file for Indonesian. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 08-Oct-1999 Translated to Indonesian by Adhi eN (webmaster@adhi.findhere.com) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Indonesian"; char *langcode = "id"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "record"; char *msg_addresses="addresses"; char *msg_ignored = "diabaikan"; char *msg_bad = "buruk"; char *msg_in = "dalam"; char *msg_seconds = "detik"; /* progress and setup error messages */ char *msg_log_err = "Salah: Tak dapat membuka file log"; char *msg_log_use = "Menggunakan file log"; char *msg_dir_err = "Salah: Tak dapat berpindah ke direktori"; char *msg_dir_use = "Membuat keluaran dalam"; char *msg_cur_dir = "direktori saat ini"; char *msg_hostname= "Nama host yang akan dilaporkan adalah"; char *msg_ign_hist= "Abaikan history sebelumnya..."; char *msg_no_hist = "File history tak dapat ditemukan..."; char *msg_get_hist= "Sedang membaca file history..."; char *msg_put_hist= "Menyimpan informasi history..."; char *msg_hist_err= "Salah: Tak dapat menulisi file history"; char *msg_bad_hist= "Salah: Abaikan record history yang cacat"; char *msg_bad_conf= "Salah: Tak dapat membuka file konfigurasi"; char *msg_bad_key = "Peringatan: Kata kunci tidak valid"; char *msg_bad_date= "Salah: Melompati record (tanggal salah)"; char *msg_ign_nscp= "Melompati record header Netscape"; char *msg_bad_rec = "Melompati record yang salah"; char *msg_no_vrec = "Tak ditemukan record yang valid!"; char *msg_gen_rpt = "Sedang memproses laporan untuk"; char *msg_gen_sum = "Sedang membuat laporan singkat"; char *msg_get_data= "Sedang membaca data yang dijalankan sebelumnya.."; char *msg_put_data= "Sedang menyimpan data yang dijalankan saat ini..."; char *msg_no_data = "Data yang dijalankan sebelumnya tak ditemukan..."; char *msg_bad_data= "Salah: Tak dapat memulihkan data yang dijalankan"; char *msg_data_err= "Salah: Tak dapat menyimpan data yang dijalankan saat ini"; char *msg_dup_data= "Peringatan: Kemungkinan ditemukan data yang terduplikasi"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Tak dapat mengalokasikan cukup memori, Situs-situs urutan teratas tidak diaktifkan!"; char *msg_nomem_tr= "Tak dapat mengalokasikan cukup memori, Acuan-acuan urutan teratas tidak diaktifkan!"; char *msg_nomem_tu= "Tak dapat mengalokasikan cukup memori, URL-URL urutan teratas tidak diaktifkan!"; char *msg_nomem_tc= "Tak dapat mengalokasikan cukup memori, Negara-negara urutan teratas tidak diaktifkan!"; char *msg_nomem_ta= "Tak dapat mengalokasikan cukup memori, Browser-browser urutan teratas tidak diaktifkan!"; char *msg_nomem_tsr="Tak dapat mengalokasikan cukup memori, String-string pencarian urutan teratas tidak diaktifkan!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Terjadi kesalahan saat menambahkan node host (harian), dilewati"; char *msg_nomem_mh= "Terjadi kesalahan saat menambahkan node host (bulanan), dilewati"; char *msg_nomem_u = "Terjadi kesalahan saat menambahkan node URL, dilewati"; char *msg_nomem_a = "Terjadi kesalahan saat menambahkan node User Agent, dilewati"; char *msg_nomem_r = "Terjadi kesalahan saat menambahkan node acuan, dilewati"; char *msg_nomem_sc= "Terjadi kesalahan saat menambahkan node string pencarian, dilewati"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Salah: Melompati rekaman log yang oversize"; char *msg_big_host= "Peringatan: Memotong nama host yang oversize"; char *msg_big_date= "Peringatan: Memotong field tanggal yang oversize"; char *msg_big_req = "Peringatan: Memotong field permintaan yang oversize"; char *msg_big_ref = "Peringatan: Memotong acuan yang oversize"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Peringatan: String melampaui ukuran penyimpanan"; /* misc errors */ char *msg_no_open = "Salah: Tak dapat membuka file"; /* Help display... */ char *h_usage1 = "Penggunaan"; char *h_usage2 = "[opsi] [file log]"; char *h_msg[]= { "-h = cetak pesan bantuan ini" , "-V = cetak informasi versi" , "-v = be verbose" , "-d = cetak informasi debug tambahan" , "-F type = Log type. type= (clf | ftp | squid | w3c)" , "-f = kesalahan urutan Fold" , "-i = abaikan file history" , "-p = menjaga pernyataan (penambahan)" , "-b = abaikan pernyataan (penambahan)" , "-q = mengeluarkan pesan informasional" , "-Q = mengeluarkan _SEMUA_ pesan" , "-Y = mengeluarkan grafik negara" , "-G = mengeluarkan grafik per jam" , "-H = mengeluarkan statistik per jam" , "-L = mengeluarkan legenda grafik terkode yang berwarna" , "-l num = memakai num garis background di atas grafik" , "-m num = Harga timeout kunjungan (seconds)" , "-T = cetak informasi pewaktuan" , "-c file = memakai file konfigurasi 'file'" , "-n nama = nama host yang dipakai" , "-o dir = direktori keluaran yang dipakai" , "-t nama = judul laporan bernama 'nama'" , "-a nama = sembunyikan browser bernama 'nama'" , "-r nama = sembunyikan acuan bernama 'nama'" , "-s nama = sembunyikan situs bernama 'nama'" , "-u nama = sembunyikan URL bernama 'nama'" , "-x nama = Pergunakan ekstensi nama file 'nama'" , "-O nama = Omit page 'nama'" , "-P nama = Ektensi tipe halaman bernama 'nama'" , "-I nama = Alias indeks bernama 'nama'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Tampilkan browser teratas sejumlah num" , "-C num = Tampilkan negara teratas sejumlah num" , "-R num = Tampilkan acuan teratas sejumlah num" , "-S num = Tampilkan situs teratas sejumlah num" , "-U num = Tampilkan URL teratas sejumlah num" , "-e num = Tampilkan Halaman Masuk teratas sejumlah num" , "-E num = Tampilkan Halaman Keluar teratas sejumlah num" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nama = Use DNS Cache file 'nama'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J nama = Use GeoDB database 'nama'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nama = Use GeoIP database 'nama'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Periode Ringkasan"; char *msg_hhdr_gt = "Dibuat:"; /* main index strings */ char *msg_main_us = "Grafik Akses untuk"; /* char *msg_main_per= "12 bulan terakhir"; */ char *msg_main_per= "Ringkasan berdasarkan bulan"; char *msg_main_sum= "Ringkasan berdasarkan bulan"; char *msg_main_da = "Rata-rata harian"; char *msg_main_mt = "Total bulanan"; /* month HTML page strings */ char *msg_hmth_du = "Pengaksesan harian untuk"; char *msg_hmth_hu = "Pengaksesan per jam untuk"; /* table header strings */ char *msg_h_by = "berdasarkan"; char *msg_h_avg = "Rata-rata"; char *msg_h_max = "Maks"; char *msg_h_total = "Jumlah"; char *msg_h_totals= "Total"; char *msg_h_day = "Hari"; char *msg_h_mth = "Bulan"; char *msg_h_hour = "Jam"; char *msg_h_hits = "Hit"; char *msg_h_pages = "Halaman"; char *msg_h_visits= "Kunjungan"; char *msg_h_files = "File"; char *msg_h_sites = "Situs"; char *msg_h_xfer = "KByte"; char *msg_h_hname = "Nama Host"; char *msg_h_url = "URL"; char *msg_h_agent = "Browser/User Agent"; char *msg_h_ref = "Acuan"; char *msg_h_ctry = "Negara"; char *msg_h_search= "String pencarian"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "Statistik harian"; char *msg_hlnk_hs = "Statistik per jam"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "Situs"; char *msg_hlnk_a = "Browser"; char *msg_hlnk_c = "Negara"; char *msg_hlnk_r = "Acuan"; char *msg_hlnk_en = "Masuk"; char *msg_hlnk_ex = "Keluar"; char *msg_hlnk_sr = "Cari"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "Statistik bulanan untuk"; char *msg_mtot_th = "Jumlah Hit"; char *msg_mtot_tf = "Jumlah File"; char *msg_mtot_tx = "Jumlah KByte"; char *msg_mtot_us = "Jumlah Situs unik"; char *msg_mtot_ur = "Jumlah Acuan unik"; char *msg_mtot_ua = "Jumlah Browser unik"; char *msg_mtot_uu = "Jumlah URL unik"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "Hit per hari"; char *msg_mtot_mhh= "Hit per jam"; char *msg_mtot_mfd= "File per hari"; char *msg_mtot_mpd= "Halaman per hari"; char *msg_mtot_msd= "Situs per hari"; char *msg_mtot_mvd= "Kunjungan per hari"; char *msg_mtot_mkd= "KByte per hari"; char *msg_mtot_rc = "Hit oleh kode respon"; /* daily total table */ char *msg_dtot_ds = "Statistik harian untuk"; /* hourly total table */ char *msg_htot_hs = "Statistik per jam untuk"; /* country pie chart */ char *msg_ctry_use= "Pengaksesan oleh negara untuk"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = ""; char *msg_top_of = "urutan teratas dari sejumlah"; char *msg_top_s = "situs"; char *msg_top_u = "URL"; char *msg_top_r = "acuan"; char *msg_top_a = "browser/user agents"; char *msg_top_c = "negara"; char *msg_top_en = "halaman masuk"; char *msg_top_ex = "halaman keluar"; char *msg_top_sr = "string pencarian"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agt", "Sep", "Okt", "Nov", "Des"}; /* long month names - can be any length */ char *l_month[12]={ "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September","Oktober", "November","Desember"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Kode respon tak terdefinisi", 0 }, { "Kode 100 - Teruskan", 0 }, { "Kode 101 - Pertukaran Protokol", 0 }, { "Kode 200 - OK", 0 }, { "Kode 201 - Dibuat", 0 }, { "Kode 202 - Diterima", 0 }, { "Kode 203 - Informasi Non-Authoritatif", 0 }, { "Kode 204 - Tak Ada Isi", 0 }, { "Kode 205 - Reset Isi", 0 }, { "Kode 206 - Berisi sebagian", 0 }, { "Kode 300 - Multi Pilihan", 0 }, { "Kode 301 - Pindah Permanen", 0 }, { "Kode 302 - Ditemukan", 0 }, { "Kode 303 - Lihat lainnya", 0 }, { "Kode 304 - Tak dimodifikasi", 0 }, { "Kode 305 - Memakai Proxy", 0 }, { "Kode 307 - Dipindahkan secara Temporer", 0 }, { "Kode 400 - Permintaan yang Buruk", 0 }, { "Kode 401 - Tidak terotorisasi", 0 }, { "Kode 402 - Mensyaratkan Pembayaran", 0 }, { "Kode 403 - Terlarang", 0 }, { "Kode 404 - Tidak ditemukan", 0 }, { "Kode 405 - Metode Tidak Diizinkan", 0 }, { "Kode 406 - Tak dapat diterima", 0 }, { "Kode 407 - Otentikasi Proxy Diperlukan", 0 }, { "Kode 408 - Permintaan Timeout", 0 }, { "Kode 409 - Konflik", 0 }, { "Kode 410 - Hilang", 0 }, { "Kode 411 - Panjang Disyaratkan", 0 }, { "Kode 412 - Prakondisi Gagal", 0 }, { "Kode 413 - Entitas Permintaan Terlalu Besar", 0 }, { "Kode 414 - Permintaan-URI Terlalu Panjang", 0 }, { "Kode 415 - Tipe Media Tidak Didukung", 0 }, { "Kode 416 - Kisaran yang Diminta Tidak Memuaskan", 0 }, { "Kode 417 - Harapan Gagal", 0 }, { "Kode 500 - Kesalahan Internal Server", 0 }, { "Kode 501 - Tidak Diimplementasikan", 0 }, { "Kode 502 - Gateway Jelek", 0 }, { "Kode 503 - Layanan Tidak Tersedia", 0 }, { "Kode 504 - Gateway Timeout", 0 }, { "Kode 505 - Versi HTTP Tidak Didukung", 0 } }; char *msg_title = "Statistik pengaksesan untuk"; char *msg_h_other = "Lainnya"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Tak Dapat Dilacak/Tidak Diketahui",0,0,0 }, { IDX_3C('c','o','m'), "Komersial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Edukasi (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Pemerintahan dari US (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internasional (int)", 0,0,0 }, { IDX_3C('m','i','l'), "Militer dari US (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Jaringan Komputer (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet Gaya Lama (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Field Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua dan Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia dan Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Kepulauan Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Republik Afrika Tengah", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Swiss", 0,0,0 }, { IDX_2C('c','i'), "Pantai Gading", 0,0,0 }, { IDX_2C('c','k'), "Kepulauan Cook", 0,0,0 }, { IDX_2C('c','l'), "Chili", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "Cina", 0,0,0 }, { IDX_2C('c','o'), "Kolumbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Pulau Christmas", 0,0,0 }, { IDX_2C('c','y'), "Siprus", 0,0,0 }, { IDX_2C('c','z'), "Republik Ceko", 0,0,0 }, { IDX_2C('d','e'), "Jerman", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominika", 0,0,0 }, { IDX_2C('d','o'), "Republik Dominika", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Equador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Mesir", 0,0,0 }, { IDX_2C('e','h'), "Sahara Barat", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spanyol", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlandia", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Kepulauan Falkland (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Kepulauan Faroe", 0,0,0 }, { IDX_2C('f','r'), "Perancis", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Yunani", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia dan S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard dan McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroasia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungaria", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Irlandia", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islandia", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaika", 0,0,0 }, { IDX_2C('j','o'), "Yordania", 0,0,0 }, { IDX_2C('j','p'), "Jepang", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Kamboja", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Komoro", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts dan Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea (Utara)", 0,0,0 }, { IDX_2C('k','r'), "Korea (Selatan)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Kepulauan Cayman", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Maroko", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Kepulauan Marshall", 0,0,0 }, { IDX_2C('m','k'), "Makedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Kepulauan Northern Mariana", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Kepulauan Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norwegia", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua Nugini", 0,0,0 }, { IDX_2C('p','h'), "Filipina", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polandia", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre dan Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Federasi Rusia", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Kepulauan Solomon", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Swedia", 0,0,0 }, { IDX_2C('s','g'), "Singapura", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Kepulauan Svalbard dan Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "Republik Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome dan Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Kepulauan Turks dan Caicos", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Timor Timur", 0,0,0 }, { IDX_2C('t','r'), "Turki", 0,0,0 }, { IDX_2C('t','t'), "Trinidad dan Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent dan the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Africa Selatan", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.italian�������������������������������������������������������0000644�0001750�0001750�00000110441�11032527214�017517� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.italian Webalizer V2.0x Language Support file for Italian. 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 12-Jun-1998 Translation Level 1.1 by Alberto Benati (a_benati@4net.com) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 10-Jul-1999 Update for 1.3 by Massimiliano Masserelli (masserelli@interim.it) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 25-Sep-2000 Total Rewrite by Mattia Coatti (xkaos@galactica.it) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Italian"; char *langcode = "it"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "record"; char *msg_addresses="indirizzi"; char *msg_ignored = "ignorato/i"; char *msg_bad = "errato/i"; char *msg_in = "in"; char *msg_seconds = "secondi"; /* progress and setup error messages */ char *msg_log_err = "Errore: Impossibile elaborare il file di log"; char *msg_log_use = "Utilizzo il file di log"; char *msg_dir_err = "Errore: Impossibile accedere alla directory"; char *msg_dir_use = "Creo i file di output nella directory"; char *msg_cur_dir = "Directory attuale"; char *msg_hostname= "Il nome dell'host per il riepilogo e'"; char *msg_ign_hist= "Ignoro il precedente file di history"; char *msg_no_hist = "Impossibile trovare il file di history"; char *msg_get_hist= "Elaboro il file di history"; char *msg_put_hist= "Salvo le statistiche degli accessi nel file di history"; char *msg_hist_err= "Errore: Impossibile modificare il file di history"; char *msg_bad_hist= "Errore: Tralascio il record non valido nel file di history"; char *msg_bad_conf= "Errore: Impossibile accedere al file di configurazione"; char *msg_bad_key = "Attenzione: Keyword non valida"; char *msg_bad_date= "Errore: Tralascio il record (data errata)"; char *msg_ign_nscp= "Tralascio il record dell'header di Netscape"; char *msg_bad_rec = "Tralascio il record errato"; char *msg_no_vrec = "Nessun record valido rilevato"; char *msg_gen_rpt = "Creo l'analisi statistica per"; char *msg_gen_sum = "Creo il riassunto statistico"; char *msg_get_data= "Elaboro i dati sull'esecuzione precedente"; char *msg_put_data= "Salvo i dati sull'esecuzione attuale"; char *msg_no_data = "Impossibile trovare i dati sull'esecuzione precedente"; char *msg_bad_data= "Errore: Impossibile ripristinare i dati dell'esecuzione precedente"; char *msg_data_err= "Errore: Impossibile salvare i dati dell'esecuzione attuale"; char *msg_dup_data= "Attenzione: Possibile individuazione di dati duplicati"; /* DNS Stuff */ char *msg_dns_nocf= "Nessun file di cache specificato"; char *msg_dns_nodb= "Errore: Impossibile accedere al file contenente la cache DNS"; char *msg_dns_nolk= "Errore: Impossibile effettuare il locking del file contenente la cache DNS"; char *msg_dns_usec= "Utilizzo il file di cache DNS"; char *msg_dns_rslv= "Risoluzione DNS"; char *msg_dns_none= "Nessun dato da elaborare"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Impossibile allocare abbastanza memoria, classifica degli host disabilitata"; char *msg_nomem_tr= "Impossibile allocare abbastanza memoria, classifica dei referrer disabilitata"; char *msg_nomem_tu= "Impossibile allocare abbastanza memoria, classifica degli URL disabilitata"; char *msg_nomem_tc= "Impossibile allocare abbastanza memoria, classifica dei paesi disabilitata"; char *msg_nomem_ta= "Impossibile allocare abbastanza memoria, classifica dei browser disabilitata"; char *msg_nomem_tsr="Impossibile allocare abbastanza memoria, classifica dei termini di ricerca disabilitata"; char *msg_nomem_ti= "Impossibile allocare abbastanza memoria, classifica degli username disabilitata"; char *msg_nomem_dh= "Errore nell'aggiungere il nome dell'host (giornaliero), tralasciato"; char *msg_nomem_mh= "Errore nell'aggiungere il nome dell'host (mensile), tralasciato"; char *msg_nomem_u = "Errore nell'aggiungere l'URL, tralasciato"; char *msg_nomem_a = "Errore nell'aggiungere il browser, tralasciato"; char *msg_nomem_r = "Errore nell'aggiungere il referrer, tralasciato"; char *msg_nomem_sc= "Errore nell'aggiungere la stringa di ricerca, tralasciato"; char *msg_nomem_i = "Errore nell'aggiungere l'username, tralasciato"; /* log record errors */ char *msg_big_rec = "Attenzione: Tralascio il record di dimensione eccessiva"; char *msg_big_host= "Attenzione: Troncato il record dell'hostname in quanto di dimensione eccessiva"; char *msg_big_date= "Attenzione: Troncata il record della data in quanto di dimensione eccessiva"; char *msg_big_req = "Attenzione: Troncato il record della richiesta in quanto di dimensione eccessiva"; char *msg_big_ref = "Attenzione: Troncato il record del referrer in quanto di dimensione eccessiva"; char *msg_big_user= "Attenzione: Troncato il record dell'username in quanto di dimensione eccessiva"; char *msg_big_one = "Attenzione: La stringa e' di dimensione eccessiva"; /* misc errors */ char *msg_no_open = "Errore: Impossibile accedere al file"; /* Help display... */ char *h_usage1 = "Sintassi"; char *h_usage2 = "[parametri] [file di log]"; char *h_msg[]= { "-h = visualizza questa schermata" , "-V = mostra il numero di versione" , "-v = be verbose" , "-d = visualizza informazioni di debug addizionali", "-F tipo = specifica il tipo di log (clf | ftp | squid | w3c)", "-f = elenca sequenzialmente gli errori" , "-i = tralascia il file di history" , "-p = conserva le statistiche (modalita' incrementale)", "-b = ignore state (incremental)" , "-q = non visualizza i messaggi informativi", "-Q = non visualizza alcun messaggio" , "-Y = non visualizza il grafico relativo ai paesi", "-G = non visualizza il grafico orario" , "-H = non visualizza le statistiche orarie", "-L = non visualizza le legende policromatiche nei grafici" , "-l num = utilizza num linee nello sfondo dei grafici", "-m num = valore di timeout per gli accessi (seconds)", "-T = visualizza informazioni sul tempo di esecuzione", "-c file = utilizza 'file' per le impostazioni di configurazione", "-n nome = nome dell'host da utilizzare" , "-o dir = directory in cui collocare i file di output", "-t nome = nome da utilizzare per il titolo del rapporto statistico", "-a nome = ignora il browser specificato" , "-r nome = ignora il referrer specificato" , "-s nome = ignora l'host specificato" , "-u nome = ignora l'URL specificato" , "-x ext = utilizza 'ext' come estensione per i file", "-O nome = Omit page 'nome'" , "-P ext = utilizza 'ext' come estensione per le pagine", "-I nome = utilizza 'nome' come file di indice" , "-K num = 'num' months in summary table" , "-k num = 'num' months in summary graph" , "-A num = visualizza 'num' browser nella classifica", "-C num = visualizza 'num' paesi nella classifica", "-R num = visualizza 'num' referrer nella classifica", "-S num = visualizza 'num' nomi di host nella classifica", "-U num = visualizza 'num' URL nella classifica", "-e num = visualizza 'num' pagine in ingresso nella classifica", "-E num = visualizza 'num' pagine in uscita nella classifica", "-g num = raggruppa i domini fino a 'num' livelli", "-X = non visualizza i singoli hostname" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nome = utilizza 'nome' come file di cache DNS", "-N num = numero massimo di thread per la risoluzione DNS (0=non abilitata)", "-j = Enable native GeoDB lookups" , "-J nome = Use GeoDB database 'nome'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nome = Use GeoIP database 'nome'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Riepilogo per il periodo"; char *msg_hhdr_gt = "Generato"; /* main index strings */ char *msg_main_us = "Riepilogo statistico per"; /* char *msg_main_per= "Ultimi 12 mesi"; */ char *msg_main_per= "Riepilogo mensile"; char *msg_main_sum= "Riepilogo mensile"; char *msg_main_da = "Media giornaliera"; char *msg_main_mt = "Totale mensile"; /* month HTML page strings */ char *msg_hmth_du = "Contatti giornalieri per"; char *msg_hmth_hu = "Contatti orari per"; /* table header strings */ char *msg_h_by = "Per"; char *msg_h_avg = "Media"; char *msg_h_max = "Max"; char *msg_h_total = "Totale"; char *msg_h_totals= "Totali"; char *msg_h_day = "Giorno"; char *msg_h_mth = "Mese"; char *msg_h_hour = "Ora"; char *msg_h_hits = "Contatti"; char *msg_h_pages = "Pagine"; char *msg_h_visits= "Visite"; char *msg_h_files = "File"; char *msg_h_sites = "Siti"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Nomi di Host"; char *msg_h_url = "URL"; char *msg_h_agent = "Browser"; char *msg_h_ref = "Referrer"; char *msg_h_ctry = "Paese"; char *msg_h_search= "Termini di Ricerca"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "Statistiche Giornaliere"; char *msg_hlnk_hs = "Statistiche Orarie"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "Nomi di Host"; char *msg_hlnk_a = "Browser"; char *msg_hlnk_c = "Paesi"; char *msg_hlnk_r = "Referrer"; char *msg_hlnk_en = "Ingressi"; char *msg_hlnk_ex = "Uscite"; char *msg_hlnk_sr = "Ricerca"; char *msg_hlnk_i = "Utenti"; /* monthly total table */ char *msg_mtot_ms = "Statistiche Mensili per"; char *msg_mtot_th = "Contatti"; char *msg_mtot_tf = "File"; char *msg_mtot_tx = "KBytes"; char *msg_mtot_us = "Nomi di Host"; char *msg_mtot_ur = "Referrer"; char *msg_mtot_ua = "Browser"; char *msg_mtot_uu = "URL"; char *msg_mtot_ui = "Username"; char *msg_mtot_mhd= "Contatti Giornalieri"; char *msg_mtot_mhh= "Contatti Orari"; char *msg_mtot_mfd= "File Giornalieri"; char *msg_mtot_mpd= "Pagine Giornaliere"; char *msg_mtot_msd= "Host Giornaliere"; char *msg_mtot_mvd= "Visite Giornaliere"; char *msg_mtot_mkd= "KBytes Giornalieri"; char *msg_mtot_rc = "Contatti per Codice di Risposta"; /* daily total table */ char *msg_dtot_ds = "Statistiche Giornaliere per"; /* hourly total table */ char *msg_htot_hs = "Statistiche Orarie per"; /* country pie chart */ char *msg_ctry_use= "Riepilogo dei Paesi per"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "di"; char *msg_top_s = "Nomi di Host Totali"; char *msg_top_u = "URL Totali"; char *msg_top_r = "Referrer Totali"; char *msg_top_a = "Browser Totali"; char *msg_top_c = "Paesi Totali"; char *msg_top_en = "Pagine in Ingresso Totali"; char *msg_top_ex = "Pagine in Uscita Totali"; char *msg_top_sr = "Total Search Strings"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "Visualizza ogni Nome di Host"; char *msg_v_urls = "Visualizza ogni URL"; char *msg_v_refs = "Visualizza ogni Referrer"; char *msg_v_agents= "Visualizza ogni Browser"; char *msg_v_search= "Visualizza ogni Termine di Ricerca"; char *msg_v_users = "Visualizza ogni Username"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"}; /* long month names - can be any length */ char *l_month[12]={ "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre","Ottobre", "Novembre","Dicembre"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continua", 0 }, { "Code 101 - Scambio di Protocollo", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Creato", 0 }, { "Code 202 - Accettato", 0 }, { "Code 203 - Informazione non Autoritativa", 0 }, { "Code 204 - Nessun Contenuto", 0 }, { "Code 205 - Contenuto Reimpostato", 0 }, { "Code 206 - Contenuto Parziale", 0 }, { "Code 300 - Scelta Multipla", 0 }, { "Code 301 - Spostato Permanentemente", 0 }, { "Code 302 - Trovato", 0 }, { "Code 303 - Vedere Altro", 0 }, { "Code 304 - Non Modificato", 0 }, { "Code 305 - Utilizzare Proxy", 0 }, { "Code 307 - Spostato Temporaneamente", 0 }, { "Code 400 - Richiesta Errata", 0 }, { "Code 401 - Non Autorizzato", 0 }, { "Code 402 - Richiesto Pagamento", 0 }, { "Code 403 - Proibito", 0 }, { "Code 404 - Non Trovato", 0 }, { "Code 405 - Metodo Non Permesso", 0 }, { "Code 406 - Non Accettabile", 0 }, { "Code 407 - Il Proxy Richiede Autenticazione",0 }, { "Code 408 - Richiesta Scaduta", 0 }, { "Code 409 - Conflitto", 0 }, { "Code 410 - Abbandonato", 0 }, { "Code 411 - Lunghezza Richiesta", 0 }, { "Code 412 - Prerequisito Fallito", 0 }, { "Code 413 - Entita' Richiesta Troppo Estesa", 0 }, { "Code 414 - Indirizzo Richiesto Troppo Lungo",0 }, { "Code 415 - Media Non Supportato", 0 }, { "Code 416 - Intervallo di Richiesta Non Soddisfabile", 0 }, { "Code 417 - Aspettativa non Soddisfatta", 0 }, { "Code 500 - Errore Interno del Server", 0 }, { "Code 501 - Non Implementato", 0 }, { "Code 502 - Gateway Errato", 0 }, { "Code 503 - Servizio non Disponibile", 0 }, { "Code 504 - Timeout nell'Accesso al Gateway", 0 }, { "Code 505 - Versione HTTP Non Supportata", 0 } }; char *msg_title = "Statistiche per"; char *msg_h_other = "Altri"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Non Risolto/Sconosciuto", 0,0,0 }, { IDX_3C('c','o','m'), "Commerciali (.com)", 0,0,0 }, { IDX_3C('e','d','u'), "Universita' (.edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Enti Governativo (.gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Enti Internazionali (.int)", 0,0,0 }, { IDX_3C('m','i','l'), "Enti Militari (.mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Reti (.net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizzazioni Generiche (.org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet (.arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato (.nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emirati Arabi", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua e Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Antille Olandesi", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antartica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Samoa Americana", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia e Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgio", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Sultanato del Brunei", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brasile", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Isole Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Isole Cocos", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Africa Centrale", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Svizzera", 0,0,0 }, { IDX_2C('c','i'), "Costa D'Avorio", 0,0,0 }, { IDX_2C('c','k'), "Isole Cook", 0,0,0 }, { IDX_2C('c','l'), "Cile", 0,0,0 }, { IDX_2C('c','m'), "Camerun", 0,0,0 }, { IDX_2C('c','n'), "Cina", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Capo Verde", 0,0,0 }, { IDX_2C('c','x'), "Isola di Natale", 0,0,0 }, { IDX_2C('c','y'), "Cipro", 0,0,0 }, { IDX_2C('c','z'), "Repubblica Ceca", 0,0,0 }, { IDX_2C('d','e'), "Germania", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danimarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Repubblica Dominicana", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egitto", 0,0,0 }, { IDX_2C('e','h'), "Sahara Occidentale", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spagna", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlandia", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Isole Falkland (Malvine)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Isole Faroe", 0,0,0 }, { IDX_2C('f','r'), "Francia", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Gran Bretagna", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Guiana Francese", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibilterra", 0,0,0 }, { IDX_2C('g','l'), "Groenlandia", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadalupa", 0,0,0 }, { IDX_2C('g','q'), "Guinea Equatoriale", 0,0,0 }, { IDX_2C('g','r'), "Grecia", 0,0,0 }, { IDX_2C('g','s'), "Isole di S. Georgia e S. Sandwich",0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Isole Heard e McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croazia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Ungaria", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israele", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "Territori Britannici nell'Oceano Indiano",0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islanda", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Giordania", 0,0,0 }, { IDX_2C('j','p'), "Giappone", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts e Nevis", 0,0,0 }, { IDX_2C('k','p'), "Corea (Nord)", 0,0,0 }, { IDX_2C('k','r'), "Corea (Sud)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Isole Cayman", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libano", 0,0,0 }, { IDX_2C('l','c'), "Santa Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lituania", 0,0,0 }, { IDX_2C('l','u'), "Lussemburgo", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Marocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Isole Marshall", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Isole Mariana del Nord", 0,0,0 }, { IDX_2C('m','q'), "Martinica", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldive", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Messico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambico", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Nuova Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Nigeria", 0,0,0 }, { IDX_2C('n','f'), "Isole Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Olanda", 0,0,0 }, { IDX_2C('n','o'), "Norvegia", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nuova Zealanda", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Polinesia Francese", 0,0,0 }, { IDX_2C('p','g'), "Papua e Nuova Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filippine", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polonia", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Porto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portogallo", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Federazione Russa", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia Saudita", 0,0,0 }, { IDX_2C('s','b'), "Isole Solomon", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Svezia", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Isole Svalbard e Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "Repubblica Slovacca", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome e Principe", 0,0,0 }, { IDX_2C('s','u'), "Ex USSR", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Isole Turks e Caicos", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "Territori Francesi Meridionali", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailandia", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turchia", 0,0,0 }, { IDX_2C('t','t'), "Trinidad e Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ucraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Regno Unito", 0,0,0 }, { IDX_2C('u','m'), "Isole US Minori", 0,0,0 }, { IDX_2C('u','s'), "Stati Uniti", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Citta' del Vaticano", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent e Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Isole Vergini (Britanniche)", 0,0,0 }, { IDX_2C('v','i'), "Isole Vergini (Statunitensi)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Isole Wallis e Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Sud Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.japanese������������������������������������������������������0000644�0001750�0001750�00000105031�11032527214�017663� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.japanese Webalizer V2.0x Language Support file for Japanese. 09-Jun-2001 by Yasuhiko Takahashi<ty@club-e.co.jp> 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Japanese"; char *langcode = "ja"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoIP lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ /* char *msg_hhdr_sp = "Summary Period";*/ char *msg_hhdr_sp = "еЩ╥в╢Э╢ж"; char *msg_hhdr_gt = "╨Ню╝фЭ╩Ч"; /* main index strings */ char *msg_main_us = "Usage summary for"; /* char *msg_main_per= "╡А╣Н12╔Ж╥Н"; */ char *msg_main_per= "╥Н╓неЩ╥в"; char *msg_main_sum= "╥Н╓неЩ╥в"; char *msg_main_da = "╟ЛфЭ╓╒╓©╓Й╓нй©╤я"; char *msg_main_mt = "╥Н╧Г╥в"; /* month HTML page strings */ char *msg_hmth_du = "Daily usage for"; char *msg_hmth_hu = "Hourly usage for"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "й©╤я"; char *msg_h_max = "╨гбГ"; char *msg_h_total = "╧Г╥в"; char *msg_h_totals= "аМ╧Г╥в"; char *msg_h_day = "фЭ"; char *msg_h_mth = "╥Н"; char *msg_h_hour = "╩Ч"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visits"; char *msg_h_files = "Files"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "╔ш╔╧╔хл╬"; char *msg_h_url = "URL"; char *msg_h_agent = "╔Ф║╪╔╤╔╗║╪╔╦╔╖╔С╔х"; char *msg_h_ref = "╔Й╔у╔║╔И║╪"; char *msg_h_ctry = "╧Я"; char *msg_h_search= "╦║╨Вй╦╩ЗнС"; char *msg_h_uname = "╔Ф║╪╔╤л╬"; /* links along top of page */ char *msg_hlnk_ds = "фЭ╓╢╓х╓неЩ╥в"; char *msg_hlnk_hs = "╩Ч╢ж╓╢╓х╓неЩ╥в"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "╔╣╔╓╔х"; char *msg_hlnk_a = "╔╗║╪╔╦╔╖╔С╔х"; char *msg_hlnk_c = "╧Я"; char *msg_hlnk_r = "╔Й╔у╔║╔И║╪"; char *msg_hlnk_en = "╔╗╔С╔х╔Й║╪"; char *msg_hlnk_ex = "Exit"; char *msg_hlnk_sr = "╦║╨Вй╦╩ЗнС"; char *msg_hlnk_i = "╔Ф║╪╔╤©Т"; /* monthly total table */ char *msg_mtot_ms = "╥Н╓неЩ╥в"; char *msg_mtot_th = "а╢╔р╔ц╔х©Т"; char *msg_mtot_tf = "а╢╔у╔║╔╓╔К©Т"; char *msg_mtot_tx = "а╢ KBytes©Т"; char *msg_mtot_us = "╦дйл╔╣╔╓╔х©Т"; char *msg_mtot_ur = "╦дйл╔Й╔у╔║╔И║╪©Т"; char *msg_mtot_ua = "╦дйл╔Ф║╪╔╤╔╗║╪╔╦╔╖╔С╔х©Т"; char *msg_mtot_uu = "╦дйлURL©Т"; char *msg_mtot_ui = "╦дйл╔Ф║╪╔╤©Т"; char *msg_mtot_mhd= "╟ЛфЭ╓╒╓©╓Й╓н╔р╔ц╔х©Т"; char *msg_mtot_mhh= "╟Л╩Ч╢ж╓╒╓©╓Й╓н╔р╔ц╔х©Т"; char *msg_mtot_mfd= "╟ЛфЭ╓╒╓©╓Й╓н╔у╔║╔╓╔К©Т"; char *msg_mtot_mpd= "╟ЛфЭ╓╒╓©╓Й╓н╔з║╪╔╦©Т"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "╟ЛфЭ╓╒╓©╓Й╓нк╛лД╪т©Т"; char *msg_mtot_mkd= "╟ЛфЭ╓╒╓©╓Й╓нKBytes©Т"; char *msg_mtot_rc = "╔Л╔╧╔щ╔С╔╧╔Ё║╪╔и╓╢╓х╓н╔р╔ц╔х©Т"; /* daily total table */ char *msg_dtot_ds = "фЭ╓╢╓х╓неЩ╥в"; /* hourly total table */ char *msg_htot_hs = "╩Ч╢ж╓╢╓х╓неЩ╥в"; /* country pie chart */ char *msg_ctry_use= "Usage by Country for"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "╔х╔ц╔в"; char *msg_top_of = "of"; char *msg_top_s = "╔╣╔╓╔х"; char *msg_top_u = "а╢URL"; char *msg_top_r = "╔Й╔у╔║╔И║╪"; char *msg_top_a = "╔Ф║╪╔╤╔╗║╪╔╦╔╖╔С╔х"; char *msg_top_c = "╧Я"; char *msg_top_en = "Total Entry Pages"; char *msg_top_ex = "Total Exit Pages"; char *msg_top_sr = "Total Search Strings"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "мЬмяеЩ╥в"; char *msg_h_other = "Other"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.korean��������������������������������������������������������0000644�0001750�0001750�00000104450�11032527214�017360� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.korean Webalizer V2.0x Language Support file for Korean. 10-Arp-1999 Translated by Seung-young Kim (nobreak@nobreak.com) 20-Arp-1999 Corrections/updates by Seung-young Kim (nobreak@nobreak.com) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Korean"; char *langcode = "ko"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "╥╧дз╣Е"; char *msg_addresses="addresses"; char *msg_ignored = "╧╚╫ц"; char *msg_bad = "╨р╥╝"; char *msg_in = "╣©юш╫ц╟ё"; char *msg_seconds = "цй"; /* progress and setup error messages */ char *msg_log_err = "©ю╥Ы: ╥н╠вфдюою╩ цёю╩ ╪Ж ╬Ью╫"; char *msg_log_use = "╢К╩С ╥н╠в фдюо:"; char *msg_dir_err = "©ю╥Ы: ╣П╥╨еД╦╝╦╕ ╨╞╟Фгр ╪Ж ╬Ью╫"; char *msg_dir_use = "цБ╥б ╣П╥╨еД╦╝:"; char *msg_cur_dir = "гЖюГ ╣П╥╨еД╦╝"; char *msg_hostname= "хё╫╨ф╝╦М:"; char *msg_ign_hist= "╠Ба╦юг хВ╫╨еД╦╝ а╓╨╦ ╧╚╫ц"; char *msg_no_hist = "хВ╫╨еД╦╝ фдюою╩ цёю╩ ╪Ж ╬Ью╫"; char *msg_get_hist= "╠Ба╦ хВ╫╨еД╦╝ а╓╨╦ гь╪╝:"; char *msg_put_hist= "хВ╫╨еД╦╝ а╓╨╦ юЗюЕ"; char *msg_hist_err= "©ю╥Ы: хВ╫╨еД╦╝ фдюою╩ юЗюЕгр ╪Ж ╬Ью╫"; char *msg_bad_hist= "©ю╥Ы: юШгугоаЖ ╬йю╨ хВ╫╨еД╦╝ ╥╧дз╣Е ╧╚╫ц"; char *msg_bad_conf= "©ю╥Ы: ╪Ёа╓ фдюою╩ цёю╩ ╪Ж ╬Ью╫"; char *msg_bad_key = "ажюг: ╬к╪Ж╬Ь╢б е╟©Ж╣Е"; char *msg_bad_date= "©ю╥Ы: ╥╧дз╣Е ╧╚╫ц (юъ╦Ь╣х Ё╞б╔)"; char *msg_ign_nscp= "Ёщ╫╨диюлга гЛ╢У ╥╧дз╣Е ╧╚╫ц"; char *msg_bad_rec = "╨нюШюЩгя ╥╧дз╣Е ╧╚╫ц"; char *msg_no_vrec = "цЁ╦╝гр ╥╧дз╣Е ╬Ью╫!"; char *msg_gen_rpt = "╦╝фВф╝ ╩Щ╪╨:"; char *msg_gen_sum = "╦╝фВф╝ цБ╥б"; char *msg_get_data= "╠Ба╦ еК╟Х а╓╨╦ гь╪╝:"; char *msg_put_data= "еК╟Х а╓╨╦ юЗюЕ"; char *msg_no_data = "еК╟Х а╓╨╦ фдюою╩ цёю╩ ╪Ж ╬Ью╫"; char *msg_bad_data= "©ю╥Ы: еК╟Х а╓╨╦╦╕ гь╪╝гр ╪Ж ╬Ью╫"; char *msg_data_err= "©ю╥Ы: еК╟Х а╓╨╦╦╕ юЗюЕгр ╪Ж ╬Ью╫"; char *msg_dup_data= "ажюг: аъ╨╧╣х а╓╨╦╟║ южю╫"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "╦ч╦П╦╝ ╨на╥, '╩Сю╖ ╩Гюлф╝' ╟гЁй╤э!"; char *msg_nomem_tr= "╦ч╦П╦╝ ╨на╥, '╩Сю╖ ╥╧фш╥╡' ╟гЁй╤э!"; char *msg_nomem_tu= "╦ч╦П╦╝ ╨на╥, '╩Сю╖ URL' ╟гЁй╤э!"; char *msg_nomem_tc= "╦ч╦П╦╝ ╨на╥, '╩Сю╖ ╠╧╟║' ╟гЁй╤э!"; char *msg_nomem_ta= "╦ч╦П╦╝ ╨на╥, '╩Сю╖ ©║юлюЭф╝' ╟гЁй╤э!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "хё╫╨ф╝ цъ╟║ ╫гфп (юо╨╟), ╧╚╫ц"; char *msg_nomem_mh= "хё╫╨ф╝ цъ╟║ ╫гфп (©Ы╨╟), ╧╚╫ц"; char *msg_nomem_u = "URL цъ╟║ ╫гфп, ╧╚╫ц"; char *msg_nomem_a = "©║юлюЭф╝ цъ╟║ ╫гфп, ╧╚╫ц"; char *msg_nomem_r = "╥╧фш╥╡ цъ╟║ ╫гфп, ╧╚╫ц"; char *msg_nomem_sc= "Error adding Search String node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "©ю╥Ы: цй╟З ╥н╠в ╥╧дз╣Е ╧╚╫ц"; char *msg_big_host= "ажюг: ╠Д хё╫╨ф╝Ёвюс б╔╦╖"; char *msg_big_date= "ажюг: ╠Д Ё╞б╔ гй╣Е б╔╦╖"; char *msg_big_req = "ажюг: ╠Д ©Дц╩ гй╣Е б╔╦╖"; char *msg_big_ref = "ажюг: ╠Д ╥╧фш╥╡ гй╣Е б╔╦╖"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "ажюг: ╧╝юз©╜ ╠Фюл цй╟З"; /* misc errors */ char *msg_no_open = "©ю╥Ы: фдюою╩ цёю╩ ╪Ж ╬Ью╫"; /* Help display... */ char *h_usage1 = "╩Г©К╧Щ"; char *h_usage2 = "[©и╪г] [╥н╠в фдюо]"; char *h_msg[]= { "-h = ╣╣©Р╦╩ х╜╦И цБ╥б" , "-V = фг╧Ьхё цБ╥б" , "-v = be verbose" , "-d = цъ╟║ ╣П╧Ж╠К а╓╨╦ цБ╥б" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = fold sequence errors" , "-i = хВ╫╨еД╦╝ фдюо ╧╚╫ц" , "-p = еК╟Х а╓╨╦ юЗюЕ (incremental)" , "-b = ignore state (incremental)" , "-q = юо╧щ а╓╨╦ цБ╥б ╩Щ╥╚" , "-Q = ╦П╣Г а╓╨╦ цБ╥б ╩Щ╥╚" , "-Y = supress country graph" , "-G = юо╨╟ ╠в╥║га ╩Щ╥╚" , "-H = ╫ц╟ё╨╟ еК╟Х ╩Щ╥╚" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timeout value (seconds)" , "-T = ╣©юш ╫ц╟ё цБ╥б" , "-c file = ╪Ёа╓ фдюо" , "-n name = хё╫╨ф╝╦М" , "-o dir = цБ╥б ╣П╥╨еД╦╝" , "-t name = цБ╥б е╦юлф╡" , "-a name = гь╢Г ©║юлюЭф╝ ╟╗цЦ" , "-r name = гь╢Г ╥╧фш╥╡ ╟╗цЦ" , "-s name = гь╢Г ╩Гюлф╝ ╟╗цЦ" , "-u name = гь╢Г URL ╟╗цЦ" , "-x name = цБ╥б фдюоюг х╝юЕюз" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = цБ╥б фдюоюг фдюо╦М" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = цБ╥бгр '╩Сю╖ ©║юлюЭф╝' ╟Ё╪Ж" , "-C num = цБ╥бгр '╩Сю╖ ╠╧╟║' ╟Ё╪Ж" , "-R num = цБ╥бгр '╩Сю╖ ╥╧фш╥╡' ╟Ё╪Ж" , "-S num = цБ╥бгр '╩Сю╖ ╩Гюлф╝' ╟Ё╪Ж" , "-U num = цБ╥бгр '╩Сю╖ URL' ╟Ё╪Ж" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "еК╟Х ╠Б╟ё"; char *msg_hhdr_gt = "цжа╬ ╟╩╫еюо"; /* main index strings */ char *msg_main_us = "Usage summary for"; /* char *msg_main_per= "Last 12 Months"; */ char *msg_main_per= "цжа╬ 12╟Ё©Ы"; char *msg_main_sum= "цжа╬ 12╟Ё©Ы"; char *msg_main_da = "юо фР╠у"; char *msg_main_mt = "©Ы ця╟Х"; /* month HTML page strings */ char *msg_hmth_du = "Daily usage for"; char *msg_hmth_hu = "Hourly usage for"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "фР╠у"; char *msg_h_max = "Max"; char *msg_h_total = "юЭц╪"; char *msg_h_totals= "ця╟Х"; char *msg_h_day = "юо"; char *msg_h_mth = "©Ы"; char *msg_h_hour = "╫ц╟ё"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visits"; char *msg_h_files = "Files"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "хё╫╨ф╝╦М"; char *msg_h_url = "URL"; char *msg_h_agent = "©║юлюЭф╝"; char *msg_h_ref = "╥╧фш╥╡"; char *msg_h_ctry = "╠╧╟║"; char *msg_h_search= "Search String"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "юо╨╟ еК╟Х"; char *msg_hlnk_hs = "╫ц╟ё╢К╨╟ еК╟Х"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "╩Гюлф╝"; char *msg_hlnk_a = "©║юлюЭф╝"; char *msg_hlnk_c = "╠╧╟║"; char *msg_hlnk_r = "╥╧фш╥╡"; char *msg_hlnk_en = "Entry"; char *msg_hlnk_ex = "Exit"; char *msg_hlnk_sr = "Search"; char *msg_hlnk_i = "Users"; /* monthly total table */ char *msg_mtot_ms = "©Ы╨╟ еК╟Х"; char *msg_mtot_th = "ця хВф╝╪Ж"; char *msg_mtot_tf = "ця фдюо╪Ж"; char *msg_mtot_tx = "ця KByte"; char *msg_mtot_us = "ця ╟Ё╨╟ ╩Гюлф╝"; char *msg_mtot_ur = "ця ╟Ё╨╟ ╥╧фш╥╡"; char *msg_mtot_ua = "ця ╟Ё╨╟ ©║юлюЭф╝"; char *msg_mtot_uu = "ця ╟Ё╨╟ URL"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "Hits per Day"; char *msg_mtot_mhh= "Hits per Hour"; char *msg_mtot_mfd= "Files per Day"; char *msg_mtot_mpd= "Pages per Day"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "Visits per Day"; char *msg_mtot_mkd= "KBytes per Day"; char *msg_mtot_rc = "юю╢Д дз╣Е╨╟ хВф╝╪Ж"; /* daily total table */ char *msg_dtot_ds = "юо╨╟ еК╟Х"; /* hourly total table */ char *msg_htot_hs = "╫ц╟ё╢К╨╟ еК╟Х"; /* country pie chart */ char *msg_ctry_use= "Usage by Country for"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "╩Сю╖"; char *msg_top_of = "/"; char *msg_top_s = "╩Гюлф╝"; char *msg_top_u = "URL"; char *msg_top_r = "╥╧фш╥╡"; char *msg_top_a = "©║юлюЭф╝"; char *msg_top_c = "╠╧╟║"; char *msg_top_en = "Total Entry Pages"; char *msg_top_ex = "Total Exit Pages"; char *msg_top_sr = "Total Search Strings"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "╩Г©К╥╝ еК╟Х:"; char *msg_h_other = "╠Бе╦"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.latvian�������������������������������������������������������0000644�0001750�0001750�00000106343�11032527214�017542� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.latvian Webalizer V2.0x Language Support file for Latvian. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 06-Jul-2000 Latvian translation by Andis (andis@millenium.lv) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Latvian"; char *langcode = "lv"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "ieraksti"; char *msg_addresses="addreses"; char *msg_ignored = "ignorГti"; char *msg_bad = "slikti"; char *msg_in = "ienБkoПie"; char *msg_seconds = "sekundes"; /* progress and setup error messages */ char *msg_log_err = "Error: Nevaru atvГrt Log failu"; char *msg_log_use = "Izmantojam logfailu"; char *msg_dir_err = "Error: Nepareiza direktorija"; char *msg_dir_use = "Izvietojam Statistiku iekП"; char *msg_cur_dir = "EsoПБ Direktorija"; char *msg_hostname= "пН pБrskata Hostname ir"; char *msg_ign_hist= "IgnorГjam iepriekПГjos datus..."; char *msg_no_hist = "Nav informБcijas par vГsturi..."; char *msg_get_hist= "LasБm vГstures failus..."; char *msg_put_hist= "SaglabБjam vГstures informБciju..."; char *msg_hist_err= "Error: Nevar saglabБt vГstures failus"; char *msg_bad_hist= "Error: BojБti vГstures ieraksti"; char *msg_bad_conf= "Error: Nevar atvГrt konfigurБcijas failu"; char *msg_bad_key = "Warning: Nepareizs keyword"; char *msg_bad_date= "Error: IzlaiЧam ierakstu (kОШda datumБ)"; char *msg_ign_nscp= "IzlaiЧam Netscape header ierakstu"; char *msg_bad_rec = "IzlaiЧam sliktu ierakstu"; char *msg_no_vrec = "Nav atrasti derНgi ieraksti!"; char *msg_gen_rpt = "Veidojam pБrskatu par"; char *msg_gen_sum = "Veidojam summБro pБrskatu par"; char *msg_get_data= "LasБm iepriekПГjos datus.."; char *msg_put_data= "SaglabБjam paПreizГjos datus..."; char *msg_no_data = "IepriekПГjie dati nav atrasti..."; char *msg_bad_data= "Error: Nav iespГjams atjaunot iepriekПГjos datus"; char *msg_data_err= "Error: Nav iespГjams saglabБt paПreizГjos datus"; char *msg_dup_data= "Warning: IespГjams, ka dati atkБrtojas"; /* DNS Stuff */ char *msg_dns_nocf= "Cache fails nav atrasts, pБrtraucam..."; char *msg_dns_nodb= "Error: Nevar atvГrt DNS cache failu"; char *msg_dns_nolk= "Error: Nevar noslГgt DNS cache failu"; char *msg_dns_usec= "Lietojam DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (HHMMSS format)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URL's" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "SumБrais Periods"; char *msg_hhdr_gt = "Izveidots"; /* main index strings */ char *msg_main_us = "ApmeklГjumu pБrskats pБr"; /* char *msg_main_per= "PГdГjie 12 MГneПi"; */ char *msg_main_per= "PБrskati par mГneПiem"; char *msg_main_sum= "PБrskati par mГneПiem"; char *msg_main_da = "Ikdienas pБrskati"; char *msg_main_mt = "MГneПu kopsummas"; /* month HTML page strings */ char *msg_hmth_du = "Dienas pБrskati par "; char *msg_hmth_hu = "Stundu pБrskati par"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "Avg"; char *msg_h_max = "Max"; char *msg_h_total = "Total"; char *msg_h_totals= "Totals"; char *msg_h_day = "Diena"; char *msg_h_mth = "MГneПi"; char *msg_h_hour = "Stundas"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Lapas"; char *msg_h_visits= "ApmeklГjumi"; char *msg_h_files = "Faili"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Hostname"; char *msg_h_url = "URL"; char *msg_h_agent = "LietotБja programma"; char *msg_h_ref = "Referrer"; char *msg_h_ctry = "Valsts"; char *msg_h_search= "Search String"; char *msg_h_uname = "LietotБja vБrds"; /* links along top of page */ char *msg_hlnk_ds = "Dienas statistika"; char *msg_hlnk_hs = "Stundu statistika"; char *msg_hlnk_u = "URL's"; char *msg_hlnk_s = "Saites"; char *msg_hlnk_a = "Programmas"; char *msg_hlnk_c = "Valstis"; char *msg_hlnk_r = "Referrers"; char *msg_hlnk_en = "Ieraksti"; char *msg_hlnk_ex = "Exit"; char *msg_hlnk_sr = "MeklГt"; char *msg_hlnk_i = "LietotБji"; /* monthly total table */ char *msg_mtot_ms = "MГneПu pБrskats pБr"; char *msg_mtot_th = "KopГjie ApmeklГjumi"; char *msg_mtot_tf = "KopГjie Faili"; char *msg_mtot_tx = "KopГjie KBaiti"; char *msg_mtot_us = "KopГjБs UnikБlБs Saites"; char *msg_mtot_ur = "KopГjie UnikБlie Referreri"; char *msg_mtot_ua = "KopГjБs UnikБlБs LietotБju Programmas"; char *msg_mtot_uu = "KopГjie UnikБlie URL"; char *msg_mtot_ui = "Total Unique Usernames"; char *msg_mtot_mhd= "PieprasНjumi DienБ"; char *msg_mtot_mhh= "PieprasНjumi StundБs"; char *msg_mtot_mfd= "Faili DienБ"; char *msg_mtot_mpd= "Lapas DienБ"; char *msg_mtot_msd= "Saites DienБ"; char *msg_mtot_mvd= "ApmeklГjumi DienБ"; char *msg_mtot_mkd= "KBaiti DienБ"; char *msg_mtot_rc = "Hits by Response Code"; /* daily total table */ char *msg_dtot_ds = "Ikdienas statistika par"; /* hourly total table */ char *msg_htot_hs = "Stundu statistika par"; /* country pie chart */ char *msg_ctry_use= "бrvalstu apmeklГtБju statistika par"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "par"; char *msg_top_s = "Visas Saites"; char *msg_top_u = "Visi URL"; char *msg_top_r = "Visi Reffereri"; char *msg_top_a = "Visas apmeklГtБju pБrlШkprogrammas"; char *msg_top_c = "Visas valstis"; char *msg_top_en = "Total Entry Pages"; char *msg_top_ex = "Total Exit Pages"; char *msg_top_sr = "Total Search Strings"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "ApskatНt visas saites"; char *msg_v_urls = "ApskatНt visus URL"; char *msg_v_refs = "ApskatНt visus Referrerus"; char *msg_v_agents= "ApskatНt visas pБrlШkprogrammas"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "JanvБris", "FebruБris", "Marts", "AprНlis", "Maijs", "JШnijs", "JШlijs", "Augusts", "Septembris","Oktobris", "Novembris","Decembris"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Usage Statistics for"; char *msg_h_other = "Other"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.lithuanian����������������������������������������������������0000644�0001750�0001750�00000110314�11032527214�020231� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.lithuanian Webalizer V2.0x Language Support file for Lithuanian. 24-Sep-2004 by Justas Butkus (justasbutkus@takas.lt) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Lithuanian"; char *langcode = "lt"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "АraПai"; char *msg_addresses="adresai"; char *msg_ignored = "ignoruojami"; char *msg_bad = "blogi"; char *msg_in = "per"; char *msg_seconds = "sekundes"; /* progress and setup error messages */ char *msg_log_err = "Klaida: Nepavyko atidaryti АraПЬ failo"; char *msg_log_use = "Naudojamas АraПЬ failas"; char *msg_dir_err = "Klaida: Nepavyko pereiti А katalogЮ"; char *msg_dir_use = "Kuriama iПvestis"; char *msg_cur_dir = "dabartinis katalogas"; char *msg_hostname= "аraПai apie tarnybinФ stotА pavadinimu"; char *msg_ign_hist= "Ignoruojami ankstesni istorijos АraПai..."; char *msg_no_hist = "Nerastas istorijos failas..."; char *msg_get_hist= "Skaitomas istorijos failas..."; char *msg_put_hist= "IПsaugomi istorijos АraПai..."; char *msg_hist_err= "Klaida: Nepavyko АraПyti istorijos failo"; char *msg_bad_hist= "Klaida: Ignoruojamas klaidingas istorijos АraПas"; char *msg_bad_conf= "Klaida: Nepavyko atverti nuostatЬ failo"; char *msg_bad_key = "PerspКjimas: Neteisingas raktaЧodis"; char *msg_bad_date= "Klaida: PraleidЧiamas АraПas (neteisinga data)"; char *msg_ign_nscp= "PraleidЧiami Netscape antraПХiЬ АraПai"; char *msg_bad_rec = "PraleidЧiami blogi АraПai"; char *msg_no_vrec = "Taisyklingi АraПai nerasti!"; char *msg_gen_rpt = "Kuriamas АraПas"; char *msg_gen_sum = "Kuriamas АraПo sЮvadas"; char *msg_get_data= "Nuskaitomi ankstesnio veikimo laikotarpiu sukurti duomenys.."; char *msg_put_data= "IПsaugomi Пio veikimo laikotarpiu sukurti duomenys..."; char *msg_no_data = "Ankstesnio veikimo duomenys nerasti..."; char *msg_bad_data= "Klaida: Nepavyko atstatyti veikimo duomenЬ"; char *msg_data_err= "Klaida: Nepavyko iПsaugoti Пio veikimo duomenЬ"; char *msg_dup_data= "PerspКjimas: SpКjama, jog rasti pasikartojantys duomenys"; /* DNS Stuff */ char *msg_dns_nocf= "Nenurodytas spartinanХiosios atmintinКs failas, atПaukiama..."; char *msg_dns_nodb= "Klaida: Nepavyko atverti DNS spartinanХiosios atmintinКs failo"; char *msg_dns_nolk= "Klaida: Nepavyko uЧrakinti DNS spartinanХiosios atmintinКs failo"; char *msg_dns_usec= "Naudojamas DNS spartinanХiosios atmintinКs failas"; char *msg_dns_rslv= "DNS paieПka"; char *msg_dns_none= "NКra kЮ vykdyti"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nepavyksta paskirti pakankamai atminties, Populiariausi Puslapiai uЧdrausti!"; char *msg_nomem_tr= "Nepavyksta paskirti pakankamai atminties, DaЧniausi NukreipКjai uЧdrausti!"; char *msg_nomem_tu= "Nepavyksta paskirti pakankamai atminties, DaЧniausi URL uЧdrausti!"; char *msg_nomem_tc= "Nepavyksta paskirti pakankamai atminties, DaЧniausios ValstybКs uЧdraustos!"; char *msg_nomem_ta= "Nepavyksta paskirti pakankamai atminties, DaЧniausios KlientЬ Programos uЧdraustos!"; char *msg_nomem_tsr="Nepavyksta paskirti pakankamai atminties, DaЧniausios PaieПkos uЧdraustos!"; char *msg_nomem_ti= "Nepavyksta paskirti pakankamai atminties, DaЧniausi VartotojЬ Vardai uЧdrausti!"; char *msg_nomem_dh= "Klaida pridedant kompiuterio vardo jungtА (kasdienА), praleidЧiama"; char *msg_nomem_mh= "Klaida pridedant kompiuterio vardo jungtА (kas mКnesinА), praleidЧiama"; char *msg_nomem_u = "Klaida pridedant URL jungtА, praleidЧiama"; char *msg_nomem_a = "Klaida pridedant Kliento Programos jungtА, praleidЧiama"; char *msg_nomem_r = "Klaida pridedant NukreipКjo jungtА, praleidЧiama"; char *msg_nomem_sc= "Klaida pridedant PaieПkos jungtА, praleidЧiama"; char *msg_nomem_i = "Klaida pridedant Vartotojo Vardo jungtА, praleidЧiama"; /* log record errors */ char *msg_big_rec = "Klaida: PraleidЧiamas virПijФs dydЧio limitЮ АraПas"; char *msg_big_host= "PerspКjimas: Trumpinamas per ilgas kompiuterio vardas"; char *msg_big_date= "PerspКjimas: Trumpinamas per ilgas datos laukas"; char *msg_big_req = "PerspКjimas: Trumpinamas per ilgas uЧklausos laukas"; char *msg_big_ref = "PerspКjimas: Trumpinamas per ilgas nukreipКjo laukas"; char *msg_big_user= "PerspКjimas: Trumpinamas per ilgas vartotojo vardas"; char *msg_big_one = "PerspКjimas: аraПo reikПmК yra didesnК nei Аmanoma vieta"; /* misc errors */ char *msg_no_open = "Klaida: Nepavyko atidaryti failo"; /* Help display... */ char *h_usage1 = "Naudojimas"; char *h_usage2 = "[pasirinktys] [АraПo failas]"; char *h_msg[]= { "-h = atvaizduoti ПiЮ pagalbos ЧinutФ" , "-V = atvaizduoti versijos informacijЮ" , "-v = be verbose" , "-d = atvaizduoti papildomЮ derinimo informacijЮ" , "-F type = аraПo tipas. tipas= (clf | ftp | squid | w3c)" , "-f = EilКs nuoseklumo klaida" , "-i = ignoruoti istorijos failЮ" , "-p = iПlaikyti bШsenЮ (didКjanХiЮ)" , "-b = ignore state (incremental)" , "-q = atidКti informacines Чinutes" , "-Q = atidКti _VISAS_ Чinutes" , "-Y = atidКti ПaliЬ grafikЮ" , "-G = atidКti valandinА grafikЮ" , "-H = atidКti valandinФ statistikЮ" , "-L = atidКti spalvomis koduotЮ grafikЬ legendЮ" , "-l num = rodyti numeruotas fono linijas grafikuose" , "-m num = Apsilankymo laiko limito reikПmК (sekundКmis)" , "-T = iПvesti laiko matavimo informacijЮ" , "-c file = naudoti pasirinkХiЬ failЮ 'failas'" , "-n pavadinimas = vartotinas kompiuterio vardas" , "-o dir = iПvesties katalogas" , "-t pavadinimas = ataskaitos pavadinimas 'pavadinimas'" , "-a pavadinimas = slКpti kliento programЮ 'pavadinimas'" , "-r pavadinimas = slКpti nukreipКjЮ 'pavadinimas'" , "-s pavadinimas = slКpti puslapА 'pavadinimas'" , "-u pavadinimas = slКpti URL 'pavadinimas'" , "-x pavadinimas = Naudoti rinkmenos plКtinА 'pavadinimas'" , "-O pavadinimas = Omit page 'pavadinimas'" , "-P pavadinimas = Puslapio tipo plКtinys 'pavadinimas'" , "-I pavadinimas = Indekso pavadinimas 'pavadinimas'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Rodyti daЧniausiЬ programЬ (kiekis)" , "-C num = Rodyti daЧniausiЬ ПaliЬ (kiekis)" , "-R num = Rodyti daЧniausiЬ nukreipКjЬ (kiekis)" , "-S num = Rodyti daЧniausiЬ puslapiЬ (kiekis)" , "-U num = Rodyti daЧniausiЬ URL (kiekis)" , "-e num = Rodyti daЧniausiЬ аКjimo PuslapiЬ (kiekis)" , "-E num = Rodyti daЧniausiЬ IПКjimo puslapiЬ (kiekis)" , "-g num = Grupuoti adresЬ sritis А 'kiekА' lygiЬ" , "-X = SlКpti asmeninius puslapius" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D pavadinimas = Naudoti DNS SpartinanХiosios atmintinКs failЮ 'pavadinimas'" , "-N num = DNS procesЬ kiekis (0=iПjungta)" , "-j = Enable native GeoDB lookups" , "-J pavadinimas = Use GeoDB database 'pavadinimas'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W pavadinimas = Use GeoIP database 'pavadinimas'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "SЮvado periodas"; char *msg_hhdr_gt = "Sugeneruota"; /* main index strings */ char *msg_main_us = "Naudojimo sЮvadas"; /* char *msg_main_per= "Paskutinius 12 mКnesiЬ"; */ char *msg_main_per= "SЮvadas pagal mКnesius"; char *msg_main_sum= "SЮvadas pagal mКnesius"; char *msg_main_da = "Dieninis vidurkis"; char *msg_main_mt = "MКnesio suminis"; /* month HTML page strings */ char *msg_hmth_du = "Dieninis naudojimas"; char *msg_hmth_hu = "Valandinis naudojimas"; /* table header strings */ char *msg_h_by = "Pagal"; char *msg_h_avg = "Vidurkis"; char *msg_h_max = "DidЧiausias"; char *msg_h_total = "Bendras"; char *msg_h_totals= "Suminiai"; char *msg_h_day = "DIena"; char *msg_h_mth = "MКnesis"; char *msg_h_hour = "Valanda"; char *msg_h_hits = "JungХiЬ"; char *msg_h_pages = "PuslapiЬ"; char *msg_h_visits= "ApsilankymЬ"; char *msg_h_files = "RinkmenЬ"; char *msg_h_sites = "TinklalapiЬ"; char *msg_h_xfer = "KBaitЬ"; char *msg_h_hname = "Kompiuterio vardas"; char *msg_h_url = "URL"; char *msg_h_agent = "Kliento programa"; char *msg_h_ref = "NukreipКjas"; char *msg_h_ctry = "пalis"; char *msg_h_search= "PaieПka"; char *msg_h_uname = "Vartotojo vardas"; /* links along top of page */ char *msg_hlnk_ds = "DieninК statistika"; char *msg_hlnk_hs = "ValandinК statistika"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "Puslapiai"; char *msg_hlnk_a = "KlientЬ programos"; char *msg_hlnk_c = "пalys"; char *msg_hlnk_r = "NukreipКjai"; char *msg_hlnk_en = "аКjimai"; char *msg_hlnk_ex = "IПКjimai"; char *msg_hlnk_sr = "PaieПka"; char *msg_hlnk_i = "VartotojЬ vardai"; /* monthly total table */ char *msg_mtot_ms = "MКnesinК statistika"; char *msg_mtot_th = "Viso jungХiЬ"; char *msg_mtot_tf = "Viso rinkmenЬ"; char *msg_mtot_tx = "Viso KBaitЬ"; char *msg_mtot_us = "Viso unikaliЬ puslapiЬ"; char *msg_mtot_ur = "Viso unikaliЬ nukreipКjЬ"; char *msg_mtot_ua = "Viso unikaliЬ klientЬ programЬ"; char *msg_mtot_uu = "Viso unikaliЬ URL"; char *msg_mtot_ui = "Viso unikaliЬ vartotojЬ vardЬ"; char *msg_mtot_mhd= "JungХiЬ per dienЮ"; char *msg_mtot_mhh= "JungХiЬ per valandЮ"; char *msg_mtot_mfd= "FailЬ per dienЮ"; char *msg_mtot_mpd= "PuslapiЬ per dienЮ"; char *msg_mtot_msd= "PuslapiЬ (sites) per dienЮ"; char *msg_mtot_mvd= "ApsilankymЬ per dienЮ"; char *msg_mtot_mkd= "KBaitЬ per dienЮ"; char *msg_mtot_rc = "JungХiЬ pagal atsako kodЮ"; /* daily total table */ char *msg_dtot_ds = "DieninК statistika"; /* hourly total table */ char *msg_htot_hs = "ValandinК statistika"; /* country pie chart */ char *msg_ctry_use= "Vartojimas pagal ПalА"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "DaЧniausiai"; char *msg_top_of = "iП"; char *msg_top_s = "Viso puslapiЬ"; char *msg_top_u = "Viso URL"; char *msg_top_r = "Viso NukreipКjЬ"; char *msg_top_a = "Viso VartotojЬ programЬ"; char *msg_top_c = "Viso пaliЬ"; char *msg_top_en = "Viso аКjimo puslapiЬ"; char *msg_top_ex = "Viso IПКjimo puslapiЬ"; char *msg_top_sr = "Viso PaieПkЬ"; char *msg_top_i = "Viso VartotojЬ vardЬ"; char *msg_v_sites = "PerЧiШrКti visus Puslapius"; char *msg_v_urls = "PerЧiШrКti visus URL"; char *msg_v_refs = "PerЧiШrКti visus NukreipКjus"; char *msg_v_agents= "PerЧiШrКti visus VartotojЬ programas"; char *msg_v_search= "PerЧiШrКti visus PaieПkas"; char *msg_v_users = "PerЧiШrКti visus VartotojЬ vardus"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rgp", "Rgs", "Spa", "Lap", "Gru"}; /* long month names - can be any length */ char *l_month[12]={ "Sausis", "Vasaris", "Kovas", "Balandis", "GeguЧК", "BirЧelis", "Liepa", "RugpjШtis", "RugsКjis","Spalis", "Lapkritis","Gruodis"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "NeapibrКЧtas atsako kodas", 0 }, { "Kodas 100 - TФsiama", 0 }, { "Kodas 101 - KeiХiami protokolai", 0 }, { "Kodas 200 - Gerai", 0 }, { "Kodas 201 - Sukurta", 0 }, { "Kodas 202 - Priimta", 0 }, { "Kodas 203 - Ne autorizuojamoji informacija", 0 }, { "Kodas 204 - NКra turinio", 0 }, { "Kodas 205 - Perkrauti turinА", 0 }, { "Kodas 206 - Dalinis turinys", 0 }, { "Kodas 300 - Keli pasirinkimai", 0 }, { "Kodas 301 - Perkelta ilgam", 0 }, { "Kodas 302 - Rasta", 0 }, { "Kodas 303 - Mato kiti", 0 }, { "Kodas 304 - Nepakeista", 0 }, { "Kodas 305 - Naudojamas proxy", 0 }, { "Kodas 307 - Perkelta laikinai", 0 }, { "Kodas 400 - Bloga uЧklausa", 0 }, { "Kodas 401 - Neautorizuota", 0 }, { "Kodas 402 - Reikalingas apmokКjimas", 0 }, { "Kodas 403 - UЧdrausta", 0 }, { "Kodas 404 - Nerasta", 0 }, { "Kodas 405 - Metodas neleistas", 0 }, { "Kodas 406 - Nepriimtina", 0 }, { "Kodas 407 - BШtina proxy autentifikacija", 0 }, { "Kodas 408 - BaigКsi uЧklausai skirtas laikas", 0 }, { "Kodas 409 - Konfliktas", 0 }, { "Kodas 410 - Perkeltas", 0 }, { "Kodas 411 - Ilgis bШtinas", 0 }, { "Kodas 412 - PrieП-parengtis nepavyko", 0 }, { "Kodas 413 - Per ilga uЧklausa", 0 }, { "Kodas 414 - UЧklausos-URI per ilgas", 0 }, { "Kodas 415 - Nepalaikomas terpКs tipas", 0 }, { "Kodas 416 - UЧklausos ribos nepatenkinamos", 0 }, { "Kodas 417 - Laukimas nepavyko", 0 }, { "Kodas 500 - VidinК serverio klaida", 0 }, { "Kodas 501 - NeАdiegta", 0 }, { "Kodas 502 - Neteisingas Пliuzas", 0 }, { "Kodas 503 - Paslauga neprieinama", 0 }, { "Kodas 504 - пliuzas neatsakК per paskirtЮ laiko intervalЮ", 0 }, { "Kodas 505 - HTTP versija nepalaikoma", 0 } }; char *msg_title = "Naudojimo statistika"; char *msg_h_other = "Kitkas"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "NeapsprФsta/NeЧinoma", 0,0,0 }, { IDX_3C('c','o','m'), "KomercinК (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Mokomoji (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US ValstybinК (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "TarptautinК (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US KarinК", 0,0,0 }, { IDX_3C('n','e','t'), "Tinklo (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Ne pelno siekianХiЬ organizacijЬ", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Seno stiliaus Arpaneto (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato lauko (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andora", 0,0,0 }, { IDX_2C('a','e'), "Jungitniai arabЬ emiratai", 0,0,0 }, { IDX_2C('a','f'), "Afganistanas", 0,0,0 }, { IDX_2C('a','g'), "Antigva ir Barbadua", 0,0,0 }, { IDX_2C('a','i'), "Angila", 0,0,0 }, { IDX_2C('a','l'), "Albanija", 0,0,0 }, { IDX_2C('a','m'), "ArmКnija", 0,0,0 }, { IDX_2C('a','n'), "NyderlandЬ AntilЬ salos", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktika", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Amerikos Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austrija", 0,0,0 }, { IDX_2C('a','u'), "Australija", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "AzerbaidЧanas", 0,0,0 }, { IDX_2C('b','a'), "Bosnija ir Hercogovina", 0,0,0 }, { IDX_2C('b','b'), "Barbadosas", 0,0,0 }, { IDX_2C('b','d'), "BangladeПas", 0,0,0 }, { IDX_2C('b','e'), "Beglija", 0,0,0 }, { IDX_2C('b','f'), "Burkina Fasas", 0,0,0 }, { IDX_2C('b','g'), "Bulgarija", 0,0,0 }, { IDX_2C('b','h'), "Bahreinas", 0,0,0 }, { IDX_2C('b','i'), "Burundis", 0,0,0 }, { IDX_2C('b','j'), "Beninai", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermudai", 0,0,0 }, { IDX_2C('b','n'), "BrunКjus Daruslamas", 0,0,0 }, { IDX_2C('b','o'), "Bolivija", 0,0,0 }, { IDX_2C('b','r'), "Brazilija", 0,0,0 }, { IDX_2C('b','s'), "Bahamai", 0,0,0 }, { IDX_2C('b','t'), "Bhutanas", 0,0,0 }, { IDX_2C('b','v'), "Buveto salos", 0,0,0 }, { IDX_2C('b','w'), "Botsvana", 0,0,0 }, { IDX_2C('b','y'), "Gudija", 0,0,0 }, { IDX_2C('b','z'), "Belizija", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Kokoso (Kylingo) salos", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "CentrinКs Afrikos respublika", 0,0,0 }, { IDX_2C('c','g'), "Kongas", 0,0,0 }, { IDX_2C('c','h'), "пveicarija", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Dramblio kaulo kranto)", 0,0,0 }, { IDX_2C('c','k'), "Kuko salos", 0,0,0 }, { IDX_2C('c','l'), "хilК", 0,0,0 }, { IDX_2C('c','m'), "KemrШnas", 0,0,0 }, { IDX_2C('c','n'), "Kinija", 0,0,0 }, { IDX_2C('c','o'), "Kolumbija", 0,0,0 }, { IDX_2C('c','r'), "Kosta Rika", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "чaliasis KyПulys (Cape Verde)", 0,0,0 }, { IDX_2C('c','x'), "KalКdЬ salos", 0,0,0 }, { IDX_2C('c','y'), "Kipras", 0,0,0 }, { IDX_2C('c','z'), "хekijos respublika", 0,0,0 }, { IDX_2C('d','e'), "Vokietija", 0,0,0 }, { IDX_2C('d','j'), "DЧibutis", 0,0,0 }, { IDX_2C('d','k'), "Danija", 0,0,0 }, { IDX_2C('d','m'), "Dominika", 0,0,0 }, { IDX_2C('d','o'), "Dominikos respublika", 0,0,0 }, { IDX_2C('d','z'), "AlЧyras", 0,0,0 }, { IDX_2C('e','c'), "Ekvadoras", 0,0,0 }, { IDX_2C('e','e'), "Estija", 0,0,0 }, { IDX_2C('e','g'), "Egiptas", 0,0,0 }, { IDX_2C('e','h'), "VakarЬ sahara", 0,0,0 }, { IDX_2C('e','r'), "EritrКja", 0,0,0 }, { IDX_2C('e','s'), "Ispanija", 0,0,0 }, { IDX_2C('e','t'), "Etiopija", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Suomija", 0,0,0 }, { IDX_2C('f','j'), "Fijis", 0,0,0 }, { IDX_2C('f','k'), "Falklando salos (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Mikronezija", 0,0,0 }, { IDX_2C('f','o'), "FarerЬ salos", 0,0,0 }, { IDX_2C('f','r'), "PrancШzija", 0,0,0 }, { IDX_2C('g','a'), "Gabonas", 0,0,0 }, { IDX_2C('g','b'), "DidЧioji Britanija (JK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Gruzija", 0,0,0 }, { IDX_2C('g','f'), "PrancШzijos Gviana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltaras", 0,0,0 }, { IDX_2C('g','l'), "Grenlandija", 0,0,0 }, { IDX_2C('g','m'), "Gambija", 0,0,0 }, { IDX_2C('g','n'), "GvinКja", 0,0,0 }, { IDX_2C('g','p'), "GvadelupК", 0,0,0 }, { IDX_2C('g','q'), "EkvatorinК GvinКja", 0,0,0 }, { IDX_2C('g','r'), "Graikija", 0,0,0 }, { IDX_2C('g','s'), "пv. DЧordЧijos ir пv. SandviХiЬ salos.", 0,0,0 }, { IDX_2C('g','t'), "Gvatemala", 0,0,0 }, { IDX_2C('g','u'), "Guama", 0,0,0 }, { IDX_2C('g','w'), "GvinКja-Bisau", 0,0,0 }, { IDX_2C('g','y'), "Gujana", 0,0,0 }, { IDX_2C('h','k'), "Honkongas", 0,0,0 }, { IDX_2C('h','m'), "Herdo ir McDonaldo salos", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroatija", 0,0,0 }, { IDX_2C('h','t'), "Haitis", 0,0,0 }, { IDX_2C('h','u'), "Vengrija", 0,0,0 }, { IDX_2C('i','d'), "Indonezija", 0,0,0 }, { IDX_2C('i','e'), "Airija", 0,0,0 }, { IDX_2C('i','l'), "Izraelis", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Indija", 0,0,0 }, { IDX_2C('i','o'), "BritЬ Indijos vandenyno teritorija", 0,0,0 }, { IDX_2C('i','q'), "Irakas", 0,0,0 }, { IDX_2C('i','r'), "Iranas", 0,0,0 }, { IDX_2C('i','s'), "Islandija", 0,0,0 }, { IDX_2C('i','t'), "Italija", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaika", 0,0,0 }, { IDX_2C('j','o'), "Jordanija", 0,0,0 }, { IDX_2C('j','p'), "Japonija", 0,0,0 }, { IDX_2C('k','e'), "Kenija", 0,0,0 }, { IDX_2C('k','g'), "Kirgiztanas", 0,0,0 }, { IDX_2C('k','h'), "KambodЧa", 0,0,0 }, { IDX_2C('k','i'), "Kiribatis", 0,0,0 }, { IDX_2C('k','m'), "Komorai", 0,0,0 }, { IDX_2C('k','n'), "пventas Kitsas ir Nevis", 0,0,0 }, { IDX_2C('k','p'), "KorКja (пiaurКs)", 0,0,0 }, { IDX_2C('k','r'), "KorКja (PietЬ)", 0,0,0 }, { IDX_2C('k','w'), "Kuveitas", 0,0,0 }, { IDX_2C('k','y'), "KaimanЬ salos", 0,0,0 }, { IDX_2C('k','z'), "Kazakstanas", 0,0,0 }, { IDX_2C('l','a'), "Laosas", 0,0,0 }, { IDX_2C('l','b'), "Lebanonas", 0,0,0 }, { IDX_2C('l','c'), "пventa Liucija", 0,0,0 }, { IDX_2C('l','i'), "LichtenПteinas", 0,0,0 }, { IDX_2C('l','k'), "пri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberija", 0,0,0 }, { IDX_2C('l','s'), "Lesotas", 0,0,0 }, { IDX_2C('l','t'), "Lietuva", 0,0,0 }, { IDX_2C('l','u'), "Liuksemburgas", 0,0,0 }, { IDX_2C('l','v'), "Latvija", 0,0,0 }, { IDX_2C('l','y'), "Libija", 0,0,0 }, { IDX_2C('m','a'), "Marokas", 0,0,0 }, { IDX_2C('m','c'), "Monakas", 0,0,0 }, { IDX_2C('m','d'), "Moldavija", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskaras", 0,0,0 }, { IDX_2C('m','h'), "MarПalo salos", 0,0,0 }, { IDX_2C('m','k'), "Makedojina", 0,0,0 }, { IDX_2C('m','l'), "Malis", 0,0,0 }, { IDX_2C('m','m'), "Mianmaras", 0,0,0 }, { IDX_2C('m','n'), "Mongolija", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "пiaurinКs Marianos salos", 0,0,0 }, { IDX_2C('m','q'), "Martinika", 0,0,0 }, { IDX_2C('m','r'), "Mauritanija", 0,0,0 }, { IDX_2C('m','s'), "Montseratis", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritis", 0,0,0 }, { IDX_2C('m','v'), "Maldivai", 0,0,0 }, { IDX_2C('m','w'), "Malavis", 0,0,0 }, { IDX_2C('m','x'), "Meksika", 0,0,0 }, { IDX_2C('m','y'), "Malaizija", 0,0,0 }, { IDX_2C('m','z'), "Mozambikas", 0,0,0 }, { IDX_2C('n','a'), "Namibija", 0,0,0 }, { IDX_2C('n','c'), "Naujoji Kaledonija", 0,0,0 }, { IDX_2C('n','e'), "Nigerija", 0,0,0 }, { IDX_2C('n','f'), "Norfolko salos", 0,0,0 }, { IDX_2C('n','g'), "Nigerija", 0,0,0 }, { IDX_2C('n','i'), "Nikaragva", 0,0,0 }, { IDX_2C('n','l'), "Nyderlandai", 0,0,0 }, { IDX_2C('n','o'), "Norvegija", 0,0,0 }, { IDX_2C('n','p'), "Napalas", 0,0,0 }, { IDX_2C('n','r'), "Naurutis", 0,0,0 }, { IDX_2C('n','u'), "Nevis", 0,0,0 }, { IDX_2C('n','z'), "Naujoji Zelandija", 0,0,0 }, { IDX_2C('o','m'), "Omanas", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "PrancШzЬ Polinezija", 0,0,0 }, { IDX_2C('p','g'), "Papua ir Naujoji GvinКja", 0,0,0 }, { IDX_2C('p','h'), "Filipinai", 0,0,0 }, { IDX_2C('p','k'), "Pakistanas", 0,0,0 }, { IDX_2C('p','l'), "Lenkija", 0,0,0 }, { IDX_2C('p','m'), "пv. Pieras ir Mikelonas", 0,0,0 }, { IDX_2C('p','n'), "Pitkaimas", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rikas", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugalija", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Parugvajus", 0,0,0 }, { IDX_2C('q','a'), "Kataras", 0,0,0 }, { IDX_2C('r','e'), "Susijungimas", 0,0,0 }, { IDX_2C('r','o'), "Rumunija", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Rusijos federacija", 0,0,0 }, { IDX_2C('r','w'), "Randa", 0,0,0 }, { IDX_2C('s','a'), "Saudo Arabija", 0,0,0 }, { IDX_2C('s','b'), "Solomono salos", 0,0,0 }, { IDX_2C('s','c'), "SeiПelai", 0,0,0 }, { IDX_2C('s','d'), "Sudanas", 0,0,0 }, { IDX_2C('s','e'), "пvedija", 0,0,0 }, { IDX_2C('s','g'), "SingapШras", 0,0,0 }, { IDX_2C('s','h'), "пv. Elena", 0,0,0 }, { IDX_2C('s','i'), "SlovКnija", 0,0,0 }, { IDX_2C('s','j'), "Svalbardo ir чano Majeno salos", 0,0,0 }, { IDX_2C('s','k'), "Slovakijos respublika", 0,0,0 }, { IDX_2C('s','l'), "Siera LeonК", 0,0,0 }, { IDX_2C('s','m'), "San Marinas", 0,0,0 }, { IDX_2C('s','n'), "Senegalas", 0,0,0 }, { IDX_2C('s','o'), "Somalis", 0,0,0 }, { IDX_2C('s','r'), "Surinamis", 0,0,0 }, { IDX_2C('s','t'), "Sao TomК ir PrincipК", 0,0,0 }, { IDX_2C('s','u'), "TSRS (buvusi)", 0,0,0 }, { IDX_2C('s','v'), "El Salvadoras", 0,0,0 }, { IDX_2C('s','y'), "Sirija", 0,0,0 }, { IDX_2C('s','z'), "Svazilandas", 0,0,0 }, { IDX_2C('t','c'), "Turkijos ir Kaikijos salos", 0,0,0 }, { IDX_2C('t','d'), "хadas", 0,0,0 }, { IDX_2C('t','f'), "PrancШzijos pietinКs teritorijos", 0,0,0 }, { IDX_2C('t','g'), "Togas", 0,0,0 }, { IDX_2C('t','h'), "Tailandas", 0,0,0 }, { IDX_2C('t','j'), "TadЧikistanas", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "TurkmКnistanas", 0,0,0 }, { IDX_2C('t','n'), "Tunisas", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "RytЬ Timoras", 0,0,0 }, { IDX_2C('t','r'), "Turkija", 0,0,0 }, { IDX_2C('t','t'), "Trinidadas ir Tobagas", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taivanas", 0,0,0 }, { IDX_2C('t','z'), "Tanzanija", 0,0,0 }, { IDX_2C('u','a'), "Ukraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "JungtinК KaralystК", 0,0,0 }, { IDX_2C('u','m'), "US maЧosios sЮlos", 0,0,0 }, { IDX_2C('u','s'), "JungtinКs Valstijos", 0,0,0 }, { IDX_2C('u','y'), "Urugvajus", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistanas", 0,0,0 }, { IDX_2C('v','a'), "Vatikano miestas-valstybК (пventasis Sostas)",0,0,0 }, { IDX_2C('v','c'), "пventas Vincentas ir Grenadinai", 0,0,0 }, { IDX_2C('v','e'), "Venesuela", 0,0,0 }, { IDX_2C('v','g'), "MergelКs salos (BritЬ)", 0,0,0 }, { IDX_2C('v','i'), "MergelКs salos (JAV)", 0,0,0 }, { IDX_2C('v','n'), "Vietnamas", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Valio ir Futunos salos", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemenis", 0,0,0 }, { IDX_2C('y','t'), "Majotis", 0,0,0 }, { IDX_2C('y','u'), "Jugoslavija", 0,0,0 }, { IDX_2C('z','a'), "PietЬ Afrika", 0,0,0 }, { IDX_2C('z','m'), "Zambija", 0,0,0 }, { IDX_2C('z','w'), "ZimbabvК", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.malay���������������������������������������������������������0000644�0001750�0001750�00000110435�11032527214�017204� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.malay Webalizer V2.0x Language Support file for Malay 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 30-Oct-2000 Malay translation by Nazri Hussain (nazrih@mimos.my) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Malay"; char *langcode = "ms"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "rekod"; char *msg_addresses="alamat"; char *msg_ignored = "diabaikan"; char *msg_bad = "rosak"; char *msg_in = "dalam"; char *msg_seconds = "saat"; /* progress and setup error messages */ char *msg_log_err = "Ralat: Saya rasa log fail anda tiada"; char *msg_log_use = "Menggunakan fail log"; char *msg_dir_err = "Ralat: Saya tidak dapat menukar ke direktori"; char *msg_dir_use = "Menjana hasil di dalam"; char *msg_cur_dir = "direktori terkini"; char *msg_hostname= "Nama Host untuk laporan ini ialah"; char *msg_ign_hist= "Mengabaikan fail terdahulu..."; char *msg_no_hist = "Fail terdahulu tiada..."; char *msg_get_hist= "Baca fail terdahulu..."; char *msg_put_hist= "Simpan maklumat terdahulu..."; char *msg_hist_err= "Ralat: Saya tidak dapat menyimpan fail terdahulu"; char *msg_bad_hist= "Ralat: Saya mengabaikan rekod terdahulu yang rosak"; char *msg_bad_conf= "Ralat: Saya tidak dapat membuka fail konfigurasi"; char *msg_bad_key = "Amaran: katakunci tidak sah"; char *msg_bad_date= "Ralat: Satu rekod diabaikan (tarikh salah)"; char *msg_ign_nscp= "Satu kepala rekod Netscape diabaikan"; char *msg_bad_rec = "Satu rekod salah diabaikan"; char *msg_no_vrec = "Tiada rekod sah dijumpai!"; char *msg_gen_rpt = "Menjana laporan untuk"; char *msg_gen_sum = "Menjana ringkasan laporan"; char *msg_get_data= "Membaca data larian terdahulu.."; char *msg_put_data= "Menimpan data larian terkini..."; char *msg_no_data = "Data larian terdahulu tidak dijumpai..."; char *msg_bad_data= "Ralat: Saya tidak dapat mengambil-semula data larian"; char *msg_data_err= "Ralat: Saya tidak dapat menyimpan data larian"; char *msg_dup_data= "Amaran: Kemungkinan data yang sama dijumpai"; /* DNS Stuff */ char *msg_dns_nocf= "Fail cache tidak dinyatakan, proses dibatalkan..."; char *msg_dns_nodb= "Ralat: Saya tidak dapat membuka fail cache DNS"; char *msg_dns_nolk= "Ralat: Saya tidak dapat mengunci fail cache DNS"; char *msg_dns_usec= "Fail cache DNS sedang digunakan"; char *msg_dns_rslv= "Carian DNS"; char *msg_dns_none= "Tiada apa untuk diproses"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Tidak dapat memperuntukkan ingatan, Halaman Terbaik diabaikan!"; char *msg_nomem_tr= "Tidak dapat memperuntukkan ingatan, Perujuk Terbaik diabaikan!"; char *msg_nomem_tu= "Tidak dapat memperuntukkan ingatan, URL Terbaik diabaikan!"; char *msg_nomem_tc= "Tidak dapat memperuntukkan ingatan, Negara Terbaik diabaikan!"; char *msg_nomem_ta= "Tidak dapat memperuntukkan ingatan, Agen Pengguna Terbaik diabaikan!"; char *msg_nomem_tsr="Tidak dapat memperuntukkan ingatan, Katakunci Carian Terbaik diabaikan!"; char *msg_nomem_ti= "Tidak dapat memperuntukkan ingatan, Katanama Pengguna Terbaik diabaikan!"; char *msg_nomem_dh= "Ralat untuk menambah nod hos (harian), proses diabaikan"; char *msg_nomem_mh= "Ralat untuk menambah nod hos (bulanan), proses diabaikan"; char *msg_nomem_u = "Ralat untuk menambah nod URL, proses diabaikan"; char *msg_nomem_a = "Ralat untuk menambah nod Agen Pengguna, proses diabaikan"; char *msg_nomem_r = "Ralat untuk menambah nod Perujuk, proses diabaikan"; char *msg_nomem_sc= "Ralat untuk menambah nod Katakunci Carian, proses diabaikan"; char *msg_nomem_i = "Ralat untuk menambah nod Katanama Pengguna, proses diabaikan"; /* log record errors */ char *msg_big_rec = "Ralat: Rekod log anda terlalu besar, proses diabaikan"; char *msg_big_host= "Amaran: Nama hos yang terlalu panjang telah dipotong"; char *msg_big_date= "Amaran: Ruangan tarikh yang terlalu panjang telah dipotong"; char *msg_big_req = "Amaran: Ruangan pertanyaan yang terlalu panjang telah dipotong"; char *msg_big_ref = "Amaran: Ruangan perujuk yang terlalu panjang telah dipotong"; char *msg_big_user= "Amaran: Katanama yang terlalu panjang telah dipotong"; char *msg_big_one = "Amaran: Perkataan melebihi saiz simpanan"; /* misc errors */ char *msg_no_open = "Ralat: Tidak dapat membuka fail"; /* Help display... */ char *h_usage1 = "Penggunaan"; char *h_usage2 = "[pilihan] [fail log]"; char *h_msg[]= { "-h = cetak mesej pertolongan ini" , "-V = cetak maklumat versi" , "-v = be verbose" , "-d = cetak maklumat tambahan berkenaan dengan debug" , "-F type = jenis Log. jenis= (clf | ftp | squid | w3c)", "-f = Alas turutan ralat" , "-i = abaikan fail terdahulu" , "-p = kekalkan keadaan (secara menaik)" , "-b = ignore state (incremental)" , "-q = abaikan maklumat mesej" , "-Q = abaikan _SEMUA_ mesej" , "-Y = abaikan graf negara" , "-G = abaikan graf ikut jam" , "-H = abaikan statistik ikut jam" , "-L = abaikan graf yang berdasarkan petunjuk warna" , "-l num = gunakan sejumlah garisan latarbelakang pada graf" , "-m num = Nilai masa tamat untuk Lawatan (dalam saat)" , "-T = cetak maklumat berkenaan masa jangkaan" , "-c file = gunakan fail konfigurasi ini" , "-n name = gunakan nama hos ini" , "-o dir = gunakan direktori ini untuk hasil janaan" , "-t name = nama laporan" , "-a name = sorokkan nama agen pengguna" , "-r name = sorokkan nama perujuk" , "-s name = sorokkan nama halaman" , "-u name = sorokkan nama URL" , "-x name = gunakan pengakhir ini bagi nama fail" , "-O name = Omit page 'name'" , "-P name = Jenis pengakhir bagi nama fail ini" , "-I name = Nama lain bagi fail Index" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Paparkan bilangan agen terbaik" , "-C num = Paparkan bilangan negara terbaik" , "-R num = Paparkan bilangan perujuk terbaik" , "-S num = Paparkan bilangan halaman terbaik" , "-U num = Paparkan bilangan URL terbaik" , "-e num = Paparkan bilangan Halaman Utama yang terbaik" , "-E num = Paparkan bilangan Hamalan Keluar yang terbaik" , "-g num = Kumpulkan tahap Domain kepada" , "-X = Sorokkan halaman individu ini" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Gunakan fail cache DNS ini" , "-N num = Nombor proses bagi DNS (0=abaikan)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Jangkamasa Ringkasan"; char *msg_hhdr_gt = "Dijanakan"; /* main index strings */ char *msg_main_us = "Ringkasan Penggunaan untuk"; /* char *msg_main_per= "12 bulan yang lepas"; */ char *msg_main_per= "Ringkasan Bulanan"; char *msg_main_sum= "Ringkasan Bulanan"; char *msg_main_da = "Purata harian"; char *msg_main_mt = "Jumlah Bulanan"; /* month HTML page strings */ char *msg_hmth_du = "Pengunaan Harian bagi"; char *msg_hmth_hu = "Pengunaan ikut Jam bagi"; /* table header strings */ char *msg_h_by = "Ikut"; char *msg_h_avg = "Purata"; char *msg_h_max = "Maksima"; char *msg_h_total = "Jumlah"; char *msg_h_totals= "Jumlah"; char *msg_h_day = "Hari"; char *msg_h_mth = "Bulan"; char *msg_h_hour = "Jam"; char *msg_h_hits = "Capaian"; char *msg_h_pages = "Muka"; char *msg_h_visits= "Lawatan"; char *msg_h_files = "Fail"; char *msg_h_sites = "Halaman"; char *msg_h_xfer = "KBait"; char *msg_h_hname = "Nama Hos"; char *msg_h_url = "URL"; char *msg_h_agent = "Agen Pengguna"; char *msg_h_ref = "Perujuk"; char *msg_h_ctry = "Negara"; char *msg_h_search= "Perkataan Carian"; char *msg_h_uname = "Katanama"; /* links along top of page */ char *msg_hlnk_ds = "Statistik Harian"; char *msg_hlnk_hs = "Statistik ikut Jam"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "Halaman"; char *msg_hlnk_a = "Agen"; char *msg_hlnk_c = "Negara"; char *msg_hlnk_r = "Perujuk"; char *msg_hlnk_en = "Masuk dari"; char *msg_hlnk_ex = "Keluar dari"; char *msg_hlnk_sr = "Carian"; char *msg_hlnk_i = "Pengguna"; /* monthly total table */ char *msg_mtot_ms = "Statistik Bulanan Untuk"; char *msg_mtot_th = "Jumlah Capaian"; char *msg_mtot_tf = "Jumlah Fail"; char *msg_mtot_tx = "Jumlah KBait"; char *msg_mtot_us = "Jumlah Halaman Unik"; char *msg_mtot_ur = "Jumlah Perujuk Unik"; char *msg_mtot_ua = "Jumlah Agen Pengguna Unik"; char *msg_mtot_uu = "Jumlah URL unik"; char *msg_mtot_ui = "Jumlah Katanama Unik"; char *msg_mtot_mhd= "Purata Capaian Sehari"; char *msg_mtot_mhh= "Purata Capaian Sejam"; char *msg_mtot_mfd= "Purata Fail Sehari"; char *msg_mtot_mpd= "Purata Halaman Sehari"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "Purata Lawatan Sehari"; char *msg_mtot_mkd= "Purata KBait Sehari"; char *msg_mtot_rc = "Purata Capaian mengikut Kod Respon"; /* daily total table */ char *msg_dtot_ds = "Statistik Harian untuk"; /* hourly total table */ char *msg_htot_hs = "Statistik mengikut Jam bagi"; /* country pie chart */ char *msg_ctry_use= "Penggunaan mengikut Negara bagi"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Antara"; char *msg_top_of = "yang Terbaik dari"; char *msg_top_s = "Jumlah Halaman"; char *msg_top_u = "Jumlah URL"; char *msg_top_r = "Jumlah Penujuk"; char *msg_top_a = "Jumlah Agen Pengguna"; char *msg_top_c = "Jumlah Negara"; char *msg_top_en = "Jumlah Halaman Masukan"; char *msg_top_ex = "Jumlah Halaman Keluar"; char *msg_top_sr = "Jumlah Katakunci Carian"; char *msg_top_i = "Jumlah Katanama"; char *msg_v_sites = "Lihat Semua Halaman"; char *msg_v_urls = "Lihat Semua URL"; char *msg_v_refs = "Lihat Semua Penunjuk"; char *msg_v_agents= "Lihat Semua Agen Pengguna"; char *msg_v_search= "Lihat Semua Katakunci Carian"; char *msg_v_users = "Lihat Semua Katanama"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"}; /* long month names - can be any length */ char *l_month[12]={ "Januari", "Februari", "March", "April", "Mei", "Jun", "July", "Ogos", "September","Oktober", "November","Disember"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Kod Respon tidak dapat ditakrif", 0 }, { "Code 100 - Teruskan", 0 }, { "Code 101 - Bertukar Protokol", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Dihasilkan", 0 }, { "Code 202 - Diterima", 0 }, { "Code 203 - Maklumat yang tidak dapat disahkan", 0 }, { "Code 204 - Maklumat Tiada", 0 }, { "Code 205 - Maklumat diset semula", 0 }, { "Code 206 - Maklumat tidak lengkap", 0 }, { "Code 300 - Pilihan Pelbagai", 0 }, { "Code 301 - Telah berpindah secara tetap", 0 }, { "Code 302 - Dijumpai", 0 }, { "Code 303 - Lihat yang lain", 0 }, { "Code 304 - Tidak Diubah", 0 }, { "Code 305 - Gunakan Proxy", 0 }, { "Code 307 - Telah berpindah sementara", 0 }, { "Code 400 - Permintaan Salah", 0 }, { "Code 401 - Tidak dibenarkan", 0 }, { "Code 402 - Bayaran diperlukan", 0 }, { "Code 403 - Capaian Disekat", 0 }, { "Code 404 - Tidak Dijumpai", 0 }, { "Code 405 - Method Tidak Dibenarkan", 0 }, { "Code 406 - Tidak Boleh Diterima", 0 }, { "Code 407 - Pengesahan Proxy Diperlukan", 0 }, { "Code 408 - Masa Permintaan Tamat", 0 }, { "Code 409 - Konflik", 0 }, { "Code 410 - Hilang", 0 }, { "Code 411 - Panjang Diperlukan", 0 }, { "Code 412 - Keadaan Awal Gagal", 0 }, { "Code 413 - Permintaan Entiti Terlalu Besar", 0 }, { "Code 414 - Permintaan URI Terlalu Panjang", 0 }, { "Code 415 - Jenis Media Tidak Disokong", 0 }, { "Code 416 - Julat Permintaan Tidak Dibenarkan", 0 }, { "Code 417 - Anggapan Gagal", 0 }, { "Code 500 - Ralat Dalaman Bagi Pelayan", 0 }, { "Code 501 - Tidak Diimplemen", 0 }, { "Code 502 - Gateway Gagal", 0 }, { "Code 503 - Perkhidmatan Tiada", 0 }, { "Code 504 - Masa Tamat Bagi Gateway", 0 }, { "Code 505 - Versi HTTP Tidak Disokong", 0 } }; char *msg_title = "Statistik Penggunaan bagi"; char *msg_h_other = "Lain-lain"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Tidak Diketahui", 0,0,0 }, { IDX_3C('c','o','m'), "Komersil (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Pendidikan (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Kerajaan US (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Antarabangsa (int)", 0,0,0 }, { IDX_3C('m','i','l'), "Ketenteraan US (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Rangkaian (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organisasi Tidak Komersil (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Gaya Lama Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Pulau Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Republik Tengah Afrika", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.norwegian�����������������������������������������������������0000644�0001750�0001750�00000110320�11032527214�020063� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.norwegian Webalizer V2.0x Language Support file for norwegian. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 03-Oct-1998 Swedish Translation by Daniel Bergstrom (daniel@bergstrom.net) 28-Oct-1998 Lots of typos fixed, Daniel Bergstrom (daniel@bergstrom.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 26-Apr-1999 More typos fixed, thanks to "Mika PerДlД" <mika@unit.liu.se> (daniel@bergstrom.net) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 14-Oct-1999 Additional translation by Daved Cross (daved.cross@forefront.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 01-Jun-2000 Modified/corrected by Joaquim Homrighausen (joho@webbplatsen.se) 10-Nov-1999 Translated to Norwegian HЕkon FlatЬy (hakon@flatoy.com) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Please fix all typos, or drop me a note and i will fix it and submit patches upstream. /daniel Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Norwegian"; char *langcode = "no"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "poster"; char *msg_addresses="adresser"; char *msg_ignored = "ignorerte"; char *msg_bad = "feilaktige"; char *msg_in = "i"; char *msg_seconds = "sekunder"; /* progress and setup error messages */ char *msg_log_err = "Feil: kan ikke Еpne loggfilen"; char *msg_log_use = "Bruker loggfil"; char *msg_dir_err = "Feil: kan ikke skifte katalog til"; char *msg_dir_use = "Oppretter utdata i"; char *msg_cur_dir = "aktuell katalog"; char *msg_hostname= "Maskinnavn for rapportene er"; char *msg_ign_hist= "Ignorerer tidigere historie..."; char *msg_no_hist = "Fant ikke historiefilen..."; char *msg_get_hist= "Leser historiefil..."; char *msg_put_hist= "Lagrer historieinformasjon..."; char *msg_hist_err= "Feil: kan ikke skrive til historefil"; char *msg_bad_hist= "Feil: Ignorerer feilaktig historiepost"; char *msg_bad_conf= "Feil: Kan ikke Еpne konfigurasjonsfilen"; char *msg_bad_key = "Advarsel: ugyldig nЬkkelord"; char *msg_bad_date= "Feil: hopper over post (feilaktig dato)"; char *msg_ign_nscp= "Hopper over Netscape-spesifikk innledningsrad"; char *msg_bad_rec = "Hopper over feilaktig post"; char *msg_no_vrec = "Fant ingen gyldige poster!"; char *msg_gen_rpt = "Genererer rapport for"; char *msg_gen_sum = "Genererar oversiktsinformasjon"; char *msg_get_data= "Leser tidligere genererte data..."; char *msg_put_data= "Lagrer data fra denne generering..."; char *msg_no_data = "Fant ikke tidligere genererte data..."; char *msg_bad_data= "Feil: kan ikke gjenopprette lagret data"; char *msg_data_err= "Feil: kan ikke lagre data for denne genereringen"; char *msg_dup_data= "Advarsel: Mulige dobble oppfЬringer funnet"; /* DNS Stuff */ char *msg_dns_nocf= "Ingen cachefil spesifisert..."; char *msg_dns_nodb= "Feil: Kan ikke Еpne DNS-cachefilen"; char *msg_dns_nolk= "Feil: Kan ikke lЕse DNS-cachefilen"; char *msg_dns_usec= "Bruker DNS-cachefilen"; char *msg_dns_rslv= "DNS Anrop"; char *msg_dns_none= "Ingen ting Е bearbeide"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Kan ikke allokere minne, stenger av 'Top sites'"; char *msg_nomem_tr= "Kan ikke allokere minne, stenger av 'Top referrers'"; char *msg_nomem_tu= "Kan ikke allokere minne, stenger av 'Top URLs'"; char *msg_nomem_tc= "Kan ikke allokere minne, stenger av 'Top Countries'"; char *msg_nomem_ta= "Kan ikke allokere minne, stenger av 'Top User Agents'"; char *msg_nomem_tsr="Kan ikke allokere minne, stenger av 'Top Search Strings'"; char *msg_nomem_ti= "Kan ikke allokere minne, stenger av 'Top Usernames'"; char *msg_nomem_dh= "Feil ved tillegging av dato i listen (daglig), hopper over"; char *msg_nomem_mh= "Feil ved tillegging av dato i listen (mЕnedlig), hopper over"; char *msg_nomem_u = "Feil ved tillegging av URL i listen, hopper over"; char *msg_nomem_a = "Feil ved tillegging av klienttype i listen, hopper over"; char *msg_nomem_r = "Feil ved tillegging av henvisning i listen, hopper over"; char *msg_nomem_sc= "Feil ved tillegging av sЬkestreng, hopper over"; char *msg_nomem_i = "Feil ved tillegging av brukernavn, hopper over"; /* log record errors */ char *msg_big_rec = "Feil: hopper over for stor post i loggfil"; char *msg_big_host= "Advarsel: Tilpasser (kapper) for langt datonavn"; char *msg_big_date= "Advarsel: Tilpasser (kapper) for langt datofelt"; char *msg_big_req = "Advarsel: Tilpasser (kapper) for langt spЬrrefelt"; char *msg_big_ref = "Advarsel: Tilpasser (kapper) for langt henvisningsfelt"; char *msg_big_user= "Advarsel: Tilpasser (kapper) for langt brukernavn"; char *msg_big_one = "Advarsel: Streng overskrider stЬrrelsen pЕ lagringsplass"; /* misc errors */ char *msg_no_open = "Feil: kan ikke Еpne fil"; /* Help display... */ char *h_usage1 = "Bruk"; char *h_usage2 = "[flaggor] [loggfil]"; char *h_msg[]= { "-h = skriv hjelpetekst" , "-V = skriv versjonsinforasjon" , "-v = be verbose" , "-d = skriv ytterligere debuginformasjon" , "-F typ = Loggtype. type= (clf | ftp | squid | w3c)" , "-f = hantere sekvensfeil" , "-i = ignorerer historiefilen" , "-p = bevar tillstand (inkrementell)" , "-b = ignore state (incremental)" , "-q = vis ikke informasjonsbeskjeder" , "-Q = vis ikke noe informasjon" , "-Y = ikke opprettgraf for land" , "-G = ikke opprett graf for timmar" , "-H = ikke opprett statistikk for timmar" , "-L = ikke opprett fargekodet grafer" , "-l num = opprett 'num' referenslinjer for grafer" , "-m num = Verdi for timeout for besЬk (sekunder)" , "-T = skriv informasjon om tidsbruk" , "-c fil = bruk konfigurasjonsfilen 'fil'" , "-n navn = datonavn som skal brukes" , "-o katalog = katalog for utskrift" , "-t navn = bruk 'navn' som tittel" , "-a navn = skjul brukernavn 'navn'" , "-r navn = skjul henvisning 'navn'" , "-s navn = skjul klientadresse 'navn'" , "-u navn = skjul URL 'navn'" , "-x navn = Bruk filnavnsending 'navn'" , "-O navn = Omit page 'navn'" , "-P navn = Endelse for sidefiler 'navn'" , "-I navn = ha 'navn' som alias till index.html" , "-K antall = vis 'antall' months in summary table" , "-k antall = vis 'andall' months in summary graph" , "-A antall = vis 'antall' i listen over klienter" , "-C antall = vis 'antall' i listen over land" , "-R antall = vis 'antall' i listen over henvisninger" , "-S antall = vis 'antall' i fraadresse-listen" , "-U antall = vis 'antall' i listen over URL-er" , "-e antall = Vis 'antall' i listen over startsider" , "-E antall = Vis 'antall' i listen over sluttsider" , "-g antall = Group Domains to 'antall' levels" , "-X = Skjul indiveduelle plasser" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D navn = Bruk DNS-cachfil 'navn'" , "-N num = Antall DNS-processer (0=stДng av)" , "-j = Enable native GeoDB lookups" , "-J navn = Use GeoDB database 'navn'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W navn = Use GeoIP database 'navn'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Periode for summering"; char *msg_hhdr_gt = "Opprettet"; /* main index strings */ char *msg_main_us = "Summering for"; /* char *msg_main_per= "Siste 12 mЕnedene"; */ char *msg_main_per= "Summering mЕned for mЕned"; char *msg_main_sum= "Summering mЕned for mЕned"; char *msg_main_da = "Snitt over dagen"; char *msg_main_mt = "Summer pr. mЕned"; /* month HTML page strings */ char *msg_hmth_du = "Daglig bruk for"; char *msg_hmth_hu = "Bruk time for time for"; /* table header strings */ char *msg_h_by = "Av"; char *msg_h_avg = "Snitt"; char *msg_h_max = "Maks"; char *msg_h_total = "Total"; char *msg_h_totals= "Totaler"; char *msg_h_day = "Dag"; char *msg_h_mth = "MЕned"; char *msg_h_hour = "Time"; char *msg_h_hits = "Treff"; char *msg_h_pages = "Sider"; char *msg_h_visits= "BesЬk"; char *msg_h_files = "Filer"; char *msg_h_sites = "Klientadresser"; char *msg_h_xfer = "kilobyte"; char *msg_h_hname = "Servernavn"; char *msg_h_url = "URL"; char *msg_h_agent = "Klienttype"; char *msg_h_ref = "Referent"; char *msg_h_ctry = "Land"; char *msg_h_search= "SЬkstreng"; char *msg_h_uname = "Brukernavn"; /* links along top of page */ char *msg_hlnk_ds = "Daglig statistikkk"; char *msg_hlnk_hs = "Statistikkk time for time"; char *msg_hlnk_u = "URLer"; char *msg_hlnk_s = "Klientadresser"; char *msg_hlnk_a = "Klienttyper"; char *msg_hlnk_c = "Land"; char *msg_hlnk_r = "Referanser"; char *msg_hlnk_en = "Inngang"; char *msg_hlnk_ex = "Utgang"; char *msg_hlnk_sr = "SЬk"; char *msg_hlnk_i = "Brukere"; /* monthly total table */ char *msg_mtot_ms = "MЕnedlig statistikk for"; char *msg_mtot_th = "Totalt antall treff"; char *msg_mtot_tf = "Totalt antall filer"; char *msg_mtot_tx = "Totalt antall kilobytes"; char *msg_mtot_us = "Totalt antall unike klientadresser"; char *msg_mtot_ur = "Totalt antall unike henvisninger"; char *msg_mtot_ua = "Totalt antall unike klienttyper"; char *msg_mtot_uu = "Totalt antall unike URLer"; char *msg_mtot_ui = "Totalt antall unike brukernavn"; char *msg_mtot_mhd= "Treff per dag"; char *msg_mtot_mhh= "Treff per time"; char *msg_mtot_mfd= "Filer per dag"; char *msg_mtot_mpd= "Sider per dag"; char *msg_mtot_msd= "Klientadresser per dag"; char *msg_mtot_mvd= "BesЖk per dag"; char *msg_mtot_mkd= "Kilobytes per dag"; char *msg_mtot_rc = "Treff sortert etter responskode"; /* daily total table */ char *msg_dtot_ds = "Daglig statistikk for"; /* hourly total table */ char *msg_htot_hs = "Statistikk time for time for"; /* country pie chart */ char *msg_ctry_use= "Statsistik sortert etter land for"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Vanligste"; char *msg_top_of = "utav totalt"; char *msg_top_s = "sider"; char *msg_top_u = "URLer"; char *msg_top_r = "henvisniger"; char *msg_top_a = "klienttyper"; char *msg_top_c = "land"; char *msg_top_en = "totalt inngangssider"; char *msg_top_ex = "totalt utgangssider"; char *msg_top_sr = "totalt sЬkestrenger"; char *msg_top_i = "totalt brukernavn"; char *msg_v_sites = "View All Sites"; char *msg_v_urls = "View All URLs"; char *msg_v_refs = "View All Referrers"; char *msg_v_agents= "View All User Agents"; char *msg_v_search= "View All Search Strings"; char *msg_v_users = "View All Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"}; /* long month names - can be any length */ char *l_month[12]={ "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September","Oktober", "November","Desember"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Oidentifierad svarskod", 0 }, { "Kode 100 - Fortsett", 0 }, { "Kode 101 - Bytter protokoll", 0 }, { "Kode 200 - OK", 0 }, { "Kode 201 - Opprettet", 0 }, { "Kode 202 - Akseptert", 0 }, { "Kode 203 - Ikke-authorativ informasjon", 0 }, { "Kode 204 - Ikke noe innehold", 0 }, { "Kode 205 - Tilbakestiller innehold", 0 }, { "Kode 206 - Partiellt innehold", 0 }, { "Kode 300 - Flervalg", 0 }, { "Kode 301 - Permanent flyttet", 0 }, { "Kode 302 - Funnet", 0 }, { "Kode 303 - Se annen", 0 }, { "Kode 304 - Uforandret", 0 }, { "Kode 305 - Bruk proxy", 0 }, { "Kode 307 - Tilfeldig flyttet", 0 }, { "Kode 400 - Feilaktig forespЬrsel", 0 }, { "Kode 401 - Ikke autorisert", 0 }, { "Kode 402 - Betaling kreves", 0 }, { "Kode 403 - ikke tillatt", 0 }, { "Kode 404 - Ikke funnet", 0 }, { "Kode 405 - Metode ikke tillatt", 0 }, { "Kode 406 - Ikke aksepterbar", 0 }, { "Kode 407 - Verifiering fra proxy kreves", 0 }, { "Kode 408 - ForespЬrselen gikk over tiden", 0 }, { "Kode 409 - Konflikt", 0 }, { "Kode 410 - Borte", 0 }, { "Kode 411 - Trenger lengde", 0 }, { "Kode 412 - VilkЕr misslyktes", 0 }, { "Kode 413 - ForespЬrselsenhet for stor", 0 }, { "Kode 414 - ForespЬrrsels-URL for lang", 0 }, { "Kode 415 - Medietype ikke stЬttet", 0 }, { "Kode 416 - Forespurt intervall ikke tilgjengelig", 0 }, { "Kode 417 - Expectation Failed", 0 }, { "Kode 500 - Intern serverfeil", 0 }, { "Kode 501 - Ikke implementert", 0 }, { "Kode 502 - Feil gateway", 0 }, { "Kode 503 - Tjenesten utilgjengelig", 0 }, { "Kode 504 - Gateway gikk over tiden", 0 }, { "Kode 505 - denne HTTP-versionen stЬttes ikke", 0 } }; char *msg_title = "Statistikk over bruk for"; char *msg_h_other = "Annen"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Ikke oppslЕtt/ukjent", 0,0,0 }, { IDX_3C('c','o','m'), "Kommersiell (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Utdanning (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "USA, staten (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internasjonalt (int)", 0,0,0 }, { IDX_3C('m','i','l'), "USA, militФr (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Nettverk (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Ideell organisasjon (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Forenede Arabiske Emirater", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Nederland", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktis", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Amerikansk Samoa", 0,0,0 }, { IDX_2C('a','t'), "ьsterrike", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbadjan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "CocosЬyene", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Sentralafrikanske republikk", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Sveits", 0,0,0 }, { IDX_2C('c','i'), "Elfensbenkysten", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "Kina", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "JulЖn", 0,0,0 }, { IDX_2C('c','y'), "Cypros", 0,0,0 }, { IDX_2C('c','z'), "Tsjekkia", 0,0,0 }, { IDX_2C('d','e'), "Tyskland", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominikanske Republikk", 0,0,0 }, { IDX_2C('d','z'), "Algeri", 0,0,0 }, { IDX_2C('e','c'), "Equador", 0,0,0 }, { IDX_2C('e','e'), "Estland", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Vestsahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spania", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "FalklandsЬyene", 0,0,0 }, { IDX_2C('f','m'), "Mikronesia", 0,0,0 }, { IDX_2C('f','o'), "FaraoЬyene", 0,0,0 }, { IDX_2C('f','r'), "Frankrike", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "England", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Franska Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "GrЬnnland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Ekvatorialguinea", 0,0,0 }, { IDX_2C('g','r'), "Hellas", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia och S. SandwichЬyene", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard- och McDonaldЬyene", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Kroatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Ungarn" , 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Irland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Island", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordanien", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kirgistan", 0,0,0 }, { IDX_2C('k','h'), "Kambodja", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts och Nevis", 0,0,0 }, { IDX_2C('k','p'), "Nordkorea", 0,0,0 }, { IDX_2C('k','r'), "Sydkorea", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "CaymanЬyene", 0,0,0 }, { IDX_2C('k','z'), "Kazachstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Litauen", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Lettland", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Marocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldavia", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Malagasy", 0,0,0 }, { IDX_2C('m','h'), "MarshallЬyene", 0,0,0 }, { IDX_2C('m','k'), "Makedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Norra MarianaЬyene", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldivene", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "MoГambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Nye Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Nederland", 0,0,0 }, { IDX_2C('n','o'), "Norge", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nye Zeeland", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Fransk Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua Nya Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filippinene", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polen", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre och Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russland", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudiarabia", 0,0,0 }, { IDX_2C('s','b'), "SolomonЬyene", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sverige", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenien", 0,0,0 }, { IDX_2C('s','j'), "Svalbard och Jan Mayen-Ьyene", 0,0,0 }, { IDX_2C('s','k'), "Slovakien", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome och Principe", 0,0,0 }, { IDX_2C('s','u'), "Sovjet (tidligere)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks och CaicosЬyene", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "SЬndre Fransk territorier", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisien", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "ьst-timor", 0,0,0 }, { IDX_2C('t','r'), "Tyrkia", 0,0,0 }, { IDX_2C('t','t'), "Trinidad og Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Storbritannia", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "USA", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatikanstaten", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent och Grenadinerna", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin-Ьyene (Britiske)", 0,0,0 }, { IDX_2C('v','i'), "Virgin-Ьyene (Amerikanske)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis och FutunaЬyene", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Jugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Sydafrika", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.polish��������������������������������������������������������0000644�0001750�0001750�00000110243�11032527214�017374� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.polish Webalizer V2.0x Language Support file for Polish. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 08-Jun-1998 Translated by Dariusz P. Pawlak (darekp@lib.amu.edu.pl) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 27-Jan-2000 Some translation fixes and updates by Jerzy Hodor (jh@rsi.pl) 30-Jan-2000 Country code corrections by Bohdan Horst (nexus@hoth.amu.edu.pl) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 20-Mar-2000 Translation updates by Piotr Klaban (makler@man.torun.pl) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Polish"; char *langcode = "pl"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* te s╠ u©ywane tylko w podsumowaniach */ /* Format: XXX rekordСw (XXX zignorowano, XXX zЁych) w ci╠gu X.XX sekund */ char *msg_records = "zapisСw"; char *msg_addresses="adres(Сw)"; char *msg_ignored = "opuszczono"; char *msg_bad = "zЁy(ch)"; char *msg_in = "w"; char *msg_seconds = "sekund"; /* progress and setup error messages */ char *msg_log_err = "BЁ╠d: Nie mogЙ otworzyФ pliku logu"; char *msg_log_use = "U©ywam pliku logu"; char *msg_dir_err = "BЁ╠d: Nie mogЙ zmieniФ katalogu na"; char *msg_dir_use = "TworzЙ wynik w"; char *msg_cur_dir = "bie©╠cym katalogu"; char *msg_hostname= "Raport tworzony dla hosta"; char *msg_ign_hist= "IgnorujЙ poprzedni╠ historiЙ..."; char *msg_no_hist = "Nie znalazЁem pliku historii..."; char *msg_get_hist= "Czytam plik historii..."; char *msg_put_hist= "ZapisujЙ informacjЙ historii..."; char *msg_hist_err= "BЁ╠d: Nie mogЙ zapisaФ pliku historii"; char *msg_bad_hist= "BЁ╠d: Pomijam bЁЙdny zapis historii"; char *msg_bad_conf= "BЁ╠d: Nie mogЙ otworzyФ pliku konfiguracyjnego"; char *msg_bad_key = "Ostrze©enie: BЁЙdne sЁowo kluczowe"; char *msg_bad_date= "BЁ╠d: Pomijam rekord (bЁЙdna data)"; char *msg_ign_nscp= "Pomijam nagЁСwek rekordu Netscepe'a"; char *msg_bad_rec = "Pomijam bЁЙdny zapis"; char *msg_no_vrec = "Nie znalazЁem prawidЁowych rekordСw!"; char *msg_gen_rpt = "GenerujЙ raport dla"; char *msg_gen_sum = "GenerujЙ raport sumaryczny"; char *msg_get_data= "Czytam dane z poprzedniego uruchomienia..."; char *msg_put_data= "ZapisujЙ dane z bie©╠cego uruchomienia..."; char *msg_no_data = "Nie znalazЁem danych z poprzedniego uruchomienia..."; char *msg_bad_data= "BЁ╠d: Nie mogЙ odczytaФ danych z poprzedniego uruchomienia"; char *msg_data_err= "BЁ╠d: Nie mogЙ zapisaФ danych z bie©╠cego uruchomienia"; char *msg_dup_data= "Ostrze©enie: Prawdopodobnie znalazЁem zdublowane dane"; /* DNS Stuff */ char *msg_dns_nocf= "Nie podano pliku buforuj╠cego, przerywam dziaЁanie..."; char *msg_dns_nodb= "BЁ╠d: Nie mogЙ otworzyФ pliku buforuj╠cego DNS"; char *msg_dns_nolk= "BЁ╠d: Nie mogЙ zablokowaФ pliku buforuj╠cego DNS"; char *msg_dns_usec= "WykorzystujЙ plik buforuj╠cy DNS"; char *msg_dns_rslv= "PrzeszukujЙ DNS"; char *msg_dns_none= "Brak adresСw IP do przetworzenia"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nie mogЙ przydzieliФ pamiЙci, najczЙstsze lokalizacje anulowane!"; char *msg_nomem_tr= "Nie mogЙ przydzieliФ pamiЙci, najczЙstsze odno╤niki anulowane!"; char *msg_nomem_tu= "Nie mogЙ przydzieliФ pamiЙci, najczЙstsze URLe anulowane!"; char *msg_nomem_tc= "Nie mogЙ przydzieliФ pamiЙci, najczЙstsze kraje anulowane!"; char *msg_nomem_ta= "Nie mogЙ przydzieliФ pamiЙci, najczЙ╤ciej u©ywane przegl╠darki anulowane!"; char *msg_nomem_tsr="Nie mogЙ przydzieliФ pamiЙci, najczЙ╤ciej szukane sЁowa anulowane!"; char *msg_nomem_ti= "Nie mogЙ przydzieliФ pamiЙci, najczЙstsze poЁ╠czenia u©ytkownikСw anulowane!"; char *msg_nomem_dh= "BЁ╠d w trakcie dodawania kolejnego hosta (dzienne), pomijam"; char *msg_nomem_mh= "BЁ╠d w trakcie dodawania kolejnego hosta (miesiЙczne), pomijam"; char *msg_nomem_u = "BЁ╠d w trakcie dodawania kolejnego URLa, pomijam"; char *msg_nomem_a = "BЁ╠d w trakcie dodawania kolejnego przegl╠darki, pomijam"; char *msg_nomem_r = "BЁ╠d w trakcie dodawania kolejnego odno╤nika, pomijam"; char *msg_nomem_sc= "BЁ╠d w trakcie dodawania kolejnego szukanego sЁowa, pomijam"; char *msg_nomem_i = "BЁ╠d w trakcie dodawania kolejnego u©ytkownika, pomijam"; /* log record errors */ char *msg_big_rec = "BЁ╠d: Pomijam zbyt du©y zapis logu"; char *msg_big_host= "Ostrze©enie: Obcinam, przekroczona wielko╤Ф nazwy hosta"; char *msg_big_date= "Ostrze©enie: Obcinam, przekroczona wielko╤Ф pola daty"; char *msg_big_req = "Ostrze©enie: Obcinam, przekroczona wielko╤Ф pola ©╠dania"; char *msg_big_ref = "Ostrze©enie: Obcinam, przekroczona wielko╤Ф pola odno╤nika"; char *msg_big_user= "Ostrze©enie: Obcinam, przekroczona dЁugo╤Ф nazwy u©ytkownika"; char *msg_big_one = "Ostrze©enie: Napis przekracza dopuszczaln╠ wielko╤Ф"; /* misc errors */ char *msg_no_open = "BЁ╠d: Nie mogЙ otworzyФ pliku"; /* Help display... */ char *h_usage1 = "U©ycie"; char *h_usage2 = "[opcje] [plik logu]"; char *h_msg[]= { "-h = wy╤wietla te informacje" , "-V = wy╤wietla informacje o wersji" , "-v = be verbose" , "-d = wy╤wietla dodatkowe informacje" , "-F typ = typ logu. typ= (clf | ftp | squid | w3c)", "-f = zignoruj bЁЙdy czasu kolejnych wywoЁaЯ", "-i = pomija plik historii" , "-p = zachowuje stan (przyrostowy)" , "-b = ignore state (incremental)" , "-q = wyЁ╠cza komunikaty informacyjne" , "-Q = wyЁ╠cza wszystkie komunikaty" , "-Y = wyЁ╠cza wykres krajСw" , "-G = wyЁ╠cza wykres godzinny" , "-H = wyЁ╠cza statystykЙ godzinn╠" , "-L = wyЁ╠cza kolorowe sЁupki ledendy" , "-l num = wЁ╠cza num linii w tle wykresСw" , "-m num = czas pojedynczej wizyty (seconds)" , "-T = wy╤wietla informacje czasowe" , "-c plik = u©ywa pliku konfiguracyjnego 'plik'" , "-n nazwa = u©ywana nazwa hosta" , "-o katalog= katalog u©ywany do zapisu" , "-t nazwa = tytuЁ 'nazwa' dla raportu" , "-a nazwa = ukrywa program klienta 'nazwa'" , "-r nazwa = ukrywa odno╤nik 'nazwa'" , "-s nazwa = ukrywa lokalizacjЙ 'nazwa'" , "-u nazwa = ukrywa URL 'nazwa'" , "-x nazwa = stosuje pliki o rozszerzeniu 'nazwa'", "-O nazwa = Omit page 'nazwa'" , "-P nazwa = strony o rozszerzeniu 'nazwa'" , "-I nazwa = inna nazwa plikСw index.*: 'nazwa'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = wy╤wietla num najczЙstszych przegl╠darek", "-C num = wy╤wietla num najczЙstszych krajСw" , "-R num = wy╤wietla num najczЙstszych odno╤nikСw", "-S num = wy╤wietla num najczЙstszych lokalizacji", "-U num = wy╤wietla num najczЙstszych URLi" , "-e num = wy╤wietla num najczЙstszych stron wej╤ciowych" , "-E num = wy╤wietla num najczЙstszych stron wyj╤ciowych" , "-g num = grupuj domeny do poziomu 'num'" , "-X = ukryj pojedyncze lokalizacje" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nazwa = u©ywaj pliku buforuj╠cego DNS 'nazwa'", "-N num = liczba procesСw DNS (0=wyЁ╠cz)" , "-j = Enable native GeoDB lookups" , "-J nazwa = Use GeoDB database 'nazwa'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nazwa = Use GeoIP database 'nazwa'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Prezentowany okres"; char *msg_hhdr_gt = "Wygenerowano"; /* main index strings */ char *msg_main_us = "Raport sumaryczny"; /* char *msg_main_per= "Ostatnie 12 miesiЙcy"; */ char *msg_main_per= "Sumarycznie w miesi╠cu:"; char *msg_main_sum= "Sumarycznie w miesi╠cu:"; char *msg_main_da = "╕rednio dziennie"; char *msg_main_mt = "OgСlnie w miesi╠cu: "; /* month HTML page strings */ char *msg_hmth_du = "Raport Dzienny - "; char *msg_hmth_hu = "Raport Godzinowy - "; /* table header strings */ char *msg_h_by = "uszeregowane wg"; char *msg_h_avg = "╕rednio"; char *msg_h_max = "Maks."; char *msg_h_total = "Wszystkie"; char *msg_h_totals= "Suma"; char *msg_h_day = "DzieЯ"; char *msg_h_mth = "Miesi╠c"; char *msg_h_hour = "Godzina"; char *msg_h_hits = "WywoЁania"; char *msg_h_pages = "Strony"; char *msg_h_visits= "Wizyty"; char *msg_h_files = "Pliki"; char *msg_h_sites = "Lokalizacje"; char *msg_h_xfer = "KB"; char *msg_h_hname = "Nazwa hosta"; char *msg_h_url = "URL"; char *msg_h_agent = "Przegl╠darka"; char *msg_h_ref = "Odno╤niki"; char *msg_h_ctry = "Kraj"; char *msg_h_search= "Wyszukiwany ci╠g znakСw"; char *msg_h_uname = "U©ytkownik"; /* links along top of page */ char *msg_hlnk_ds = "Statystyki dzienne"; char *msg_hlnk_hs = "Statystyki godzinne"; char *msg_hlnk_u = "URL'e"; char *msg_hlnk_s = "Lokalizacje"; char *msg_hlnk_a = "Przegl╠darki"; char *msg_hlnk_c = "Kraje"; char *msg_hlnk_r = "Odno╤niki"; char *msg_hlnk_en = "Wej╤cia"; char *msg_hlnk_ex = "Wyj╤cia"; char *msg_hlnk_sr = "Poszukiwane"; char *msg_hlnk_i = "U©ytkownicy"; /* monthly total table */ char *msg_mtot_ms = "Statystyka w miesi╠cu:"; char *msg_mtot_th = "CaЁkowita liczba wywoЁaЯ"; char *msg_mtot_tf = "CaЁkowita liczba plikСw"; char *msg_mtot_tx = "CaЁkowita liczba KB"; char *msg_mtot_us = "CaЁkowita liczba unikalnych lokalizacji"; char *msg_mtot_ur = "CaЁkowita liczba unikalnych odno╤nikСw"; char *msg_mtot_ua = "CaЁkowita liczba unikalnych przegl╠darek"; char *msg_mtot_uu = "CaЁkowita liczba unikalnych URLi"; char *msg_mtot_ui = "CaЁkowita liczba unikalnych u©ytkownikСw"; char *msg_mtot_mhd= "WywoЁaЯ dziennie"; char *msg_mtot_mhh= "WywoЁaЯ na godzinЙ"; char *msg_mtot_mfd= "PlikСw dziennie"; char *msg_mtot_mpd= "Stron dziennie"; char *msg_mtot_msd= "Lokalizacji dziennie"; char *msg_mtot_mvd= "Wizyt dziennie"; char *msg_mtot_mkd= "KilobajtСw dziennie"; char *msg_mtot_rc = "WywoЁania wedЁug kodu odpowiedzi"; /* daily total table */ char *msg_dtot_ds = "Dzienne statystyki - "; /* hourly total table */ char *msg_htot_hs = "Godzinowe statystyki - "; /* country pie chart */ char *msg_ctry_use= "OdwoЁania wg krajСw - "; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Pierwsze"; char *msg_top_of = "z ogСlnej liczby"; char *msg_top_s = "lokalizacji"; char *msg_top_u = "URLi"; char *msg_top_r = "odno╤nikСw"; char *msg_top_a = "przegl╠darek"; char *msg_top_c = "krajСw"; char *msg_top_en = "stron wej╤ciowych"; char *msg_top_ex = "stron wyj╤ciowych"; char *msg_top_sr = "szukanych ci╠gСw znakСw"; char *msg_top_i = "u©ytkownikСw"; char *msg_v_sites = "Podgl╠d wszystkich lokalizacji"; char *msg_v_urls = "Podgl╠d wszystkich URL'i"; char *msg_v_refs = "Podgl╠d wszystkich odno╤nikСw"; char *msg_v_agents= "Podgl╠d wszystkich przegl╠darek"; char *msg_v_search= "Podgl╠d wszystkich ci╠gСw znakСw"; char *msg_v_users = "Podgl╠d wszystkich u©ytkownikСw"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa╪", "Lis", "Gru"}; /* long month names - can be any length */ char *l_month[12]={ "styczeЯ", "luty", "marzec", "kwiecieЯ", "maj", "czerwiec", "lipiec", "sierpieЯ", "wrzesieЯ", "pa╪dziernik", "listopad", "grudzieЯ"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Niezdefiniowany kod odpowiedzi", 0 }, { "Code 100 - Kontynuuj", 0 }, { "Code 101 - Zmieniam protokoЁy", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Utworzono", 0 }, { "Code 202 - Zaakceptowano", 0 }, { "Code 203 - Niewiarygodna informacja", 0 }, { "Code 204 - Brak zawarto╤ci", 0 }, { "Code 205 - KasujЙ zawarto╤Ф", 0 }, { "Code 206 - CzЙ╤ciowa zawarto╤Ф", 0 }, { "Code 300 - Wielokrotny wybСr", 0 }, { "Code 301 - Przeniesiono na staЁe", 0 }, { "Code 302 - Przeniesiono tymczasowo", 0 }, { "Code 303 - Zobacz inne", 0 }, { "Code 304 - Niezmodyfikowany", 0 }, { "Code 305 - U©yj proxy", 0 }, { "Code 307 - Tymczasowe przekierowanie", 0 }, { "Code 400 - BЁЙdne ©╠danie", 0 }, { "Code 401 - Nieautoryzowany", 0 }, { "Code 402 - ╞╠dana zapЁata", 0 }, { "Code 403 - Zakazane", 0 }, { "Code 404 - Nie znaleziono", 0 }, { "Code 405 - Nieuznawana metoda", 0 }, { "Code 406 - Nie akceptowane", 0 }, { "Code 407 - NiezbЙdna autentykacja przez proxy", 0 }, { "Code 408 - Czas zapytania min╠Ё", 0 }, { "Code 409 - Konflikt", 0 }, { "Code 410 - Ju© niedostЙpne", 0 }, { "Code 411 - Wymagana dЁugo╤Ф", 0 }, { "Code 412 - Warunki niespeЁnione", 0 }, { "Code 413 - Zapytanie za du©e", 0 }, { "Code 414 - Zapytanie URI za dЁugie", 0 }, { "Code 415 - NieobsЁugiwany typ no╤nika", 0 }, { "Code 416 - Zapytanie-Zakres niedostЙpny", 0 }, { "Code 417 - Warunek niespeЁniony", 0 }, { "Code 500 - WewnЙtrzny bЁ╠d serwera", 0 }, { "Code 501 - Niezaimplementowane", 0 }, { "Code 502 - ZЁa brama", 0 }, { "Code 503 - Serwis niedostЙpny", 0 }, { "Code 504 - UpЁyn╠Ё czas bramkowania", 0 }, { "Code 505 - NieobsЁugiwana wersja HTTP", 0 } }; char *msg_title = "Statystyki serwera dla"; char *msg_h_other = "Inne"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nieznany", 0,0,0 }, { IDX_3C('c','o','m'), "Komercyjna (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Edukacyjna (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Rz╠dowa USA (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "MiЙdzynarodowa (int)", 0,0,0 }, { IDX_3C('m','i','l'), "Wojskowa USA (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "SieФ (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizacja niekomercyjna (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Stara Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"SieФ NATO", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Zjednoczone Emiraty Arabskie", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua i Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Antyle Holenderskie", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktyka", 0,0,0 }, { IDX_2C('a','r'), "Argentyna", 0,0,0 }, { IDX_2C('a','s'), "Samoa AmerykaЯskie", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbejd©an", 0,0,0 }, { IDX_2C('b','a'), "Bo╤nia i Hercegowina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesz", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "BuЁgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermudy", 0,0,0 }, { IDX_2C('b','n'), "Brunei", 0,0,0 }, { IDX_2C('b','o'), "Boliwia", 0,0,0 }, { IDX_2C('b','r'), "Brazylia", 0,0,0 }, { IDX_2C('b','s'), "Wyspy Bahama", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Wyspa Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "BiaЁoru╤", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Wyspy Kokosowe", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Republika ╕rodkowoafrykaЯska", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Szwajcaria", 0,0,0 }, { IDX_2C('c','i'), "Wybrze©e Ko╤ci SЁoniowej", 0,0,0 }, { IDX_2C('c','k'), "Wyspy Cooka", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "Chiny", 0,0,0 }, { IDX_2C('c','o'), "Kolumbia", 0,0,0 }, { IDX_2C('c','r'), "Kostaryka", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Wyspy Zielonego Przyl╠dka", 0,0,0 }, { IDX_2C('c','x'), "Wyspa Bo©ego Narodzenia", 0,0,0 }, { IDX_2C('c','y'), "Cypr", 0,0,0 }, { IDX_2C('c','z'), "Czechy", 0,0,0 }, { IDX_2C('d','e'), "Niemcy", 0,0,0 }, { IDX_2C('d','j'), "D©ibuti", 0,0,0 }, { IDX_2C('d','k'), "Dania", 0,0,0 }, { IDX_2C('d','m'), "Dominika", 0,0,0 }, { IDX_2C('d','o'), "Dominikana", 0,0,0 }, { IDX_2C('d','z'), "Algieria", 0,0,0 }, { IDX_2C('e','c'), "Ekwador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egipt", 0,0,0 }, { IDX_2C('e','h'), "Sahara Zachodnia", 0,0,0 }, { IDX_2C('e','r'), "Erytrea", 0,0,0 }, { IDX_2C('e','s'), "Hiszpania", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlandia", 0,0,0 }, { IDX_2C('f','j'), "Fid©i", 0,0,0 }, { IDX_2C('f','k'), "Falklandy", 0,0,0 }, { IDX_2C('f','m'), "Mikronezja", 0,0,0 }, { IDX_2C('f','o'), "Wyspy Owcze", 0,0,0 }, { IDX_2C('f','r'), "Francja", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Wielka Brytania", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Gruzja", 0,0,0 }, { IDX_2C('g','f'), "Gujana Francuska", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Grenlandia", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Gwinea", 0,0,0 }, { IDX_2C('g','p'), "Gwadelupa", 0,0,0 }, { IDX_2C('g','q'), "Gwinea RСwnikowa", 0,0,0 }, { IDX_2C('g','r'), "Grecja", 0,0,0 }, { IDX_2C('g','s'), "Georgia PЁd. i Wyspy Sandwicha PЁd.", 0,0,0 }, { IDX_2C('g','t'), "Gwatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Gwinea Bissau", 0,0,0 }, { IDX_2C('g','y'), "Gujana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Wyspy Heard i McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Chorwacja", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "WЙgry", 0,0,0 }, { IDX_2C('i','d'), "Indonezja", 0,0,0 }, { IDX_2C('i','e'), "Irlandia", 0,0,0 }, { IDX_2C('i','l'), "Izrael", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Indie", 0,0,0 }, { IDX_2C('i','o'), "Bryt. Teryt. Oceanu Indyjskiego", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islandia", 0,0,0 }, { IDX_2C('i','t'), "WЁochy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamajka", 0,0,0 }, { IDX_2C('j','o'), "Jordania", 0,0,0 }, { IDX_2C('j','p'), "Japonia", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "Kirgistan", 0,0,0 }, { IDX_2C('k','h'), "Kambod©a", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Komory", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts i Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea PСЁnocna", 0,0,0 }, { IDX_2C('k','r'), "Korea PoЁudniowa", 0,0,0 }, { IDX_2C('k','w'), "Kuwejt", 0,0,0 }, { IDX_2C('k','y'), "Kajmany", 0,0,0 }, { IDX_2C('k','z'), "Kazachstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Liban", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Lichtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Litwa", 0,0,0 }, { IDX_2C('l','u'), "Luksemburg", 0,0,0 }, { IDX_2C('l','v'), "ёotwa", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Maroko", 0,0,0 }, { IDX_2C('m','c'), "Monako", 0,0,0 }, { IDX_2C('m','d'), "MoЁdawia", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Wyspy Marshalla", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Makao", 0,0,0 }, { IDX_2C('m','p'), "Mariany PСЁnocne", 0,0,0 }, { IDX_2C('m','q'), "Martynika", 0,0,0 }, { IDX_2C('m','r'), "Mauretania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Malediwy", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Meksyk", 0,0,0 }, { IDX_2C('m','y'), "Malezja", 0,0,0 }, { IDX_2C('m','z'), "Mozambik", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Nowa Kaledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Holandia", 0,0,0 }, { IDX_2C('n','o'), "Norwegia", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nowa Zelandia", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Polinezja Francuska", 0,0,0 }, { IDX_2C('p','g'), "Papua Nowa Gwinea", 0,0,0 }, { IDX_2C('p','h'), "Filipiny", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polska", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre i Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugalia", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paragwaj", 0,0,0 }, { IDX_2C('q','a'), "Katar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumunia", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Rosja", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia Saudyjska", 0,0,0 }, { IDX_2C('s','b'), "Wyspy Salomona", 0,0,0 }, { IDX_2C('s','c'), "Seszele", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Szwecja", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "╕w. Helena", 0,0,0 }, { IDX_2C('s','i'), "SЁowenia", 0,0,0 }, { IDX_2C('s','j'), "Wyspy Svalbard i Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "SЁowacja", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Wyspy ╕w. Tomasza i Ksi╠©Йca", 0,0,0 }, { IDX_2C('s','u'), "ZSRR (byЁy)", 0,0,0 }, { IDX_2C('s','v'), "Salwador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Suazi", 0,0,0 }, { IDX_2C('t','c'), "Turks i Caicos", 0,0,0 }, { IDX_2C('t','d'), "Czad", 0,0,0 }, { IDX_2C('t','f'), "Francuskie Terytoria PoЁudniowe", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tajlandia", 0,0,0 }, { IDX_2C('t','j'), "Tad©ykistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunezja", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Wschodni Timor", 0,0,0 }, { IDX_2C('t','r'), "Turcja", 0,0,0 }, { IDX_2C('t','t'), "Trynidad i Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Tajwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Wielka Brytania", 0,0,0 }, { IDX_2C('u','m'), "Mniejsze Wyspy USA", 0,0,0 }, { IDX_2C('u','s'), "Stany Zjednoczone", 0,0,0 }, { IDX_2C('u','y'), "Urugwaj", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Watykan", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent i Grenadyny", 0,0,0 }, { IDX_2C('v','e'), "Wenezuela", 0,0,0 }, { IDX_2C('v','g'), "Brytyjskie Wyspy Dziewicze", 0,0,0 }, { IDX_2C('v','i'), "Wyspy Dziewicze (USA)", 0,0,0 }, { IDX_2C('v','n'), "Wietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wyspy Wallis i Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "JugosЁawia", 0,0,0 }, { IDX_2C('z','a'), "Republika PoЁudniowej Afryki", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.portuguese����������������������������������������������������0000644�0001750�0001750�00000107342�11032527214�020306� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.portuguese Webalizer V2.0x Language Support file for Portuguese. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 12-Feb-1999 Translated to Portuguese by Michele America (micheleamerica@mail.geocities.com) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 08-Mar-2002 Updated by Nuno Loureiro (nuno@eth.pt) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Portuguese"; char *langcode = "pt"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "registos"; char *msg_addresses="enderecos"; char *msg_ignored = "ignorados"; char *msg_bad = "maus"; char *msg_in = "em"; char *msg_seconds = "segundos"; /* progress and setup error messages */ char *msg_log_err = "Erro: Nao foi possivel abrir ficheiro de registo"; char *msg_log_use = "A usar registo"; char *msg_dir_err = "Erro: Nao foi possivel mudar directorio para"; char *msg_dir_use = "A gerar saida no"; char *msg_cur_dir = "directorio corrente"; char *msg_hostname= "Hostname para relatorios e'"; char *msg_ign_hist= "A ignorar historico anterior..."; char *msg_no_hist = "Ficheiro de historico nao encontrado..."; char *msg_get_hist= "A ler ficheiro de historico..."; char *msg_put_hist= "A guardar informacao no historico..."; char *msg_hist_err= "Erro: Impossivel escrever no ficheiro de historico"; char *msg_bad_hist= "Erro: A ignorar registo invalido no ficheiro de historico"; char *msg_bad_conf= "Erro: Impossivel abrir ficheiro de configuracao"; char *msg_bad_key = "Aviso: Parametro invalido"; char *msg_bad_date= "Erro: A ignorar registo (data invalida)"; char *msg_ign_nscp= "A ignorar registo com cabecalho do Netscape"; char *msg_bad_rec = "A ignorar registo invalido"; char *msg_no_vrec = "Nao foram encontrado registo validos!"; char *msg_gen_rpt = "A gerar relatorio de"; char *msg_gen_sum = "A gerar relatorio sumario"; char *msg_get_data= "A ler dados da execucao anterior..."; char *msg_put_data= "A guardar dados da execucao currente..."; char *msg_no_data = "Dados da execucao anterior nao encontrados..."; /*char *msg_bad_data= "Registo de dados invalido";*/ char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Erro: Impossivel guardar dados da execucao currente"; char *msg_dup_data= "Aviso: Encontrados dados possivelmente duplicados"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Impossivel alocar memoria suficiente, Top Sites desligado!"; char *msg_nomem_tr= "Impossivel alocar memoria suficiente, Top Referrers desligado!"; char *msg_nomem_tu= "Impossivel alocar memoria suficiente, Top URLs desligado!"; char *msg_nomem_tc= "Impossivel alocar memoria suficiente, Top Countries desligado!"; char *msg_nomem_ta= "Impossivel alocar memoria suficiente, Top User Agents desligado!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Erro ao adicionar host (diario), a ignorar"; char *msg_nomem_mh= "Erro ao adicionar host (mensal), a ignorar"; char *msg_nomem_u = "Erro ao adicionar URL, a ignorar"; char *msg_nomem_a = "Erro ao adicionar User Agent, a ignorar"; char *msg_nomem_r = "Erro ao adicionar Referrer, a ignorar"; char *msg_nomem_sc= "Error adding Search String node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Erro: A ignorar registo grande de mais"; char *msg_big_host= "Aviso: A truncar hostname grande de mais"; char *msg_big_date= "Aviso: A truncar campo de data grande de mais"; char *msg_big_req = "Aviso: A truncar campo de pedido grande de mais"; char *msg_big_ref = "Aviso: A truncar campo de referrer grande de mais"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Aviso: Cadeia de caracteres excede tamanho de armazenamento"; /* misc errors */ char *msg_no_open = "Erro: Impossivel abrir ficheiro"; /* Help display... */ char *h_usage1 = "Utilizacao"; char *h_usage2 = "[opcoes] [ficheiro de log]"; char *h_msg[]= { "-h = mostra esta mensagem de ajuda" , "-V = mostra info sobre versao" , "-v = be verbose" , "-d = mostra info adicional para debug" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = fold sequence errors" , "-i = ignorar ficheiro de historico" , "-p = preservar estado (incremental)" , "-b = ignorar estado (incremental)" , "-q = suprimir mensagens de informacao" , "-Q = suprimir _TODAS_ as mensagens" , "-Y = supress country graph" , "-G = suprimir grafico por horas" , "-H = suprimir estatisticas por horas" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timeout value (seconds)" , "-T = mostra informacao de timing" , "-c fich = usar ficheiro de configuracao 'fich'", "-n nome = usar hostname 'nome'" , "-o dir = directorio de output a usar" , "-t nome = titulo do relatorio" , "-a nome = esconder user agent 'nome'" , "-r nome = esconder referrer 'nome'" , "-s nome = esconder site 'nome'" , "-u nome = esconder URL 'nome'" , "-x nome = Use filename extension 'name'" , "-O nome = Omit page 'name'" , "-P nome = Page type extension 'name'" , "-I nome = alias para Index 'nome'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Mostrar num top agents" , "-C num = Mostrar num top countries" , "-R num = Mostrar num top referrers" , "-S num = Mostrar num top sites" , "-U num = Mostrar num top URLs" , "-e num = Mostrar num top Entry Pages" , "-E num = Mostrar num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nome = Use DNS Cache file 'nome'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J nome = Use GeoDB database 'nome'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nome = Use GeoIP database 'nome'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "SumАrio do Periodo"; char *msg_hhdr_gt = "Gerado em"; /* main index strings */ char *msg_main_us = "SumАrio de utilizaГЦo de"; /* char *msg_main_per= "зltimos 12 Meses"; */ char *msg_main_per= "SumАrio por MЙs"; char *msg_main_sum= "SumАrio por MЙs"; char *msg_main_da = "MИdia DiАria"; char *msg_main_mt = "Totais Mensais"; /* month HTML page strings */ char *msg_hmth_du = "Uso diАrio de"; char *msg_hmth_hu = "Uso por hora de"; /* table header strings */ char *msg_h_by = "By"; char *msg_h_avg = "Med"; char *msg_h_max = "Max"; char *msg_h_total = "Total"; char *msg_h_totals= "Totais"; char *msg_h_day = "Dia"; char *msg_h_mth = "MЙs"; char *msg_h_hour = "Hora"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visitas"; char *msg_h_files = "Ficheiros"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Hostname"; char *msg_h_url = "URL"; char *msg_h_agent = "User Agent"; char *msg_h_ref = "Referrer"; char *msg_h_ctry = "Pais"; char *msg_h_search= "String de Pesquisa"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "EstatМstica DiАria"; char *msg_hlnk_hs = "EstatМstica por Hora"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Sites"; char *msg_hlnk_a = "Agents"; char *msg_hlnk_c = "Paises"; char *msg_hlnk_r = "Referrers"; char *msg_hlnk_en = "Entrada"; char *msg_hlnk_ex = "Saida"; char *msg_hlnk_sr = "Pesquisa"; char *msg_hlnk_i = "Utilizadores"; /* monthly total table */ char *msg_mtot_ms = "EstatМstica Mensal de"; char *msg_mtot_th = "Total de Hits"; char *msg_mtot_tf = "Total de Ficheiros"; char *msg_mtot_tx = "Total de KBytes"; char *msg_mtot_us = "Total de Sites зnicos"; char *msg_mtot_ur = "Total de Referrers зnicos"; char *msg_mtot_ua = "Total de User Agents зnicos"; char *msg_mtot_uu = "Total de URLs зnicos"; char *msg_mtot_ui = "Total de Usernames unicos"; char *msg_mtot_mhd= "Hits por Dia"; char *msg_mtot_mhh= "Hits por Hora"; char *msg_mtot_mfd= "Files por Dia"; char *msg_mtot_mpd= "Paginas por Dia"; char *msg_mtot_msd= "Sites por Dia"; char *msg_mtot_mvd= "Visitas por Dia"; char *msg_mtot_mkd= "KBytes por Dia"; char *msg_mtot_rc = "Hits por CСdigo de Resposta"; /* daily total table */ char *msg_dtot_ds = "EstatМstica DiАria de"; /* hourly total table */ char *msg_htot_hs = "EstatМstica por Hora de"; /* country pie chart */ char *msg_ctry_use= "UtilizaГЦo por PaМs de"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "de"; char *msg_top_s = "Sites"; char *msg_top_u = "URLs"; char *msg_top_r = "Referrers"; char *msg_top_a = "User Agents"; char *msg_top_c = "Paises"; char *msg_top_en = "Total PАginas de Entrada"; char *msg_top_ex = "Total PАginas de SaМda"; char *msg_top_sr = "Total Strings de Pesquisa"; char *msg_top_i = "Total Usernames"; char *msg_v_sites = "Ver todos os Sites"; char *msg_v_urls = "Ver todos os URLs"; char *msg_v_refs = "Ver todos os Referrers"; char *msg_v_agents= "Ver todos os User Agents"; char *msg_v_search= "Ver todas as Strings de Pesquisa"; char *msg_v_users = "Ver todos os Usernames"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"}; /* long month names - can be any length */ char *l_month[12]={ "Janeiro", "Fevereiro", "MarГo", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro","Outubro", "Novembro","Dezembro"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continuar", 0 }, { "Code 101 - MudanГa de Protocolos", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Criado", 0 }, { "Code 202 - Aceite", 0 }, { "Code 203 - InformaГЦo nЦo AutoritАria", 0 }, { "Code 204 - Sem ConteЗdo", 0 }, { "Code 205 - Reinicializa ConteЗdo", 0 }, { "Code 206 - ConteЗdo Parcial", 0 }, { "Code 300 - VАrias OpГУes", 0 }, { "Code 301 - MudanГa Permanente", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - Ver Outro", 0 }, { "Code 304 - NЦo Modificado", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - MudanГa TemporАria", 0 }, { "Code 400 - Pedido InvАlido", 0 }, { "Code 401 - NЦo Autorizado", 0 }, { "Code 402 - Pagamento NecessАrio", 0 }, { "Code 403 - Proibido", 0 }, { "Code 404 - NЦo Encontrado", 0 }, { "Code 405 - Metodo nЦo Permitido", 0 }, { "Code 406 - NЦo AceitАvel", 0 }, { "Code 407 - NecessАria AutenticaГЦo pelo Proxy", 0 }, { "Code 408 - Timeout do Pedido", 0 }, { "Code 409 - Conflito", 0 }, { "Code 410 - Desapareceu", 0 }, { "Code 411 - NecessАrio Tamanho", 0 }, { "Code 412 - PrecondiГЦo Falhou", 0 }, { "Code 413 - Entidade de Pedido muito Grande", 0 }, { "Code 414 - Entidade de URI muito Granda", 0 }, { "Code 415 - Tipo de Media NЦo Suportado", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Erro Interno do Servidor", 0 }, { "Code 501 - NЦo Implementado", 0 }, { "Code 502 - Gateway Errado", 0 }, { "Code 503 - ServiГo NЦo Disponivel", 0 }, { "Code 504 - Timeout do Gateway", 0 }, { "Code 505 - VersЦo de HTTP NЦo Suportada", 0 } }; char *msg_title = "EstatМsticas de UtilizaГЦo de"; char *msg_h_other = "Outros"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.portuguese_brazil���������������������������������������������0000644�0001750�0001750�00000110660�11032527214�021646� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.portuguese_brazil Webalizer V2.0x Language Support file for Portuguese (Brazilian dialect) 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 06-Aug-1999 Translation by Arquimedes M.da Silva (software.developer@mailbr.com.br) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 12-Mar-2000 Huge Correction/Translation by Fabio B. Oliva (fboliva@safenetworks.com) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Portuguese_Brazil"; char *langcode = "pt-br"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "registros"; char *msg_addresses="endereГos"; char *msg_ignored = "desprezados"; char *msg_bad = "ruins"; char *msg_in = "em"; char *msg_seconds = "segundos"; /* progress and setup error messages */ char *msg_log_err = "Erro: NЦo foi possМvel abrir o arquivo"; char *msg_log_use = "Usando arquivo"; char *msg_dir_err = "Erro: NЦo possМvel alterar o diretСrio para"; char *msg_dir_use = "Criando resultado em"; char *msg_cur_dir = "DiretСrio corrente"; char *msg_hostname= "Nome do servidor para os relatСrios И"; char *msg_ign_hist= "Ignorando registro invАlido no arquivo..."; char *msg_no_hist = "Arquivo de histСrico nЦo encontrado..."; char *msg_get_hist= "Lendo arquivo de histСrico..."; char *msg_put_hist= "Salvando histСrico..."; char *msg_hist_err= "Erro: NЦo foi possМvel escrever o arquivo de histСrico"; char *msg_bad_hist= "Erro: Desprezando registro de histСrico invАlido"; char *msg_bad_conf= "Erro: NЦo foi possМvel abrir arquivo de configuraГЦo"; char *msg_bad_key = "AtenГЦo: palavra chave invАlida"; char *msg_bad_date= "Erro: Desprezando registro (Data invАlida)"; char *msg_ign_nscp= "Ignorando registro cabeГalho Netscape"; char *msg_bad_rec = "Ignorando registro com problema"; char *msg_no_vrec = "Registros vАlidos nЦo encontrados!"; char *msg_gen_rpt = "Gerando relatСrio para"; char *msg_gen_sum = "Gerando relatСrio de sumАrio"; char *msg_get_data= "Lendo os dados da execuГЦo anterior..."; char *msg_put_data= "Salvando os dados da execuГЦo atual..."; char *msg_no_data = "Dados da execuГЦo anterior nЦo encontrados..."; /*char *msg_bad_data= "Registro de dados invАlido";*/ char *msg_bad_data= "Erro: NЦo foi possМvel recuperar os dados"; char *msg_data_err= "Erro: NЦo foi possМvel salvar os dados da execuГЦo atual"; char *msg_dup_data= "AtenГЦo: PossМvel duplicaГЦo de dados encontrada"; /* DNS Stuff */ char *msg_dns_nocf= "Arquivo Cache nЦo encontrado. Abortando..."; char *msg_dns_nodb= "Erro: NЦo foi possМvel abrir o arquivo cache do DNS"; char *msg_dns_nolk= "Erro: NЦo foi possМvel travar (lock) o arquivo cache do DNS"; char *msg_dns_usec= "Usando o arquivo cache do DNS"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "Nada para processar"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "NЦo foi possМvel alocar memСria, Lista EndereГos desabilitada!"; char *msg_nomem_tr= "NЦo foi possМvel alocar memСria, Lista ReferЙncias desabilitada!"; char *msg_nomem_tu= "NЦo foi possМvel alocar memСria, Lista URLs disabilitado!"; char *msg_nomem_tc= "NЦo foi possМvel alocar memСria, Lista PaМses desabilitada!"; char *msg_nomem_ta= "NЦo foi possМvel alocar memСria, Lista Clientes desabilitada!"; char *msg_nomem_tsr="NЦo foi possМvel alocar memСria,,Lista Strings de busca desabilitada!"; char *msg_nomem_ti= "NЦo foi possМvel alocar memСria suficiente, Lista de usuАrios desabilitada!"; char *msg_nomem_dh= "Erro ao adicionar nС de servidor (diАrio), desprezado"; char *msg_nomem_mh= "Erro ao adicionar nС de servidor (mensal), desprezado"; char *msg_nomem_u = "Erro ao adicionar nС de URL, desprezado"; char *msg_nomem_a = "Erro ao adicionar nС de programa cliente, desprezado"; char *msg_nomem_r = "Erro ao adicionar nС de ReferЙncia, desprezado"; char *msg_nomem_sc= "Erro ao adicionar nС de String de busca, desprezado"; char *msg_nomem_i = "Erro ao acicionar nС de usuАrio, desprezando..."; /* log record errors */ char *msg_big_rec = "Erro: Ignorando registro muito longo"; char *msg_big_host= "AtenГЦo: Truncando nome de servidor muito longo"; char *msg_big_date= "AtenГЦo: Truncando campo data muito longo"; char *msg_big_req = "AtenГЦo: Truncando campo de solicitaГЦo muito longo"; char *msg_big_ref = "AtenГЦo: Truncando campo de referЙncia muito longo"; char *msg_big_user= "Warning: truncando nome de usuАrio muito longo"; char *msg_big_one = "AtenГЦo: Texto excede a Аrea de armazenamento disponМvel"; /* misc errors */ char *msg_no_open = "Erro: NЦo foi possМvel abrir arquivo"; /* Help display... */ char *h_usage1 = "Forma de utilizaГЦo"; char *h_usage2 = "[opГУes] [arquivo de histСrico]"; char *h_msg[]= { "-h = imprime esta mensagem de ajuda" , "-V = imprime a versЦo" , "-v = be verbose" , "-d = imprime informaГЦo adicional de depuraГЦo" , "-F type = Log type. type= (clf | ftp | squid | w3c)" , "-f = cruzar sequЙncia de erros" , "-i = ignorar arquivo de histСrico" , "-p = recuperar processamento anterior (incremento)" , "-b = ignorar incremento" , "-q = suprimir mensagens de informaГЦo" , "-Q = suprimir TODAS as mensagens" , "-Y = suprimir grАfico sobre os PaМses" , "-G = suprimir grАfico sobre o horАrio" , "-H = suprimir estatМstica sobre horАrio" , "-L = suprimir legendas sobre as cores do grАfico" , "-l num = usar <num> linhas de background no grАfico" , "-m num = Valor de timeout para visita (seconds)" , "-T = imprime informaГЦo sobre horАrio" , "-c arq = usar arquivo de configuraГЦo 'arq'" , "-n nome = nome do servidor" , "-o dir = diretСrio de saМda" , "-t nome = tМtulo do relatСrio 'nome'" , "-a nome = ocultar programa cliente 'nome'" , "-r nome = ocultar refЙrencoa 'nome'" , "-s nome = ocultar endereГo 'nome'" , "-u nome = ocultar URL 'nome'" , "-x nome = Indica extensЦo para nome de arquivo 'nome'" , "-O nome = Omit page 'nome'" , "-P nome = Indica extensЦo para tipo de pАgina 'nome'" , "-I nome = apelido do Мndice 'nome'" , "-K n = n months in summary table" , "-k n = n months in summary graph" , "-A n = imprime os n primeiros programas clientes" , "-C n = imprime os n primeiros paМses" , "-R n = imprime as n primeiras referЙncias" , "-S n = imprime os n primeiros endereГos" , "-U n = imprime as n primeiras URLs" , "-e n = imprime as n primeiras pАginas entrada" , "-E n = imprime as n primeiras pАginas saМda" , "-g n = Grupos de DomМnio para n nМveis" , "-X = Ocultar sites individuais" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nome = Usar arquivo cache de DNS 'nome'" , "-N num = NЗmero de processos DNS (0=desabilitado)" , "-j = Enable native GeoIP lookups" , "-J nome = Use GeoDB database 'nome'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nome = Use GeoIP database 'nome'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Resumo do PerМodo"; char *msg_hhdr_gt = "Gerado em"; /* main index strings */ char *msg_main_us = "Resumo de utilizaГЦo para"; /* char *msg_main_per= "зltimos 12 Meses"; */ char *msg_main_per= "Resumo Mensal"; char *msg_main_sum= "Resumo Mensal"; char *msg_main_da = "MИdia diАria"; char *msg_main_mt = "Total Mensal"; /* month HTML page strings */ char *msg_hmth_du = "UtilizaГЦo diАria em"; char *msg_hmth_hu = "UtilizaГЦo por hora em"; /* table header strings */ char *msg_h_by = "por"; char *msg_h_avg = "MИdia"; char *msg_h_max = "Max"; char *msg_h_total = "Total"; char *msg_h_totals= "Totais"; char *msg_h_day = "Dia"; char *msg_h_mth = "MЙs"; char *msg_h_hour = "Hora"; char *msg_h_hits = "Hits"; char *msg_h_pages = "PАginas"; char *msg_h_visits= "Visitas"; char *msg_h_files = "Arquivos"; char *msg_h_sites = "EndereГos"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Servidores"; char *msg_h_url = "URLs"; char *msg_h_agent = "Programa cliente"; char *msg_h_ref = "ReferЙncia"; char *msg_h_ctry = "PaМs"; char *msg_h_search= "String de busca"; char *msg_h_uname = "Nomes de UsuАrios"; /* links along top of page */ char *msg_hlnk_ds = "EstatМsticas diАrias"; char *msg_hlnk_hs = "EstatМsticas por hora"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "EndereГo"; char *msg_hlnk_a = "Clientes"; char *msg_hlnk_c = "PaМses"; char *msg_hlnk_r = "ReferЙncias"; char *msg_hlnk_en = "Entrada"; char *msg_hlnk_ex = "SaМda"; char *msg_hlnk_sr = "Busca"; char *msg_hlnk_i = "UsuАrios"; /* monthly total table */ char *msg_mtot_ms = "EstatМsticas Mensais para"; char *msg_mtot_th = "Total de hits"; char *msg_mtot_tf = "Total de arquivos"; char *msg_mtot_tx = "Total de KBytes"; char *msg_mtot_us = "Total de servidores"; char *msg_mtot_ur = "Total de referências"; char *msg_mtot_ua = "Total de programas clientes"; char *msg_mtot_uu = "Total de URLs"; char *msg_mtot_ui = "Total de Nomes de UsuАrios"; char *msg_mtot_mhd= "Hits por Dia"; char *msg_mtot_mhh= "Hits por Hora"; char *msg_mtot_mfd= "Arquivos por Dia"; char *msg_mtot_mpd= "PАginas por Dia"; char *msg_mtot_msd= "Servidores por Dia"; char *msg_mtot_mvd= "Visitas por Dia"; char *msg_mtot_mkd= "KBytes por Dia"; char *msg_mtot_rc = "Hits por cСdigo de resposta"; /* daily total table */ char *msg_dtot_ds = "EstatМsticas diАria para"; /* hourly total table */ char *msg_htot_hs = "EstatМsticas por hora para"; /* country pie chart */ char *msg_ctry_use= "Hits por paМs para"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Lista"; char *msg_top_of = "de"; char *msg_top_s = "Total de endereГos"; char *msg_top_u = "Total de URLs"; char *msg_top_r = "Total de referЙncias"; char *msg_top_a = "Total de programas clientes"; char *msg_top_c = "Total de paМses"; char *msg_top_en = "Total de PАginas de entrada"; char *msg_top_ex = "Total de PАginas de saМda"; char *msg_top_sr = "Total de Strings de busca"; char *msg_top_i = "Total de nomes de usuАrios"; char *msg_v_sites = "Visualizar todos sites"; char *msg_v_urls = "Visualizar todas URLs"; char *msg_v_refs = "Visualizar todas ReferЙncias"; char *msg_v_agents= "Visualizar todos Agentes de usuАrio"; char *msg_v_search= "Visualizar todas strings de procura"; char *msg_v_users = "Visualizar todos nomes de usuАrios"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"}; /* long month names - can be any length */ char *l_month[12]={ "Janeiro", "Fevereiro", "MarГo", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "CСdigo de resposta indefinido", 0 }, { "100 - Continua", 0 }, { "101 - Trocando de protocolo", 0 }, { "200 - OK", 0 }, { "201 - Criado", 0 }, { "202 - Aceito", 0 }, { "203 - InformaГЦo nЦo autorizada", 0 }, { "204 - NЦo existe conteЗdo", 0 }, { "205 - ConteЗdo renovado", 0 }, { "206 - ConteЗdo parcial", 0 }, { "300 - MЗltiplas escolhas", 0 }, { "301 - Movido permanentemente", 0 }, { "302 - Encontrado", 0 }, { "303 - Ver outros", 0 }, { "304 - NЦo modificado", 0 }, { "305 - Utilizar Proxy", 0 }, { "307 - Movido temporariamente", 0 }, { "400 - RequisiГЦo errada", 0 }, { "401 - Acesso negado", 0 }, { "402 - Requer pagamento", 0 }, { "403 - Proibido", 0 }, { "404 - NЦo encontrada", 0 }, { "405 - MИtodo nЦo permitido", 0 }, { "406 - NЦo aceitАvel", 0 }, { "407 - AutenticaГЦo de Proxy requerida", 0 }, { "408 - Fim do tempo de espera", 0 }, { "409 - Conflito", 0 }, { "410 - Abadonado", 0 }, { "411 - Tamanho requerido", 0 }, { "412 - Falta condiГЦo prИvia", 0 }, { "413 - Entidade de requisiГЦo muito longa", 0 }, { "414 - URI de requisicГЦo muito longa", 0 }, { "415 - Meio nЦo suportado", 0 }, { "416 - Limite solicitado nЦo satisfeito", 0 }, { "417 - Expectation Failed", 0 }, { "500 - Erro interno no servidor", 0 }, { "501 - NЦo implementado", 0 }, { "502 - Erro no Gateway", 0 }, { "503 - ServiГo indisponМvel", 0 }, { "504 - Fim do tempo de espera para Gateway", 0 }, { "505 - HTTP VersЦo nЦo suportada", 0 } }; char *msg_title = "EstatМsticas de utilizaГЦo para"; char *msg_h_other = "Outros"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "NЦo Resolvido/Desconhecido", 0,0,0 }, { IDX_3C('c','o','m'), "Comercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educacional (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "EUA - Governo (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internacional (int)", 0,0,0 }, { IDX_3C('m','i','l'), "EUA - Militar (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "OrganizaГЦo sem fins lucrativos (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Estilo antigo - Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"OTAN (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emirados аrabes Unidos", 0,0,0 }, { IDX_2C('a','f'), "AfeganistЦo", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "ArmЙnia", 0,0,0 }, { IDX_2C('a','n'), "Holanda - Antilha", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "AzerbaijЦo", 0,0,0 }, { IDX_2C('b','a'), "Bosnia e Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgica", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "BolМvia", 0,0,0 }, { IDX_2C('b','r'), "Brasil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "ButЦo", 0,0,0 }, { IDX_2C('b','v'), "Ilha Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "CanadА", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "RepЗblica Central Africana", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "SuiГa", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Costa do Marfim)", 0,0,0 }, { IDX_2C('c','k'), "Ilhas Cook", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "CamarУes", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "ColТmbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cabo Verde", 0,0,0 }, { IDX_2C('c','x'), "Ilhas Natal", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "RepЗblica Tcheca", 0,0,0 }, { IDX_2C('d','e'), "Alemanha", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Dinamarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "RepЗblica Dominicana", 0,0,0 }, { IDX_2C('d','z'), "ArgИlia", 0,0,0 }, { IDX_2C('e','c'), "Equador", 0,0,0 }, { IDX_2C('e','e'), "EstТnia", 0,0,0 }, { IDX_2C('e','g'), "Egito", 0,0,0 }, { IDX_2C('e','h'), "Sahara do Oeste", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Espanha", 0,0,0 }, { IDX_2C('e','t'), "EtiСpia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "FinlБndia", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Ilhas Falkland (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "MicronИsia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "FranГa", 0,0,0 }, { IDX_2C('g','a'), "GabЦo", 0,0,0 }, { IDX_2C('g','b'), "GrЦ Bretanha (Reino Unido)", 0,0,0 }, { IDX_2C('g','d'), "Granada", 0,0,0 }, { IDX_2C('g','e'), "GeСrgia", 0,0,0 }, { IDX_2C('g','f'), "Guiana Francesa", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Gana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "GuinИ", 0,0,0 }, { IDX_2C('g','p'), "Guadalupe" , 0,0,0 }, { IDX_2C('g','q'), "GuinИ Equatorial", 0,0,0 }, { IDX_2C('g','r'), "GrИcia", 0,0,0 }, { IDX_2C('g','s'), "S. GeСrgia e S. Ilhas Sandwich.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guiana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Ilhas Heard e McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "CroАcia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungria", 0,0,0 }, { IDX_2C('i','d'), "IndonИsia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "мndia", 0,0,0 }, { IDX_2C('i','o'), "TerritСrio OceБnico Anglo-Indiano",0,0,0 }, { IDX_2C('i','q'), "Iraque", 0,0,0 }, { IDX_2C('i','r'), "IrЦ", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "ItАlia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "JordБnia", 0,0,0 }, { IDX_2C('j','p'), "JapЦo", 0,0,0 }, { IDX_2C('k','e'), "QuЙnia", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "CorИia (Norte)", 0,0,0 }, { IDX_2C('k','r'), "CorИia (Sul)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Ilhas Cayman", 0,0,0 }, { IDX_2C('k','z'), "KazaquistЦo", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "LМbano", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "LibИria", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "LituБnia", 0,0,0 }, { IDX_2C('l','u'), "Luxemburgo", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "LМbia", 0,0,0 }, { IDX_2C('m','a'), "Marrocos", 0,0,0 }, { IDX_2C('m','c'), "MТnaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Ilhas Marshall", 0,0,0 }, { IDX_2C('m','k'), "MacedТnia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "MongСlia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Ilhas Mariana do Norte", 0,0,0 }, { IDX_2C('m','q'), "MartinМca", 0,0,0 }, { IDX_2C('m','r'), "MauritБnia", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "MИxico", 0,0,0 }, { IDX_2C('m','y'), "Malasia", 0,0,0 }, { IDX_2C('m','z'), "MoГambique", 0,0,0 }, { IDX_2C('n','a'), "NamМbia", 0,0,0 }, { IDX_2C('n','c'), "Nova CaledТnia", 0,0,0 }, { IDX_2C('n','e'), "NigИria", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "NigИria", 0,0,0 }, { IDX_2C('n','i'), "NicarАgua", 0,0,0 }, { IDX_2C('n','l'), "Holanda", 0,0,0 }, { IDX_2C('n','o'), "Noruega", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nova ZelБndia", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "PanamА", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "PolinИsia Francesa", 0,0,0 }, { IDX_2C('p','g'), "Papua Nova GuinИ", 0,0,0 }, { IDX_2C('p','h'), "Filipinas", 0,0,0 }, { IDX_2C('p','k'), "PaquistЦo", 0,0,0 }, { IDX_2C('p','l'), "PolТnia", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre e Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Pprto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguai", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "ReuniЦo", 0,0,0 }, { IDX_2C('r','o'), "RomЙnia", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "FederaГЦo Russa", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "ArАbia Saudita", 0,0,0 }, { IDX_2C('s','b'), "Ilhas SalomЦo", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "SudЦo", 0,0,0 }, { IDX_2C('s','e'), "SuИcia", 0,0,0 }, { IDX_2C('s','g'), "Singapura", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "EslovЙnia", 0,0,0 }, { IDX_2C('s','j'), "Ilhas Svalbard e Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "RepМblica Eslovaca", 0,0,0 }, { IDX_2C('s','l'), "Serra Leoa", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "SomАlia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "SЦo TomИ e PrМncipe", 0,0,0 }, { IDX_2C('s','u'), "URSS (Antiga)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Ilhas Turcas e Caicos", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "TerritСrios Franceses do Sul", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "TailБndia", 0,0,0 }, { IDX_2C('t','j'), "TajaquistЦo", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "TunМsia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turquia", 0,0,0 }, { IDX_2C('t','t'), "Trindade e Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "TanzБnia", 0,0,0 }, { IDX_2C('u','a'), "UcrБnia", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Reino Unido", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "Estados Unidos da AmИrica", 0,0,0 }, { IDX_2C('u','y'), "Uruguai", 0,0,0 }, { IDX_2C('u','z'), "UzbequistЦo", 0,0,0 }, { IDX_2C('v','a'), "Estado/Cidade do Vaticano (Santa SИ)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent e the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Ilhas Virgens (Inglesas)", 0,0,0 }, { IDX_2C('v','i'), "Ilhas Virgens (E.U.A.)", 0,0,0 }, { IDX_2C('v','n'), "VietnЦ", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Ilhas Wallis e Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "IЙmen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "IuguslАvia", 0,0,0 }, { IDX_2C('z','a'), "Africa do Sul", 0,0,0 }, { IDX_2C('z','m'), "ZБmbia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabue", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ��������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.romanian������������������������������������������������������0000644�0001750�0001750�00000107235�11032527214�017711� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.romanian Webalizer V2.0x Language Support file for Romanian. 17-May-1999 Translation by Mircea Ilie (mirceax@tep.ro) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 04-Feb-2000 Level 1.3 translation by Iulian Radu (iulian_r@starnets.ro) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 16-Jan-2001 Level 2.0 translation by Mircea Ilie (mirceax@tep.ro) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.french for french). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "in romana"; char *langcode = "ro"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "inregistrari"; char *msg_addresses="adrese"; char *msg_ignored = "ignorat"; char *msg_bad = "gresit"; char *msg_in = "in"; char *msg_seconds = "secunde"; /* progress and setup error messages */ char *msg_log_err = "Eroare: Nu pot deschide fisierul jurnal"; char *msg_log_use = "Accesez fisierul jurnal"; char *msg_dir_err = "Eroare: Nu pot sa ajung in directorul"; char *msg_dir_use = "Rezultatul este salvat in"; char *msg_cur_dir = "directorul curent"; char *msg_hostname= "Hostname-ul pentru rapoarte este"; char *msg_ign_hist= "Ignor fisierul de istoric precedent..."; char *msg_no_hist = "Nu pot gasi fisierul de istoric..."; char *msg_get_hist= "Citesc fisierul de istoric..."; char *msg_put_hist= "Salvez informatiile in fisierul de istoric..."; char *msg_hist_err= "Eroare: Nu pot sa scriu in fisierul de istoric"; char *msg_bad_hist= "Eroare: Ignor inregistrarile invalide din fisierul de istoric"; char *msg_bad_conf= "Eroare: Nu pot deschide fisierul de configurare"; char *msg_bad_key = "Avertisment: Cuvint cheie invalid"; char *msg_bad_date= "Eroare: Sar inregistrarea (date incorecte)"; char *msg_ign_nscp= "Sar inregistrarea antetului Netscape"; char *msg_bad_rec = "Sar o inregistrare gresita"; char *msg_no_vrec = "Nu am gasit nici o inregsitare corecta!"; char *msg_gen_rpt = "Generez un raport pentru"; char *msg_gen_sum = "Generez cuprinsul raportului"; char *msg_get_data= "Citesc datele rulate inainte..."; char *msg_put_data= "Salvez datele rulate acum..."; char *msg_no_data = "Datele rulate inainte nu au fost gasite..."; char *msg_bad_data= "Eroare: Nu pot reface datele rulate"; char *msg_data_err= "Eroare: Nu pot salva datele rulate acum"; char *msg_dup_data= "Avertisment: S-ar putea sa fi gasit date duplicate"; /* DNS Stuff */ char *msg_dns_nocf= "Nu s-a specificat nici un fisier cache, renunt..."; char *msg_dns_nodb= "Eroare: Nu pot deschide fisierul cache al DNS"; char *msg_dns_nolk= "Eroare: Nu pot bloca fisierul cache al DNS"; char *msg_dns_usec= "Folosesc fisierul cache al DNS"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "Nimic de prelucrat"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nu pot aloca suficienta memorie, dezactivez Top Situri!"; char *msg_nomem_tr= "Nu pot aloca suficienta memorie, dezactivez Top Pagini referente!"; char *msg_nomem_tu= "Nu pot aloca suficienta memorie, dezactivez Top URL-uri!"; char *msg_nomem_tc= "Nu pot aloca suficienta memorie, dezactivez Top Tari!"; char *msg_nomem_ta= "Nu pot aloca suficienta memorie, dezactivez Top Navigatoare vizitatori!"; char *msg_nomem_tsr="Nu pot aloca suficienta memorie, dezactivez Top Siruri cautate!"; char *msg_nomem_ti= "Nu pot aloca suficienta memorie, dezactivez Top Utilizatori!"; char *msg_nomem_dh= "Eroare adaugare nod host (zilnic), sar"; char *msg_nomem_mh= "Eroare adaugare nod host (lunar), sar"; char *msg_nomem_u = "Eroare adaugare nod URL, sar"; char *msg_nomem_a = "Eroare adaugare nod Navigator client, sar"; char *msg_nomem_r = "Eroare adaugare nod de Pagina referenta, sar"; char *msg_nomem_sc= "Eroare adaugare nod Sir de cautare, sar"; char *msg_nomem_i = "Eroare adaugare nod Utilizatori, sar"; /* log record errors */ char *msg_big_rec = "Eroare: Sar o inregistrare de jurnal supradimensionata"; char *msg_big_host= "Avertisment: Trunchiez hostname supradimensionat"; char *msg_big_date= "Avertisment: Trunchiez cimpul data supradimensionat"; char *msg_big_req = "Avertisment: Trunchiez cimpul cerere supradimensionat"; char *msg_big_ref = "Avertisment: Trunchiez cimpul paginii referente supradimensionat"; char *msg_big_user= "Avertisment: Trunchiez cimpul utilizator supradimensionat"; char *msg_big_one = "Avertisment: Sirul depaseste dimensiunea spatiului de stocare"; /* misc errors */ char *msg_no_open = "Eroare: Nu pot deschide fisierul"; /* Help display... */ char *h_usage1 = "Utilizare"; char *h_usage2 = "[optiuni] [fisier jurnal]"; char *h_msg[]= { "-h = afiseaza acest mesaj de ajutor" , "-V = afiseaza informatii despre versiune" , "-v = be verbose" , "-d = afiseaza informatii de depanare suplimentare" , "-F type = Tip jurnal. type= (clf | ftp | squid | w3c)" , "-f = eroare la secventa de fold" , "-i = ignora fisierul de istoric" , "-p = pastreaza starea (incremental)" , "-b = ignora starea (incremental)" , "-q = elimina mesajele de informare" , "-Q = elimina _TOATE_ mesajele" , "-Y = elimina graficul tarilor" , "-G = elimina graficul orelor" , "-H = elimina starea pe ore" , "-L = elimina legenda graficelor color" , "-l num = foloseste linii numerotate pe fundalul graficelor" , "-m num = valoarea timeout-ului pentru vizite (secunde)" , "-T = afiseaza informatiile despre temporizare" , "-c file = foloseste fisierul de configurare 'file'" , "-n name = hostname-ul de folosit" , "-o dir = directorul folosit pentru rezultate" , "-t name = titlul raportului va fi 'name'" , "-a name = ascunde navigatoarele clientilor de tipul 'name'" , "-r name = ascunde pagina referenta cu numele 'name'" , "-s name = ascunde situl 'name'" , "-u name = ascunde URL-ul 'name'" , "-x name = foloseste extensia de nume fisier 'name'" , "-O name = Omit page 'name'" , "-P name = extensia tipului de pagina va fi 'name'" , "-I name = aliasul index-ului va fi 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = afiseaza numeric topul navigatoarelor clientilor" , "-C num = afiseaza numeric topul tarilor" , "-R num = afiseaza numeric topul referentilor" , "-S num = afiseaza numeric topul siturilor" , "-U num = afiseaza numeric topul URL-urilor" , "-e num = afiseaza numeric topul Paginilor de intrare", "-E num = afiseaza numeric topul Paginilor de iesire", "-X = Ascunde siturile individuale" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Foloseste fisierul cache DNS 'name'" , "-N num = Numarul de procese DNS (0=dezactivat)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoIP database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Perioada analizata"; char *msg_hhdr_gt = "Generat in"; /* main index strings */ char *msg_main_us = "Sumarul utilizarii lui"; /* char *msg_main_per= "ultimele 12 luni"; */ char *msg_main_per= "Sumarul pe luna"; char *msg_main_sum= "Sumarul pe luna"; char *msg_main_da = "Media zilnica"; char *msg_main_mt = "Totaluri lunare"; /* month HTML page strings */ char *msg_hmth_du = "Utilizarea zilnica pe luna"; char *msg_hmth_hu = "Utilizarea orara pe luna"; /* table header strings */ char *msg_h_by = "dupa"; char *msg_h_avg = "Medie"; char *msg_h_max = "Maxim"; char *msg_h_total = "Total"; char *msg_h_totals= "Totaluri"; char *msg_h_day = "Zi"; char *msg_h_mth = "Luna"; char *msg_h_hour = "Ora"; char *msg_h_hits = "Accesari"; char *msg_h_pages = "Pagini"; char *msg_h_visits= "Vizite"; char *msg_h_files = "Fisiere"; char *msg_h_sites = "Situri"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Nume"; char *msg_h_url = "URL"; char *msg_h_agent = "Navigator"; char *msg_h_ref = "Pagina referenta"; char *msg_h_ctry = "Tara"; char *msg_h_search= "Sir de cautare"; char *msg_h_uname = "Utilizator"; /* links along top of page */ char *msg_hlnk_ds = "Statistici zilnice"; char *msg_hlnk_hs = "Statistici orare"; char *msg_hlnk_u = "URL-uri"; char *msg_hlnk_s = "Situri"; char *msg_hlnk_a = "Navigator"; char *msg_hlnk_c = "Tari"; char *msg_hlnk_r = "Pagini referente"; char *msg_hlnk_en = "Intrari"; char *msg_hlnk_ex = "Iesiri"; char *msg_hlnk_sr = "Cautare"; char *msg_hlnk_i = "Utilizatori"; /* monthly total table */ char *msg_mtot_ms = "Statistici lunare pentru"; char *msg_mtot_th = "Total accesari"; char *msg_mtot_tf = "Total fisiere"; char *msg_mtot_tx = "Total Kbytes"; char *msg_mtot_us = "Total situri unice"; char *msg_mtot_ur = "Total pagini referente unice"; char *msg_mtot_ua = "Total navigatoare"; char *msg_mtot_uu = "Total URL-uri unice"; char *msg_mtot_ui = "Total Utilizatori unici"; char *msg_mtot_mhd= "Vizitari pe zi"; char *msg_mtot_mhh= "Vizitari pe ora"; char *msg_mtot_mfd= "Fisiere pe zi"; char *msg_mtot_mpd= "Pagini pe zi"; char *msg_mtot_msd= "Situri pe zi"; char *msg_mtot_mvd= "Vizite pe zi"; char *msg_mtot_mkd= "KBytes pe zi"; char *msg_mtot_rc = "Accesari dupa codul de raspuns"; /* daily total table */ char *msg_dtot_ds = "Statistici zilnice pe luna"; /* hourly total table */ char *msg_htot_hs = "Statistici orare pe luna"; /* country pie chart */ char *msg_ctry_use= "Utilizarea dupa tara pe luna"; /* top tables */ /* Formatted as "Topul xxx din xxx total ceva" */ char *msg_top_top = "Top"; char *msg_top_of = "din"; char *msg_top_s = "al Siturilor"; char *msg_top_u = "al URL-urilor"; char *msg_top_r = "al Paginilor referente"; char *msg_top_a = "al Navigatoarelor"; char *msg_top_c = "al Tarilor"; char *msg_top_en = "total Pagini de intrare"; char *msg_top_ex = "total Pagini de iesire"; char *msg_top_sr = "total Siruri de cautare"; char *msg_top_i = "Total Utilizatori"; char *msg_v_sites = "Vizualizarea tuturor siturilor"; char *msg_v_urls = "Vizualizarea tuturor URL-urilor"; char *msg_v_refs = "Vizualizarea tuturor paginilor referente"; char *msg_v_agents= "Vizualizarea tuturor navigatoarelor"; char *msg_v_search= "Vizualizarea tuturor cuvintelor cheie"; char *msg_v_users = "Vizualizarea tuturor utiltizatorilor"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Noi", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie","Octombrie", "Noiembrie","Decembrie"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Cod de raspuns nedefinit", 0 }, { "Cod 100 - Continua", 0 }, { "Cod 101 - Schimb de protocol", 0 }, { "Cod 200 - OK", 0 }, { "Cod 201 - Creat", 0 }, { "Cod 202 - Aceptat", 0 }, { "Cod 203 - Informatie fara autoritate", 0 }, { "Cod 204 - Fara continut", 0 }, { "Cod 205 - Initializare continut", 0 }, { "Cod 206 - Continut partial", 0 }, { "Cod 300 - Optiuni multiple", 0 }, { "Cod 301 - Mutat permanent", 0 }, { "Cod 302 - Gasit", 0 }, { "Cod 303 - Vezi alt", 0 }, { "Cod 304 - Nemodificat", 0 }, { "Cod 305 - Foloseste proxy", 0 }, { "Cod 307 - Mutat temporar", 0 }, { "Cod 400 - Cerere gresita", 0 }, { "Cod 401 - Neautorizat", 0 }, { "Cod 402 - Plata solicitata", 0 }, { "Cod 403 - Interzis", 0 }, { "Cod 404 - Lipsa", 0 }, { "Cod 405 - Metoda nepermisa", 0 }, { "Cod 406 - Inacceptabil", 0 }, { "Cod 407 - Autentificare prin proxy necesara", 0 }, { "Cod 408 - Timeout cerere", 0 }, { "Cod 409 - Conflict", 0 }, { "Cod 410 - Satisfacut", 0 }, { "Cod 411 - Lungime solicitata", 0 }, { "Cod 412 - Precondite esuata", 0 }, { "Cod 413 - Entitatea ceruta este prea mare", 0 }, { "Cod 414 - URI-ul cerut prea lung", 0 }, { "Cod 415 - Tip de mediu necunoscut", 0 }, { "Cod 416 - Domeniul cererii nerealizabil", 0 }, { "Cod 417 - Asteptare esuata", 0 }, { "Cod 500 - Eroare interna a serverului", 0 }, { "Cod 501 - Neimplementat", 0 }, { "Cod 502 - Gateway gresit", 0 }, { "Cod 503 - Serviciu indisponibil", 0 }, { "Cod 504 - Timeout la gateway", 0 }, { "Cod 505 - Versiune de HTTP nesuportata", 0 } }; char *msg_title = "Statisticile de utilizare ale lui"; char *msg_h_other = "Altele"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nerezolvat/Necunoscut", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Guvernamental (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Militar (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Retea (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet stilul vechi (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Cimp Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emiratele Arabe Unite", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua si Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Antilele olandeze", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Samoa americana", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaidjan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia si Hertegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazilia", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Insula Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Bielorusia", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Insulele Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Republica Centrafricana", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Elvetia", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Coasta de Fildes)", 0,0,0 }, { IDX_2C('c','k'), "Insulele Cook", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Camerun", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Columbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Insulele Capului Verde", 0,0,0 }, { IDX_2C('c','x'), "Insulele Christmas", 0,0,0 }, { IDX_2C('c','y'), "Cipru", 0,0,0 }, { IDX_2C('c','z'), "Republica Ceha", 0,0,0 }, { IDX_2C('d','e'), "Germania", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danemarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Republica Dominicana", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egipt", 0,0,0 }, { IDX_2C('e','h'), "Sahara Occidentala", 0,0,0 }, { IDX_2C('e','r'), "Eritreea", 0,0,0 }, { IDX_2C('e','s'), "Spania", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlanda", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Insulele Falkland (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronezia", 0,0,0 }, { IDX_2C('f','o'), "Insulele Faroe", 0,0,0 }, { IDX_2C('f','r'), "Franta", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Marea Britanie (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Guiana Franceza", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Groenlanda", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guineea", 0,0,0 }, { IDX_2C('g','p'), "Guadelupe", 0,0,0 }, { IDX_2C('g','q'), "Guineea Ecuatoriala", 0,0,0 }, { IDX_2C('g','r'), "Grecia", 0,0,0 }, { IDX_2C('g','s'), "Ins. S. Georgia si S. Sandwich", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guiana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Insulele Heard si McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Ungaria", 0,0,0 }, { IDX_2C('i','d'), "Indonezia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "Teritoriul Britanic din Oceanul Indian", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islanda", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Iordania", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "Kirgizstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodgia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Insulele Comore", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts si Nevis", 0,0,0 }, { IDX_2C('k','p'), "Coreea (de Nord)", 0,0,0 }, { IDX_2C('k','r'), "Coreea (de Sud)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Insulele Cayman", 0,0,0 }, { IDX_2C('k','z'), "Kazahstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Liban", 0,0,0 }, { IDX_2C('l','c'), "Sfinta Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lituania", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "Letonia", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Maroc", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Insulele Marshall", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar (Birmania)", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Insulele Mariane de Nord", 0,0,0 }, { IDX_2C('m','q'), "Martinica", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldive", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexic", 0,0,0 }, { IDX_2C('m','y'), "Malaezia", 0,0,0 }, { IDX_2C('m','z'), "Mozambic", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Noua Caledonie", 0,0,0 }, { IDX_2C('n','e'), "Nigeria", 0,0,0 }, { IDX_2C('n','f'), "Insula Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Olanda", 0,0,0 }, { IDX_2C('n','o'), "Norvegia", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Noua Zeelanda", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Polinezia franceza", 0,0,0 }, { IDX_2C('p','g'), "Papua Noua Guinee", 0,0,0 }, { IDX_2C('p','h'), "Filipine", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polonia", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre si Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugalia", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Rusia", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia Saudita", 0,0,0 }, { IDX_2C('s','b'), "Insulele Solomon", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Suedia", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "Sfinta Elena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Insulele Svalbard si Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "Republica Slovaca", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome si Principe", 0,0,0 }, { IDX_2C('s','u'), "URSS (fosta)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Insulele Turks si Caicos", 0,0,0 }, { IDX_2C('t','d'), "Ciad", 0,0,0 }, { IDX_2C('t','f'), "Teritoriile Antarctice Franceze", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tailanda", 0,0,0 }, { IDX_2C('t','j'), "Tadjikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turcia", 0,0,0 }, { IDX_2C('t','t'), "Trinidad-Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ucraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Regatul Unit", 0,0,0 }, { IDX_2C('u','m'), "Insulele US Minor Outlying", 0,0,0 }, { IDX_2C('u','s'), "Statele Unite ale Americii", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican (Sfintul Scaun)", 0,0,0 }, { IDX_2C('v','c'), "Sifintul Vincent si Grenadine", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Insulele Virgine (britance)", 0,0,0 }, { IDX_2C('v','i'), "Insulele Virgine (americane)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Insulele Wallis si Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Africa de Sud", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.romanian-iso-8859-2�������������������������������������������0000644�0001750�0001750�00000107365�11032527214�021257� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.romanian-iso-8859-2 Webalizer V2.0x Language Support file for Romanian (iso-8859-2 charset). 17-May-1999 Translation by Mircea Ilie (mirceax@tep.ro) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 04-Feb-2000 Level 1.3 translation by Iulian Radu (iulian_r@starnets.ro) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 16-Jan-2001 Level 2.0 translation by Mircea Ilie (mirceax@tep.ro) 25-Sep-2001 ISO-8859-2 version by Mircea Ilie (mirceax@tep.ro) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.french for french). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Нn romБna"; char *langcode = "ro"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "НnregistrЦri"; char *msg_addresses="adrese"; char *msg_ignored = "ignorat"; char *msg_bad = "gre╨it"; char *msg_in = "Нn"; char *msg_seconds = "secunde"; /* progress and setup error messages */ char *msg_log_err = "Eroare: Nu pot deschide fi╨ierul jurnal"; char *msg_log_use = "Accesez fi╨ierul jurnal"; char *msg_dir_err = "Eroare: Nu pot sЦ ajung Нn directorul"; char *msg_dir_use = "Rezultatul este salvat Нn"; char *msg_cur_dir = "directorul curent"; char *msg_hostname= "Hostname-ul pentru rapoarte este"; char *msg_ign_hist= "Ignor fi╨ierul de istoric precedent..."; char *msg_no_hist = "Nu pot gЦsi fi╨ierul de istoric..."; char *msg_get_hist= "Citesc fi╨ierul de istoric..."; char *msg_put_hist= "Salvez informaЧiile Нn fi╨ierul de istoric..."; char *msg_hist_err= "Eroare: Nu pot sЦ scriu Нn fi╨ierul de istoric"; char *msg_bad_hist= "Eroare: Ignor НnregistrЦrile invalide din fi╨ierul de istoric"; char *msg_bad_conf= "Eroare: Nu pot deschide fi╨ierul de configurare"; char *msg_bad_key = "Avertisment: CuvНnt cheie invalid"; char *msg_bad_date= "Eroare: Sar Нnregistrarea (date incorecte)"; char *msg_ign_nscp= "Sar Нnregistrarea antetului Netscape"; char *msg_bad_rec = "Sar o Нnregistrare gre╨itЦ"; char *msg_no_vrec = "Nu am gЦsit nici o Нnregistrare corectЦ!"; char *msg_gen_rpt = "Generez un raport pentru"; char *msg_gen_sum = "Generez cuprinsul raportului"; char *msg_get_data= "Citesc datele rulate Нnainte..."; char *msg_put_data= "Salvez datele rulate acum..."; char *msg_no_data = "Datele rulate Нnainte nu au fost gЦsite..."; char *msg_bad_data= "Eroare: Nu pot reface datele rulate"; char *msg_data_err= "Eroare: Nu pot salva datele rulate acum"; char *msg_dup_data= "Avertisment: S-ar putea sЦ fi gЦsit date duplicate"; /* DNS Stuff */ char *msg_dns_nocf= "Nu s-a specificat nici un fi╨ier cache, renunЧ..."; char *msg_dns_nodb= "Eroare: Nu pot deschide fi╨ierul cache al DNS"; char *msg_dns_nolk= "Eroare: Nu pot bloca fi╨ierul cache al DNS"; char *msg_dns_usec= "Folosesc fi╨ierul cache al DNS"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "Nimic de prelucrat"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nu pot aloca suficientЦ memorie, dezactivez Top Situri!"; char *msg_nomem_tr= "Nu pot aloca suficientЦ memorie, dezactivez Top Pagini referente!"; char *msg_nomem_tu= "Nu pot aloca suficientЦ memorie, dezactivez Top URL-uri!"; char *msg_nomem_tc= "Nu pot aloca suficientЦ memorie, dezactivez Top чЦri!"; char *msg_nomem_ta= "Nu pot aloca suficientЦ memorie, dezactivez Top Navigatoare vizitatori!"; char *msg_nomem_tsr="Nu pot aloca suficientЦ memorie, dezactivez Top ╙iruri cЦutate!"; char *msg_nomem_ti= "Nu pot aloca suficientЦ memorie, dezactivez Top Utilizatori!"; char *msg_nomem_dh= "Eroare adЦugare nod host (zilnic), sar"; char *msg_nomem_mh= "Eroare adЦugare nod host (lunar), sar"; char *msg_nomem_u = "Eroare adЦugare nod URL, sar"; char *msg_nomem_a = "Eroare adЦugare nod Navigator client, sar"; char *msg_nomem_r = "Eroare adЦugare nod de PaginЦ referentЦ, sar"; char *msg_nomem_sc= "Eroare adЦugare nod ╙ir de cЦutare, sar"; char *msg_nomem_i = "Eroare adЦugare nod Utilizatori, sar"; /* log record errors */ char *msg_big_rec = "Eroare: Sar o Нnregistrare de jurnal supradimensionatЦ"; char *msg_big_host= "Avertisment: Trunchiez hostname supradimensionat"; char *msg_big_date= "Avertisment: Trunchiez cНmpul datЦ supradimensionat"; char *msg_big_req = "Avertisment: Trunchiez cНmpul cerere supradimensionat"; char *msg_big_ref = "Avertisment: Trunchiez cНmpul paginii referente supradimensionat"; char *msg_big_user= "Avertisment: Trunchiez cНmpul utilizator supradimensionat"; char *msg_big_one = "Avertisment: ╙irul depЦ╨e╨te dimensiunea spaЧiului de stocare"; /* misc errors */ char *msg_no_open = "Eroare: Nu pot deschide fi╨ierul"; /* Help display... */ char *h_usage1 = "Utilizare"; char *h_usage2 = "[opЧiuni] [fi╨ier jurnal]"; char *h_msg[]= { "-h = afi╨eazЦ acest mesaj de ajutor" , "-V = afi╨eazЦ informaЧii despre versiune" , "-v = be verbose" , "-d = afi╨eazЦ informaЧii de depanare suplimentare" , "-F type = Tip jurnal. type= (clf | ftp | squid | w3c)" , "-f = eroare la secvenЧa de fold" , "-i = ignorЦ fi╨ierul de istoric" , "-p = pЦstreazЦ starea (incremental)" , "-b = ignorЦ starea (incremental)" , "-q = eliminЦ mesajele de informare" , "-Q = eliminЦ _TOATE_ mesajele" , "-Y = eliminЦ graficul ЧЦrilor" , "-G = eliminЦ graficul orelor" , "-H = eliminЦ starea pe ore" , "-L = eliminЦ legenda graficelor color" , "-l num = folose╨te linii numerotate pe fundalul graficelor" , "-m num = valoarea timeout-ului pentru vizite (secunde)" , "-T = afi╨eazЦ informaЧiile temporale" , "-c file = folose╨te fi╨ierul de configurare 'file'" , "-n name = hostname-ul de folosit" , "-o dir = directorul folosit pentru rezultate" , "-t name = titlul raportului va fi 'name'" , "-a name = ascunde navigatoarele clienЧilor de tipul 'name'" , "-r name = ascunde pagina referentЦ cu numele 'name'" , "-s name = ascunde situl 'name'" , "-u name = ascunde URL-ul 'name'" , "-x name = folose╨te extensia de nume fi╨ier 'name'" , "-O name = Omit page 'name'" , "-P name = extensia tipului de paginЦ va fi 'name'" , "-I name = aliasul index-ului va fi 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = afi╨eazЦ numeric topul navigatoarelor clienЧilor" , "-C num = afi╨eazЦ numeric topul ЧЦrilor" , "-R num = afi╨eazЦ numeric topul referenЧilor" , "-S num = afi╨eazЦ numeric topul siturilor" , "-U num = afi╨eazЦ numeric topul URL-urilor" , "-e num = afi╨eazЦ numeric topul Paginilor de intrare", "-E num = afi╨eazЦ numeric topul Paginilor de iesire", "-X = Ascunde siturile individuale" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Folose╨te fi╨ierul cache DNS 'name'" , "-N num = NumЦrul de procese DNS (0=dezactivat)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Perioada analizatЦ"; char *msg_hhdr_gt = "Generat Нn"; /* main index strings */ char *msg_main_us = "Sumarul utilizarii lui"; /* char *msg_main_per= "ultimele 12 luni"; */ char *msg_main_per= "Sumarul pe lunЦ"; char *msg_main_sum= "Sumarul pe lunЦ"; char *msg_main_da = "Media zilnicЦ"; char *msg_main_mt = "Totaluri lunare"; /* month HTML page strings */ char *msg_hmth_du = "Utilizarea zilnicЦ pe lunЦ"; char *msg_hmth_hu = "Utilizarea orarЦ pe lunЦ"; /* table header strings */ char *msg_h_by = "dupЦ"; char *msg_h_avg = "Medie"; char *msg_h_max = "Maxim"; char *msg_h_total = "Total"; char *msg_h_totals= "Totaluri"; char *msg_h_day = "Zi"; char *msg_h_mth = "LunЦ"; char *msg_h_hour = "OrЦ"; char *msg_h_hits = "AccesЦri"; char *msg_h_pages = "Pagini"; char *msg_h_visits= "Vizite"; char *msg_h_files = "Fi╨iere"; char *msg_h_sites = "Situri"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Nume"; char *msg_h_url = "URL"; char *msg_h_agent = "Navigator"; char *msg_h_ref = "PaginЦ referentЦ"; char *msg_h_ctry = "чarЦ"; char *msg_h_search= "╙ir de cЦutare"; char *msg_h_uname = "Utilizator"; /* links along top of page */ char *msg_hlnk_ds = "Statistici zilnice"; char *msg_hlnk_hs = "Statistici orare"; char *msg_hlnk_u = "URL-uri"; char *msg_hlnk_s = "Situri"; char *msg_hlnk_a = "Navigator"; char *msg_hlnk_c = "чЦri"; char *msg_hlnk_r = "Pagini referente"; char *msg_hlnk_en = "IntrЦri"; char *msg_hlnk_ex = "Ie╨iri"; char *msg_hlnk_sr = "CЦutare"; char *msg_hlnk_i = "Utilizatori"; /* monthly total table */ char *msg_mtot_ms = "Statistici lunare pentru"; char *msg_mtot_th = "Total accesЦri"; char *msg_mtot_tf = "Total fi╨iere"; char *msg_mtot_tx = "Total Kbytes"; char *msg_mtot_us = "Total situri unice"; char *msg_mtot_ur = "Total pagini referente unice"; char *msg_mtot_ua = "Total navigatoare"; char *msg_mtot_uu = "Total URL-uri unice"; char *msg_mtot_ui = "Total Utilizatori unici"; char *msg_mtot_mhd= "Vizite pe zi"; char *msg_mtot_mhh= "Vizite pe orЦ"; char *msg_mtot_mfd= "Fi╨iere pe zi"; char *msg_mtot_mpd= "Pagini pe zi"; char *msg_mtot_msd= "Situri pe zi"; char *msg_mtot_mvd= "Vizite pe zi"; char *msg_mtot_mkd= "KBytes pe zi"; char *msg_mtot_rc = "AccesЦri dupЦ codul de rЦspuns"; /* daily total table */ char *msg_dtot_ds = "Statistici zilnice pe lunЦ"; /* hourly total table */ char *msg_htot_hs = "Statistici orare pe lunЦ"; /* country pie chart */ char *msg_ctry_use= "Utilizarea dupЦ ЧarЦ pe lunЦ"; /* top tables */ /* Formatted as "Topul xxx din xxx total ceva" */ char *msg_top_top = "Top"; char *msg_top_of = "din"; char *msg_top_s = "al Siturilor"; char *msg_top_u = "al URL-urilor"; char *msg_top_r = "al Paginilor referente"; char *msg_top_a = "al Navigatoarelor"; char *msg_top_c = "al чЦrilor"; char *msg_top_en = "total Pagini de intrare"; char *msg_top_ex = "total Pagini de ie╨ire"; char *msg_top_sr = "total ╙iruri de cЦutare"; char *msg_top_i = "total Utilizatori"; char *msg_v_sites = "Afi╨area tuturor siturilor"; char *msg_v_urls = "Afi╨area tuturor URL-urilor"; char *msg_v_refs = "Afi╨area tuturor paginilor referente"; char *msg_v_agents= "Afi╨area tuturor navigatoarelor"; char *msg_v_search= "Afi╨area tuturor cuvintelor cheie"; char *msg_v_users = "Afi╨area tuturor utiltizatorilor"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Noi", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie","Octombrie", "Noiembrie","Decembrie"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Cod de rЦspuns nedefinit", 0 }, { "Cod 100 - ContinuЦ", 0 }, { "Cod 101 - Schimb de protocol", 0 }, { "Cod 200 - OK", 0 }, { "Cod 201 - Creat", 0 }, { "Cod 202 - Acceptat", 0 }, { "Cod 203 - InformaЧie fЦrЦ autoritate", 0 }, { "Cod 204 - FЦrЦ conЧinut", 0 }, { "Cod 205 - IniЧializare conЧinut", 0 }, { "Cod 206 - ConЧinut parЧial", 0 }, { "Cod 300 - OpЧiuni multiple", 0 }, { "Cod 301 - Mutat permanent", 0 }, { "Cod 302 - GЦsit", 0 }, { "Cod 303 - Vezi alt", 0 }, { "Cod 304 - Nemodificat", 0 }, { "Cod 305 - Folose╨te proxy", 0 }, { "Cod 307 - Mutat temporar", 0 }, { "Cod 400 - Cerere gre╨itЦ", 0 }, { "Cod 401 - Neautorizat", 0 }, { "Cod 402 - PlatЦ solicitatЦ", 0 }, { "Cod 403 - Interzis", 0 }, { "Cod 404 - LipsЦ", 0 }, { "Cod 405 - MetodЦ nepermisЦ", 0 }, { "Cod 406 - Inacceptabil", 0 }, { "Cod 407 - Autentificare prin proxy necesarЦ", 0 }, { "Cod 408 - Timeout cerere", 0 }, { "Cod 409 - Conflict", 0 }, { "Cod 410 - SatisfЦcut", 0 }, { "Cod 411 - Lungime solicitatЦ", 0 }, { "Cod 412 - PrecondiЧie e╨uatЦ", 0 }, { "Cod 413 - Entitatea cerutЦ este prea mare", 0 }, { "Cod 414 - URI-ul cerut este prea lung", 0 }, { "Cod 415 - Tip de mediu necunoscut", 0 }, { "Cod 416 - Domeniul cererii nerealizabil", 0 }, { "Cod 417 - A╨teptarea a e╨uat", 0 }, { "Cod 500 - Eroare internЦ a serverului", 0 }, { "Cod 501 - Neimplementat", 0 }, { "Cod 502 - Gateway gre╨it", 0 }, { "Cod 503 - Serviciu indisponibil", 0 }, { "Cod 504 - Timeout la gateway", 0 }, { "Cod 505 - Versiune de HTTP neacceptatЦ", 0 } }; char *msg_title = "Statisticile de utilizare ale lui"; char *msg_h_other = "Altele"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nerezolvat/Necunoscut", 0,0,0 }, { IDX_3C('c','o','m'), "Comercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Guvernamental (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "InternaЧional (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Militar (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "ReЧea (Network)", 0,0,0 }, { IDX_3C('o','r','g'), "Чie Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Arpanet stilul vechi (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"NATO", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emiratele Arabe Unite", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua ╨i Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Antilele olandeze", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Samoa americanЦ", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaidjan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia ╨i HerЧegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgia", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazilia", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Insula Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Bielorusia", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Insulele Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Republica CentrafricanЦ", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "ElveЧia", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Coasta de Filde╨)", 0,0,0 }, { IDX_2C('c','k'), "Insulele Cook", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Camerun", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Columbia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Insulele Capului Verde", 0,0,0 }, { IDX_2C('c','x'), "Insulele Christmas", 0,0,0 }, { IDX_2C('c','y'), "Cipru", 0,0,0 }, { IDX_2C('c','z'), "Republica CehЦ", 0,0,0 }, { IDX_2C('d','e'), "Germania", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Danemarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Republica DominicanЦ", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egipt", 0,0,0 }, { IDX_2C('e','h'), "Sahara OccidentalЦ", 0,0,0 }, { IDX_2C('e','r'), "Eritreea", 0,0,0 }, { IDX_2C('e','s'), "Spania", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlanda", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Insulele Falkland (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronezia", 0,0,0 }, { IDX_2C('f','o'), "Insulele Faroe", 0,0,0 }, { IDX_2C('f','r'), "FranЧa", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Marea Britanie (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Guiana FrancezЦ", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Groenlanda", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guineea", 0,0,0 }, { IDX_2C('g','p'), "Guadelupe", 0,0,0 }, { IDX_2C('g','q'), "Guineea EcuatorialЦ", 0,0,0 }, { IDX_2C('g','r'), "Grecia", 0,0,0 }, { IDX_2C('g','s'), "Ins. S. Georgia si S. Sandwich", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guiana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Insulele Heard si McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "CroaЧia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Ungaria", 0,0,0 }, { IDX_2C('i','d'), "Indonezia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "Teritoriul Britanic din Oceanul Indian",0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Islanda", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Iordania", 0,0,0 }, { IDX_2C('j','p'), "Japonia", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "KНrgНzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodgia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Insulele Comore", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts si Nevis", 0,0,0 }, { IDX_2C('k','p'), "Coreea (de Nord)", 0,0,0 }, { IDX_2C('k','r'), "Coreea (de Sud)", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Insulele Cayman", 0,0,0 }, { IDX_2C('k','z'), "Kazahstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Liban", 0,0,0 }, { IDX_2C('l','c'), "SfНnta Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lituania", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "Letonia", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Maroc", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Insulele Marshall", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar (Birmania)", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Insulele Mariane de Nord", 0,0,0 }, { IDX_2C('m','q'), "Martinica", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldive", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexic", 0,0,0 }, { IDX_2C('m','y'), "Malaezia", 0,0,0 }, { IDX_2C('m','z'), "Mozambic", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Noua Caledonie", 0,0,0 }, { IDX_2C('n','e'), "Nigeria", 0,0,0 }, { IDX_2C('n','f'), "Insula Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Olanda", 0,0,0 }, { IDX_2C('n','o'), "Norvegia", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Noua ZeelandЦ", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Polinezia francezЦ", 0,0,0 }, { IDX_2C('p','g'), "Papua Noua Guinee", 0,0,0 }, { IDX_2C('p','h'), "Filipine", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polonia", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre ╨i Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugalia", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "RomБnia", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Rusia", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia SauditЦ", 0,0,0 }, { IDX_2C('s','b'), "Insulele Solomon", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Suedia", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "SfНnta Elena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Insulele Svalbard ╨i Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "Republica SlovacЦ", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome ╨i Principe", 0,0,0 }, { IDX_2C('s','u'), "URSS (fostЦ)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Insulele Turks si Caicos", 0,0,0 }, { IDX_2C('t','d'), "Ciad", 0,0,0 }, { IDX_2C('t','f'), "Teritoriile Antarctice Franceze", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tailanda", 0,0,0 }, { IDX_2C('t','j'), "Tadjikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turcia", 0,0,0 }, { IDX_2C('t','t'), "Trinidad-Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ucraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Regatul Unit al Marii Britanii", 0,0,0 }, { IDX_2C('u','m'), "Insulele US Minor Outlying", 0,0,0 }, { IDX_2C('u','s'), "Statele Unite ale Americii", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican (SfНntul Scaun)", 0,0,0 }, { IDX_2C('v','c'), "SfНntul Vincent ╨i Grenadine", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Insulele Virgine britance", 0,0,0 }, { IDX_2C('v','i'), "Insulele Virgine americane", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Insulele Wallis ╨i Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Africa de Sud", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.russian�������������������������������������������������������0000644�0001750�0001750�00000111522�11032527214�017563� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* This file is full of -*- C -*- code, so treat it as such. webalizer_lang.russian Webalizer V2.0x Language Support file for Russian. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 18-Aug-1998 Translated by Sergey Groznyh <gsm@infosite.ru> 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 10-Mar-2000 New 2.0 strings translated by Andrew A. Vasilyev (andy@demos.su) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. Note: In order to use the russian character set, the GD graphics library needs to be patched, otherwise you will get garbage. The file gd1.3-patch-koi8-r.gz includes this patch, which you should get and install before compiling the russian version of the Webalizer. Thanks to Sergey Groznyh for this submission. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Russian"; char *langcode = "ru"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "записей"; char *msg_addresses="адресов"; char *msg_ignored = "проигнорировано"; char *msg_bad = "неверных"; char *msg_in = "за"; char *msg_seconds = "секунд"; /* progress and setup error messages */ char *msg_log_err = "Ошибка: нельзя открыть учётный файл"; char *msg_log_use = "Используется учётный файл"; char *msg_dir_err = "Ошибка: нельзя сменить каталог на"; char *msg_dir_use = "Результат создаётся в"; char *msg_cur_dir = "текущем каталоге"; char *msg_hostname= "Для отчётов используется имя хоста"; char *msg_ign_hist= "Предыдущее состояние игнорируется..."; char *msg_no_hist = "Файл состояния не найден..."; char *msg_get_hist= "Читается файл состояния..."; char *msg_put_hist= "Сохраняется информация о состоянии..."; char *msg_hist_err= "Ошибка: нельзя записать файл состояния"; char *msg_bad_hist= "Ошибка: игнорируется неверная запись состояния"; char *msg_bad_conf= "Ошибка: нельзя открыть файл конфигурации"; char *msg_bad_key = "Предупреждение: неверное ключевое слово"; char *msg_bad_date= "Ошибка: пропускается запись (неверная дата)"; char *msg_ign_nscp= "Пропускается запись заголовка Netscape"; char *msg_bad_rec = "Пропускается неверная запись"; char *msg_no_vrec = "Не найдено ни одной верной записи!"; char *msg_gen_rpt = "Генерируется отчёт за"; char *msg_gen_sum = "Генерируется общий отчёт"; /* New for 1.1 */ /* Current state data messages */ char *msg_get_data= "Читаются данные предыдущего запуска..."; char *msg_put_data= "Сохраняются данные текущего запуска..."; char *msg_no_data = "Данные предыдущего запуска не найдены..."; char *msg_bad_data= "Ошибка: нельзя восстановить данные предыдущего запуска"; char *msg_data_err= "Ошибка: нельзя сохранить данные текущего запуска"; char *msg_dup_data= "Предупреждение: обнаружено возможное дублирование данных"; /* DNS Stuff */ char *msg_dns_nocf= "Не указан кэш-файл, останов..."; char *msg_dns_nodb= "Ошибка: нельзя открыть кэш-файл DNS"; char *msg_dns_nolk= "Ошибка: нельзя блокировать кэш-файл DNS"; char *msg_dns_usec= "Используется DNS кэш-файл"; char *msg_dns_rslv= "DNS поиск"; char *msg_dns_none= "Нечего обрабатывать"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Нельзя зарезервировать достаточно памяти, статистика сайтов отключена!"; char *msg_nomem_tr= "Нельзя зарезервировать достаточно памяти, статистика ссылающихся страниц отключена!"; char *msg_nomem_tu= "Нельзя зарезервировать достаточно памяти, статистика URL отключена!"; char *msg_nomem_tc= "Нельзя зарезервировать достаточно памяти, статистика стран отключена!"; char *msg_nomem_ta= "Нельзя зарезервировать достаточно памяти, статистика броузеров отключена!"; char *msg_nomem_tsr="Нельзя зарезервировать достаточно памяти, статистика строк поиска отключена!"; char *msg_nomem_ti= "Нельзя зарезервировать достаточно памяти, статистика имён пользователей отключена!"; char *msg_nomem_dh= "Ошибка добавления узла хоста (дневной отчёт), пропускается"; char *msg_nomem_mh= "Ошибка добавления узла хоста (месячный отчёт), пропускается"; char *msg_nomem_u = "Ошибка добавления узла URL, пропускается"; char *msg_nomem_a = "Ошибка добавления узла броузера, пропускается"; char *msg_nomem_r = "Ошибка добавления узла ссылки, пропускается"; char *msg_nomem_sc= "Ошибка добавления узла строки поиска, пропускается"; char *msg_nomem_i = "Ошибка добавления узла имени пользователя, пропускается"; /* log record errors */ char *msg_big_rec = "Ошибка: пропускается слишком длинная учётная запись"; char *msg_big_host= "Предупреждение: пропускается слишком длинное имя хоста"; char *msg_big_date= "Предупреждение: пропускается слишком длинное поле даты"; char *msg_big_req = "Предупреждение: пропускается слишком длинное поле запроса"; char *msg_big_ref = "Предупреждение: пропускается слишком длинное поле ссылающейся страницы"; char *msg_big_user= "Предупреждение: пропускается слишком длинное поле имени пользователя"; char *msg_big_one = "Предупреждение: строка превысила зарезервированный объём"; /* misc errors */ char *msg_no_open = "Ошибка: нельзя открыть файл"; /* Help display... */ char *h_usage1 = "Использование"; char *h_usage2 = "[параметры] [учётный файл]"; char *h_msg[]= { "-h = выдать это информационное сообщение" , "-V = выдать информацию о версии" , "-v = be verbose" , "-d = выдавать дополнительную отладочную информацию" , "-F тип = вид исходной статистики. тип = (clf | ftp | squid | w3c)", "-f = fold sequence errors" , "-i = игнорировать файл состояния" , "-p = сохранять информацию о состоянии (последовательно)" , "-b = ignore state (incremental)" , "-q = не выдавать информационных сообщений" , "-Q = не выдавать _НИКАКИХ_ сообщений" , "-Y = не выдавать график по странам" , "-G = не выдавать почасовой график" , "-H = не выдавать почасовую статистику" , "-L = не выдавать описание цветов в таблицах" , "-l число = размер тени в 'число' линий" , "-m число = интервал для определения 'посещения' (seconds)" , "-T = выдать информацию о затраченном времени" , "-c файл = использовать файл конфигурации 'файл'" , "-n имя = использовать в качестве имени хоста" , "-o кат. = использовать в качестве выходного каталога" , "-t имя = заголовок отчёта 'имя'" , "-a имя = не обрабатывать броузер 'имя'" , "-r имя = не обрабатывать ссылку 'имя'" , "-s имя = не обрабатывать хост 'имя'" , "-u имя = не обрабатывать URL 'имя'" , "-x имя = использовать расширение 'имя' для HTML-файлов" , "-O имя = Omit page 'имя'" , "-P имя = файлы с расширением 'имя' - страницы на сервере" , "-I имя = использовать как дополнительный индексный файл" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A число = Отображать 'число' записей статистики броузеров" , "-C число = Отображать 'число' записей статистики стран" , "-R число = Отображать 'число' записей статистики ссылающихся страниц", "-S число = Отображать 'число' записей статистики сайтов" , "-U число = Отображать 'число' записей статистики URL" , "-e число = Отображать 'число' записей начальных страниц" , "-E число = Отображать 'число' записей последних страниц" , "-g число = Группировать домены уровня 'число'" , "-X = Скрыть отдельные сайты" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D имя = Использовать DNS 'имя' кэш-файл" , "-N число = Число DNS процессов (0=отключить)" , "-j = Enable native GeoDB lookups" , "-J имя = Use GeoIP database 'имя'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W имя = Use GeoIP database 'имя'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Период статистики"; char *msg_hhdr_gt = "Дата создания"; /* main index strings */ char *msg_main_us = "Суммарное использование сервера"; /* char *msg_main_per= "последние 12 месяцев"; */ char *msg_main_per= "Ежемесячная статистика"; char *msg_main_sum= "Ежемесячная статистика"; char *msg_main_da = "В среднем за день"; char *msg_main_mt = "Всего за месяц"; /* month HTML page strings */ char *msg_hmth_du = "Использование по дням на"; char *msg_hmth_hu = "Использование по часам на"; /* table header strings */ char *msg_h_by = "по"; char *msg_h_avg = "В среднем"; char *msg_h_max = "Max"; char *msg_h_total = "Всего"; char *msg_h_totals= "Всего"; char *msg_h_day = "День"; char *msg_h_mth = "Месяц"; char *msg_h_hour = "Час"; char *msg_h_hits = "запросов"; char *msg_h_pages = "страниц"; char *msg_h_visits= "посещений"; char *msg_h_files = "файлов"; char *msg_h_sites = "сайтов"; char *msg_h_xfer = "Кбайт"; char *msg_h_hname = "Имя хоста"; char *msg_h_url = "URL"; char *msg_h_agent = "Броузер"; char *msg_h_ref = "Ссылающаяся страница"; char *msg_h_ctry = "Страна"; char *msg_h_search= "Строка поиска"; char *msg_h_uname = "Имя пользователя"; /* links along top of page */ char *msg_hlnk_ds = "Статистика по дням"; char *msg_hlnk_hs = "Статистика по часам"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "Сайты"; char *msg_hlnk_a = "Броузеры"; char *msg_hlnk_c = "Страны"; char *msg_hlnk_r = "Ссылающиеся страницы"; char *msg_hlnk_en = "Начальные страницы"; char *msg_hlnk_ex = "Последние страницы"; char *msg_hlnk_sr = "Поиск"; char *msg_hlnk_i = "Пользователи"; /* monthly total table */ char *msg_mtot_ms = "Статистика за месяц на"; char *msg_mtot_th = "Всего запросов"; char *msg_mtot_tf = "Всего файлов"; char *msg_mtot_tx = "Всего килобайт"; char *msg_mtot_us = "Всего уникальных сайтов"; char *msg_mtot_ur = "Всего уникальных ссылающихся страниц"; char *msg_mtot_ua = "Всего уникальных броузеров"; char *msg_mtot_uu = "Всего уникальных URL"; char *msg_mtot_ui = "Всего уникальных имён"; char *msg_mtot_mhd= "Обращений в день"; char *msg_mtot_mhh= "Обращений в час"; char *msg_mtot_mfd= "Файлов в день"; char *msg_mtot_mpd= "Страниц в день"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "Посещений в день"; char *msg_mtot_mkd= "Объём в день (Кбайт)"; char *msg_mtot_rc = "Запросы по кодам ответа"; /* daily total table */ char *msg_dtot_ds = "Статистика по дням на"; /* hourly total table */ char *msg_htot_hs = "Статистика по часам на"; /* country pie chart */ char *msg_ctry_use= "Статистика по странам на"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Первые"; char *msg_top_of = "из"; char *msg_top_s = "сайтов"; char *msg_top_u = "URL"; char *msg_top_r = "ссылающихся страниц"; char *msg_top_a = "броузеров"; char *msg_top_c = "стран"; char *msg_top_en = "начальных страниц"; char *msg_top_ex = "последних страниц"; char *msg_top_sr = "строк поиска"; char *msg_top_i = "имён пользователей"; char *msg_v_sites = "Посмотреть все сайты"; char *msg_v_urls = "Посмотреть все URL-ы"; char *msg_v_refs = "Посмотреть все ссылающиеся страницы"; char *msg_v_agents= "Посмотреть все броузеры"; char *msg_v_search= "Посмотреть все строки поиска"; char *msg_v_users = "Посмотреть все имена пользователей"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"}; /* long month names - can be any length */ char *l_month[12]={ "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Неизвестный код ответа", 0 }, { "Код 100 - Continue", 0 }, { "Код 101 - Switching Protocols", 0 }, { "Код 200 - OK", 0 }, { "Код 201 - Created", 0 }, { "Код 202 - Accepted", 0 }, { "Код 203 - Non-Authoritative Information", 0 }, { "Код 204 - No Content", 0 }, { "Код 205 - Reset Content", 0 }, { "Код 206 - Partial Content", 0 }, { "Код 300 - Multiple Choices", 0 }, { "Код 301 - Moved Permanently", 0 }, { "Код 302 - Found", 0 }, { "Код 303 - See Other", 0 }, { "Код 304 - Not Modified", 0 }, { "Код 305 - Use Proxy", 0 }, { "Код 307 - Moved Temporarily", 0 }, { "Код 400 - Bad Request", 0 }, { "Код 401 - Unauthorized", 0 }, { "Код 402 - Payment Required", 0 }, { "Код 403 - Forbidden", 0 }, { "Код 404 - Not Found", 0 }, { "Код 405 - Method Not Allowed", 0 }, { "Код 406 - Not Acceptable", 0 }, { "Код 407 - Proxy Authentication Required", 0 }, { "Код 408 - Request Timeout", 0 }, { "Код 409 - Conflict", 0 }, { "Код 410 - Gone", 0 }, { "Код 411 - Length Required", 0 }, { "Код 412 - Precondition Failed", 0 }, { "Код 413 - Request Entity Too Large", 0 }, { "Код 414 - Request-URI Too Long", 0 }, { "Код 415 - Unsupported Media Type", 0 }, { "Код 416 - Requested Range Not Satisfiable", 0 }, { "Код 417 - Expectation Failed", 0 }, { "Код 500 - Internal Server Error", 0 }, { "Код 501 - Not Implemented", 0 }, { "Код 502 - Bad Gateway", 0 }, { "Код 503 - Service Unavailable", 0 }, { "Код 504 - Gateway Timeout", 0 }, { "Код 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Статистика использования сервера"; char *msg_h_other = "Прочие"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Нераспознанные/неизвестные", 0,0,0 }, { IDX_3C('c','o','m'), "США коммерческие", 0,0,0 }, { IDX_3C('e','d','u'), "США образовательные", 0,0,0 }, { IDX_3C('g','o','v'), "США правительственные", 0,0,0 }, { IDX_3C('i','n','t'), "Интернациональные (int)", 0,0,0 }, { IDX_3C('m','i','l'), "США военные", 0,0,0 }, { IDX_3C('n','e','t'), "Сетевые организации", 0,0,0 }, { IDX_3C('o','r','g'), "Некоммерческие организации", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Старый Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Зона НАТО (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Андорра", 0,0,0 }, { IDX_2C('a','e'), "Объединённые Арабские Эмираты", 0,0,0 }, { IDX_2C('a','f'), "Афганистан", 0,0,0 }, { IDX_2C('a','g'), "Антигуа и Барбуда", 0,0,0 }, { IDX_2C('a','i'), "Ангуилла", 0,0,0 }, { IDX_2C('a','l'), "Албания", 0,0,0 }, { IDX_2C('a','m'), "Армения", 0,0,0 }, { IDX_2C('a','n'), "Нидерландские Антиллы", 0,0,0 }, { IDX_2C('a','o'), "Ангола", 0,0,0 }, { IDX_2C('a','q'), "Антарктика", 0,0,0 }, { IDX_2C('a','r'), "Аргентина", 0,0,0 }, { IDX_2C('a','s'), "Американское Самоа", 0,0,0 }, { IDX_2C('a','t'), "Австрия", 0,0,0 }, { IDX_2C('a','u'), "Австралия", 0,0,0 }, { IDX_2C('a','w'), "Аруба", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Азербайджан", 0,0,0 }, { IDX_2C('b','a'), "Босния и Герцеговина", 0,0,0 }, { IDX_2C('b','b'), "Барбадос", 0,0,0 }, { IDX_2C('b','d'), "Бангладеш", 0,0,0 }, { IDX_2C('b','e'), "Бельгия", 0,0,0 }, { IDX_2C('b','f'), "Буркина Фасо", 0,0,0 }, { IDX_2C('b','g'), "Болгария", 0,0,0 }, { IDX_2C('b','h'), "Бахрейн", 0,0,0 }, { IDX_2C('b','i'), "Бурунди", 0,0,0 }, { IDX_2C('b','j'), "Бенин", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Бермудские острова", 0,0,0 }, { IDX_2C('b','n'), "Бруней Даруссалам", 0,0,0 }, { IDX_2C('b','o'), "Боливия", 0,0,0 }, { IDX_2C('b','r'), "Бразилия", 0,0,0 }, { IDX_2C('b','s'), "Багамы", 0,0,0 }, { IDX_2C('b','t'), "Бутан", 0,0,0 }, { IDX_2C('b','v'), "Остров Бувет", 0,0,0 }, { IDX_2C('b','w'), "Ботсвана", 0,0,0 }, { IDX_2C('b','y'), "Беларусь", 0,0,0 }, { IDX_2C('b','z'), "Белиз", 0,0,0 }, { IDX_2C('c','a'), "Канада", 0,0,0 }, { IDX_2C('c','c'), "Кокосовые Острова", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Центральноафриканская республика", 0,0,0 }, { IDX_2C('c','g'), "Конго", 0,0,0 }, { IDX_2C('c','h'), "Швейцария", 0,0,0 }, { IDX_2C('c','i'), "Побережье Ивори", 0,0,0 }, { IDX_2C('c','k'), "Острова Кука", 0,0,0 }, { IDX_2C('c','l'), "Чили", 0,0,0 }, { IDX_2C('c','m'), "Камерун", 0,0,0 }, { IDX_2C('c','n'), "Китай", 0,0,0 }, { IDX_2C('c','o'), "Колумбия", 0,0,0 }, { IDX_2C('c','r'), "Коста-Рика", 0,0,0 }, { IDX_2C('c','u'), "Куба", 0,0,0 }, { IDX_2C('c','v'), "Капе-Верде", 0,0,0 }, { IDX_2C('c','x'), "Остров Рождества", 0,0,0 }, { IDX_2C('c','y'), "Кипр", 0,0,0 }, { IDX_2C('c','z'), "Республика Чехия", 0,0,0 }, { IDX_2C('d','e'), "Германия", 0,0,0 }, { IDX_2C('d','j'), "Джибути", 0,0,0 }, { IDX_2C('d','k'), "Дания", 0,0,0 }, { IDX_2C('d','m'), "Доминика", 0,0,0 }, { IDX_2C('d','o'), "Доминиканская Республика", 0,0,0 }, { IDX_2C('d','z'), "Алгерия", 0,0,0 }, { IDX_2C('e','c'), "Эквадор", 0,0,0 }, { IDX_2C('e','e'), "Эстония", 0,0,0 }, { IDX_2C('e','g'), "Египет", 0,0,0 }, { IDX_2C('e','h'), "Западная Сахара", 0,0,0 }, { IDX_2C('e','r'), "Эритрея", 0,0,0 }, { IDX_2C('e','s'), "Испания", 0,0,0 }, { IDX_2C('e','t'), "Эфиопия", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Финляндия", 0,0,0 }, { IDX_2C('f','j'), "Фиджи", 0,0,0 }, { IDX_2C('f','k'), "Фолклендские (Мальвинские) о-ва", 0,0,0 }, { IDX_2C('f','m'), "Микронезия", 0,0,0 }, { IDX_2C('f','o'), "Фарерские Острова", 0,0,0 }, { IDX_2C('f','r'), "Франция", 0,0,0 }, { IDX_2C('g','a'), "Габон", 0,0,0 }, { IDX_2C('g','b'), "Великобритания (UK)", 0,0,0 }, { IDX_2C('g','d'), "Гренада", 0,0,0 }, { IDX_2C('g','e'), "Грузия", 0,0,0 }, { IDX_2C('g','f'), "Французская Гвиана", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Гана", 0,0,0 }, { IDX_2C('g','i'), "Гибралтар", 0,0,0 }, { IDX_2C('g','l'), "Гренландия", 0,0,0 }, { IDX_2C('g','m'), "Гамбия", 0,0,0 }, { IDX_2C('g','n'), "Гвинея", 0,0,0 }, { IDX_2C('g','p'), "Гваделупа", 0,0,0 }, { IDX_2C('g','q'), "Экваториальная Гвинея", 0,0,0 }, { IDX_2C('g','r'), "Греция", 0,0,0 }, { IDX_2C('g','s'), "Южн. Георгия и Южн. Сандвичевы о-ва", 0,0,0 }, { IDX_2C('g','t'), "Гватемала", 0,0,0 }, { IDX_2C('g','u'), "Гуам", 0,0,0 }, { IDX_2C('g','w'), "Гвинея-Бисау", 0,0,0 }, { IDX_2C('g','y'), "Гайана", 0,0,0 }, { IDX_2C('h','k'), "Гонконг", 0,0,0 }, { IDX_2C('h','m'), "Острова Херда и Макдональда", 0,0,0 }, { IDX_2C('h','n'), "Гондурас", 0,0,0 }, { IDX_2C('h','r'), "Хорватия", 0,0,0 }, { IDX_2C('h','t'), "Гаити", 0,0,0 }, { IDX_2C('h','u'), "Венгрия", 0,0,0 }, { IDX_2C('i','d'), "Индонезия", 0,0,0 }, { IDX_2C('i','e'), "Ирландия", 0,0,0 }, { IDX_2C('i','l'), "Израиль", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Индия", 0,0,0 }, { IDX_2C('i','o'), "Британская терр. в Индийск. океане", 0,0,0 }, { IDX_2C('i','q'), "Ирак", 0,0,0 }, { IDX_2C('i','r'), "Иран", 0,0,0 }, { IDX_2C('i','s'), "Исландия", 0,0,0 }, { IDX_2C('i','t'), "Италия", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Ямайка", 0,0,0 }, { IDX_2C('j','o'), "Иордания", 0,0,0 }, { IDX_2C('j','p'), "Япония", 0,0,0 }, { IDX_2C('k','e'), "Кения", 0,0,0 }, { IDX_2C('k','g'), "Кыргызстан", 0,0,0 }, { IDX_2C('k','h'), "Камбоджа", 0,0,0 }, { IDX_2C('k','i'), "Кирибати", 0,0,0 }, { IDX_2C('k','m'), "Каморские острова", 0,0,0 }, { IDX_2C('k','n'), "Острова святого Китса и Невиса", 0,0,0 }, { IDX_2C('k','p'), "Северная Корея", 0,0,0 }, { IDX_2C('k','r'), "Южная Корея", 0,0,0 }, { IDX_2C('k','w'), "Кувейт", 0,0,0 }, { IDX_2C('k','y'), "Каймановые острова", 0,0,0 }, { IDX_2C('k','z'), "Казахстан", 0,0,0 }, { IDX_2C('l','a'), "Лаос", 0,0,0 }, { IDX_2C('l','b'), "Лебанон", 0,0,0 }, { IDX_2C('l','c'), "Санта Лючия", 0,0,0 }, { IDX_2C('l','i'), "Лихтенштейн", 0,0,0 }, { IDX_2C('l','k'), "Шри Ланка", 0,0,0 }, { IDX_2C('l','r'), "Либерия", 0,0,0 }, { IDX_2C('l','s'), "Лесото", 0,0,0 }, { IDX_2C('l','t'), "Литания", 0,0,0 }, { IDX_2C('l','u'), "Люксембург", 0,0,0 }, { IDX_2C('l','v'), "Латвия", 0,0,0 }, { IDX_2C('l','y'), "Ливия", 0,0,0 }, { IDX_2C('m','a'), "Марокко", 0,0,0 }, { IDX_2C('m','c'), "Монако", 0,0,0 }, { IDX_2C('m','d'), "Молдавия", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Мадагаскар", 0,0,0 }, { IDX_2C('m','h'), "Маршалловы острова", 0,0,0 }, { IDX_2C('m','k'), "Македония", 0,0,0 }, { IDX_2C('m','l'), "Мали", 0,0,0 }, { IDX_2C('m','m'), "Майанмар", 0,0,0 }, { IDX_2C('m','n'), "Монголия", 0,0,0 }, { IDX_2C('m','o'), "Маккау", 0,0,0 }, { IDX_2C('m','p'), "Северные Марианские острова", 0,0,0 }, { IDX_2C('m','q'), "Мартиника", 0,0,0 }, { IDX_2C('m','r'), "Мавритания", 0,0,0 }, { IDX_2C('m','s'), "Монсеррат", 0,0,0 }, { IDX_2C('m','t'), "Мальта", 0,0,0 }, { IDX_2C('m','u'), "Мавритания", 0,0,0 }, { IDX_2C('m','v'), "Мальдивская республика", 0,0,0 }, { IDX_2C('m','w'), "Малави", 0,0,0 }, { IDX_2C('m','x'), "Мексика", 0,0,0 }, { IDX_2C('m','y'), "Малайзия", 0,0,0 }, { IDX_2C('m','z'), "Мозамбик", 0,0,0 }, { IDX_2C('n','a'), "Намибия", 0,0,0 }, { IDX_2C('n','c'), "Новая Каледония", 0,0,0 }, { IDX_2C('n','e'), "Нигер", 0,0,0 }, { IDX_2C('n','f'), "Остров Норфолк", 0,0,0 }, { IDX_2C('n','g'), "Нигерия", 0,0,0 }, { IDX_2C('n','i'), "Никарагуа", 0,0,0 }, { IDX_2C('n','l'), "Нидерланды", 0,0,0 }, { IDX_2C('n','o'), "Норвегия", 0,0,0 }, { IDX_2C('n','p'), "Непал", 0,0,0 }, { IDX_2C('n','r'), "Науру", 0,0,0 }, { IDX_2C('n','u'), "Ниуэ", 0,0,0 }, { IDX_2C('n','z'), "Новая Зеландия", 0,0,0 }, { IDX_2C('o','m'), "Оман", 0,0,0 }, { IDX_2C('p','a'), "Панама", 0,0,0 }, { IDX_2C('p','e'), "Перу", 0,0,0 }, { IDX_2C('p','f'), "Французская Полинезия", 0,0,0 }, { IDX_2C('p','g'), "Папуа Новая Гвинея", 0,0,0 }, { IDX_2C('p','h'), "Филиппины", 0,0,0 }, { IDX_2C('p','k'), "Пакистан", 0,0,0 }, { IDX_2C('p','l'), "Польша", 0,0,0 }, { IDX_2C('p','m'), "Остров святого Пьера и Мигеля", 0,0,0 }, { IDX_2C('p','n'), "Питккерн", 0,0,0 }, { IDX_2C('p','r'), "Пуэрто Рико", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Португалия", 0,0,0 }, { IDX_2C('p','w'), "Палау", 0,0,0 }, { IDX_2C('p','y'), "Парагвай", 0,0,0 }, { IDX_2C('q','a'), "Кватар", 0,0,0 }, { IDX_2C('r','e'), "Остров Реюньон", 0,0,0 }, { IDX_2C('r','o'), "Румыния", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Российская Федерация", 0,0,0 }, { IDX_2C('r','w'), "Руана", 0,0,0 }, { IDX_2C('s','a'), "Саудовская Аравия", 0,0,0 }, { IDX_2C('s','b'), "Соломоновы острова", 0,0,0 }, { IDX_2C('s','c'), "Сейшельские острова", 0,0,0 }, { IDX_2C('s','d'), "Судан", 0,0,0 }, { IDX_2C('s','e'), "Швеция", 0,0,0 }, { IDX_2C('s','g'), "Сингапур", 0,0,0 }, { IDX_2C('s','h'), "Остров святой Елены", 0,0,0 }, { IDX_2C('s','i'), "Словения", 0,0,0 }, { IDX_2C('s','j'), "Острова Свалбард и Ян-Майен", 0,0,0 }, { IDX_2C('s','k'), "Республика Словакия", 0,0,0 }, { IDX_2C('s','l'), "Сьерра Леоне", 0,0,0 }, { IDX_2C('s','m'), "Сан Марино", 0,0,0 }, { IDX_2C('s','n'), "Сенегал", 0,0,0 }, { IDX_2C('s','o'), "Сомали", 0,0,0 }, { IDX_2C('s','r'), "Суринам", 0,0,0 }, { IDX_2C('s','t'), "Сао Том и Принциповы острова", 0,0,0 }, { IDX_2C('s','u'), "Бывший СССР (SU)", 0,0,0 }, { IDX_2C('s','v'), "Сальвадор", 0,0,0 }, { IDX_2C('s','y'), "Сирия", 0,0,0 }, { IDX_2C('s','z'), "Свазиланд", 0,0,0 }, { IDX_2C('t','c'), "Острова Тюркс и Кайкос", 0,0,0 }, { IDX_2C('t','d'), "Республика Чад", 0,0,0 }, { IDX_2C('t','f'), "Южные французские территории", 0,0,0 }, { IDX_2C('t','g'), "Того", 0,0,0 }, { IDX_2C('t','h'), "Таиланд", 0,0,0 }, { IDX_2C('t','j'), "Таджикистан", 0,0,0 }, { IDX_2C('t','k'), "Острова Токелау", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Туркменистан", 0,0,0 }, { IDX_2C('t','n'), "Тунис", 0,0,0 }, { IDX_2C('t','o'), "Острова Тонга", 0,0,0 }, { IDX_2C('t','p'), "Восточный Тимор", 0,0,0 }, { IDX_2C('t','r'), "Турция", 0,0,0 }, { IDX_2C('t','t'), "Тринидад и Тобаго", 0,0,0 }, { IDX_2C('t','v'), "Тувалау", 0,0,0 }, { IDX_2C('t','w'), "Тайвань", 0,0,0 }, { IDX_2C('t','z'), "Танзания", 0,0,0 }, { IDX_2C('u','a'), "Украина", 0,0,0 }, { IDX_2C('u','g'), "Уганда", 0,0,0 }, { IDX_2C('u','k'), "Объединённое Королевство", 0,0,0 }, { IDX_2C('u','m'), "Малые внешние острова (США)", 0,0,0 }, { IDX_2C('u','s'), "Соединённые Штаты", 0,0,0 }, { IDX_2C('u','y'), "Уругвай", 0,0,0 }, { IDX_2C('u','z'), "Узбекистан", 0,0,0 }, { IDX_2C('v','a'), "Ватикан", 0,0,0 }, { IDX_2C('v','c'), "О-ва св. Винсента и Гренадины", 0,0,0 }, { IDX_2C('v','e'), "Венесуэла", 0,0,0 }, { IDX_2C('v','g'), "Виргинские острова (Британия)", 0,0,0 }, { IDX_2C('v','i'), "Виргинские острова (США)", 0,0,0 }, { IDX_2C('v','n'), "Вьетнам", 0,0,0 }, { IDX_2C('v','u'), "Вануату", 0,0,0 }, { IDX_2C('w','f'), "Острова Вэллис и Футуна", 0,0,0 }, { IDX_2C('w','s'), "Самоа", 0,0,0 }, { IDX_2C('y','e'), "Йемен", 0,0,0 }, { IDX_2C('y','t'), "Остров Майотта", 0,0,0 }, { IDX_2C('y','u'), "Югославия", 0,0,0 }, { IDX_2C('z','a'), "Южная Африка", 0,0,0 }, { IDX_2C('z','m'), "Замбия", 0,0,0 }, { IDX_2C('z','w'), "Зимбабве", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.serbian�������������������������������������������������������0000644�0001750�0001750�00000105447�11032527214�017533� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.serbian Webalizer V2.0x Language Support file for Serbian. 12-Jun-1999 Original translation by Goran Opacic and Sanja Markovic 13-Oct-2000 updated for v2.0 by Boris Drajer <bdrajer@inet.co.yu> 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Serbian"; char *langcode = "sr"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Period sumiranja"; char *msg_hhdr_gt = "Generisano"; /* main index strings */ char *msg_main_us = "Pregled pristupa za"; /* char *msg_main_per= "Poslednjih 12 meseci"; */ char *msg_main_per= "Pregled po mesecima"; char *msg_main_sum= "Pregled po mesecima"; char *msg_main_da = "Dnevni prosek"; char *msg_main_mt = "Mesecni zbirovi"; /* month HTML page strings */ char *msg_hmth_du = "Pristupi po danu za"; char *msg_hmth_hu = "Pristupi po satu za"; /* table header strings */ char *msg_h_by = "po"; char *msg_h_avg = "prosek"; char *msg_h_max = "Max"; char *msg_h_total = "Ukupno"; char *msg_h_totals= "Ukupno za sve"; char *msg_h_day = "Dan"; char *msg_h_mth = "Mesec"; char *msg_h_hour = "Sat"; char *msg_h_hits = "Pristupa"; char *msg_h_pages = "Strana"; char *msg_h_visits= "Poseta"; char *msg_h_files = "Fajlova"; char *msg_h_sites = "Racunara"; char *msg_h_xfer = "KB"; char *msg_h_hname = "Racunar"; char *msg_h_url = "URL"; char *msg_h_agent = "Korisnicki program"; char *msg_h_ref = "Referer"; char *msg_h_ctry = "Zemlja"; char *msg_h_search= "Tekst pretrazivanja"; char *msg_h_uname = "Korisnik"; /* links along top of page */ char *msg_hlnk_ds = "Dnevna statistika"; char *msg_hlnk_hs = "Statistika po satu"; char *msg_hlnk_u = "URL-ovi"; char *msg_hlnk_s = "Racunari"; char *msg_hlnk_a = "Browseri"; char *msg_hlnk_c = "Zemlje"; char *msg_hlnk_r = "Referisanja"; char *msg_hlnk_en = "Ulaz"; char *msg_hlnk_ex = "Izlaz"; char *msg_hlnk_sr = "Pretraga"; char *msg_hlnk_i = "Korisnici"; /* monthly total table */ char *msg_mtot_ms = "Mesecna statistika za"; char *msg_mtot_th = "Ukupno pristupa"; char *msg_mtot_tf = "Ukupno fajlova"; char *msg_mtot_tx = "Ukupno KBajta"; char *msg_mtot_us = "Ukupno razlicitih racunara"; char *msg_mtot_ur = "Ukupno razlicitih referisanja"; char *msg_mtot_ua = "Ukupno razlicitih browsera"; char *msg_mtot_uu = "Ukupno razlicitih URL-ova"; char *msg_mtot_ui = "Ukupno razlicitih korisnickih imena"; char *msg_mtot_mhd= "Pristupa na dan"; char *msg_mtot_mhh= "Pristupa na sat"; char *msg_mtot_mfd= "Fajlova na dan"; char *msg_mtot_mpd= "Fajlova na sat"; char *msg_mtot_msd= "Racunara na dan"; char *msg_mtot_mvd= "Poseta na dan"; char *msg_mtot_mkd= "KBajta na dan"; char *msg_mtot_rc = "Pristupa po kodu"; /* daily total table */ char *msg_dtot_ds = "Dnevna statistika za"; /* hourly total table */ char *msg_htot_hs = "Statistika po satu za"; /* country pie chart */ char *msg_ctry_use= "Pristup po zemljama za"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Prvih"; char *msg_top_of = "od"; char *msg_top_s = "racunara"; char *msg_top_u = "URL-ova"; char *msg_top_r = "referisanja"; char *msg_top_a = "korisnickih programa"; char *msg_top_c = "zemalja"; char *msg_top_en = "ulaznih strana"; char *msg_top_ex = "izlaznih strana"; char *msg_top_sr = "tekstova pretrazivanja"; char *msg_top_i = "korisnickih imena"; char *msg_v_sites = "Pregled svih racunara"; char *msg_v_urls = "Pregled svih URL-ova"; char *msg_v_refs = "Pregled svih referisanja"; char *msg_v_agents= "Pregled svih korisnickih programa"; char *msg_v_search= "Pregled svih tekstova pretrazivanja"; char *msg_v_users = "Pregled svih korisnickih imena"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar","Oktobar", "Novembar","Decembar"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Statistika pristupa za"; char *msg_h_other = "Ostalo"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nedefinisano/Nepoznato", 0,0,0 }, { IDX_3C('c','o','m'), "Komercijalni (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Obrazovni (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "SAD vlada (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internacionalni (int)", 0,0,0 }, { IDX_3C('m','i','l'), "SAD vojni (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Mrezni domeni (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizacije (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Stari Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.simplified_chinese��������������������������������������������0000644�0001750�0001750�00000104216�11032527214�021724� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.simplified_chinese Webalizer V2.0x Language Support file for Simplified Chinese (used in Mainland China). 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Simplified Chinese"; char *langcode = "zh-Hans"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "лУ╪гб╪"; char *msg_addresses="╣ьж╥"; char *msg_ignored = "лУ╠╩╨Жбт"; char *msg_bad = "лУнчп╖"; char *msg_in = "╧╡сцй╠"; char *msg_seconds = "цК"; /* progress and setup error messages */ char *msg_log_err = "╢МнС: ╡╩дэ╢Р©╙хуж╬нд╪Ч"; char *msg_log_use = "й╧сцхуж╬нд╪Ч"; char *msg_dir_err = "╢МнС: ╡╩дэ╦д╠Дд©б╪╣╫"; char *msg_dir_use = "йДЁЖ╫А╧Ш╣╫"; char *msg_cur_dir = "╣╠г╟д©б╪"; char *msg_hostname= "╡ЗиЗ╠╗╠М╣джВ╩ЗцШйг"; char *msg_ign_hist= "╨Жбтртг╟╣дюЗй╥пео╒..."; char *msg_no_hist = "ц╩спур╣╫юЗй╥пео╒нд╪Ч..."; char *msg_get_hist= "уЩтз╤ах║юЗй╥пео╒нд╪Ч..."; char *msg_put_hist= "уЩтз╠ё╢ФюЗй╥пео╒нд╪Ч..."; char *msg_hist_err= "╢МнС: ╡╩дэп╢хКюЗй╥пео╒нд╪Ч"; char *msg_bad_hist= "╢МнС: ╨Жбт╥г╥╗юЗй╥пео╒╪гб╪"; char *msg_bad_conf= "╢МнС: ╡╩дэ╢Р©╙еДжцнд╪Ч"; char *msg_bad_key = "╬╞╦Ф: ╥г╥╗╧ь╪Э╢й"; char *msg_bad_date= "╢МнС: лЬ╧Щ╪гб╪(хуфз╢МнС)"; char *msg_ign_nscp= "лЬ╧Щ Netscape м╥╪гб╪"; char *msg_bad_rec = "лЬ╧Щ╢МнС╪гб╪"; char *msg_no_vrec = "ц╩спур╣╫╨о╥╗╪гб╪!"; char *msg_gen_rpt = "уЩтзиЗЁи╠╗╠М ---- н╙ "; char *msg_gen_sum = "уЩтзиЗЁивш╨о╠╗╠М"; char *msg_get_data= "уЩтз╤ах║ио╢нткпп╣дйЩ╬щ..."; char *msg_put_data= "уЩтз╠ё╢Ф╣╠г╟ткпп╣дйЩ╬щ..."; char *msg_no_data = "ц╩спур╣╫ио╢нткпп╣дйЩ╬щ..."; char *msg_bad_data= "╢МнС: ╡╩дэ╤ах║ио╢нткппйЩ╬щ"; char *msg_data_err= "╢МнС: ╡╩дэ╠ё╢Ф╣╠г╟ткппйЩ╬щ"; char *msg_dup_data= "╬╞╦Ф: ╥╒ож©идэ╣джь╦╢йЩ╬щ"; /* DNS Stuff */ char *msg_dns_nocf= "ц╩спж╦цВ DNS ╩╨╢Фнд╪Ч, мкЁЖ..."; char *msg_dns_nodb= "╢МнС: ╡╩дэ╢Р©╙ DNS ╩╨╢Фнд╪Ч"; char *msg_dns_nolk= "╢МнС: ╡╩дэкЬ╤╗ DNS ╩╨╢Фнд╪Ч"; char *msg_dns_usec= "уЩтзй╧сц DNS ╩╨╢Фнд╪Ч"; char *msg_dns_rslv= "DNS ╡Иур"; char *msg_dns_none= "ц╩сп©ирт╢╕юМ╣д╪гб╪"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top Sites ╠╗╦ФоН!"; char *msg_nomem_tr= "╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top Referrers ╠╗╦ФоН!"; char *msg_nomem_tu= "╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top URLs ╠╗╦ФоН!"; char *msg_nomem_tc= "╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top Countries ╠╗╦ФоН!"; char *msg_nomem_ta= "╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top User Agents ╠╗╦ФоН!"; char *msg_nomem_tsr="╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top Search Strings ╠╗╦ФоН!"; char *msg_nomem_ti= "╡╩дэ╥жеДвЦ╧╩╣ддз╢Ф, х║оШ Top Usernames ╠╗╦ФоН!"; char *msg_nomem_dh= "╡╩дэтЖ╪сжВ╩З╫з╣Ц(ц©ху), лЬ╧Щ"; char *msg_nomem_mh= "╡╩дэтЖ╪сжВ╩З╫з╣Ц(ц©тб), лЬ╧Щ"; char *msg_nomem_u = "╡╩дэтЖ╪с URL ╫з╣Ц, лЬ╧Щ"; char *msg_nomem_a = "╡╩дэтЖ╪с User Agent ╫з╣Ц, лЬ╧Щ"; char *msg_nomem_r = "╡╩дэтЖ╪с Referrer ╫з╣Ц, лЬ╧Щ"; char *msg_nomem_sc= "╡╩дэтЖ╪с Search String ╫з╣Ц, лЬ╧Щ"; char *msg_nomem_i = "╡╩дэтЖ╪с Username ╫з╣Ц, лЬ╧Щ"; /* log record errors */ char *msg_big_rec = "╢МнС: лЬ╧Щл╚Ё╓╣дхуж╬╪гб╪"; char *msg_big_host= "╬╞╦Ф: ╫ь╤ол╚Ё╓╣д hostname сР"; char *msg_big_date= "╬╞╦Ф: ╫ь╤ол╚Ё╓╣д date сР"; char *msg_big_req = "╬╞╦Ф: ╫ь╤ол╚Ё╓╣д request сР"; char *msg_big_ref = "╬╞╦Ф: ╫ь╤ол╚Ё╓╣д referrer сР"; char *msg_big_user= "╬╞╦Ф: ╫ь╤ол╚Ё╓╣д username сР"; char *msg_big_one = "╬╞╦Ф: л╚Ё╓╣двж╥Ш╢╝"; /* misc errors */ char *msg_no_open = "╢МнС: ╡╩дэ╢Р©╙нд╪Ч"; /* Help display... */ char *h_usage1 = "сц╥╗"; char *h_usage2 = "[я║оН] [хуж╬нд╪Ч]"; char *h_msg[]= { "-h = отй╬╠╬╟ОжЗпео╒" , "-V = отй╬╠╬╟Ф╠╬пео╒" , "-v = be verbose" , "-d = отй╬╦╫╪с╣д╣Вйтпео╒" , "-F type = хуж╬юЮпм. юЮпм= (clf | ftp | squid | w3c)", "-f = ╨о╡╒╢нпР╢МнС?(Fold sequence errors)" , "-i = ╨ЖбтюЗй╥пео╒нд╪Ч" , "-p = ╠ёЁжв╢л╛пео╒(тЖа©╥╫й╫)" , "-b = ignore state (incremental)" , "-q = ╡╩отй╬р╩╟Цпео╒" , "-Q = ╡╩отй╬*кЫсп*пео╒" , "-Y = ╡╩отй╬╟╢╧З╪р╥ж╡╪╣дм╪╠М" , "-G = ╡╩отй╬╟╢п║й╠╥ж╡╪╣дм╪╠М" , "-H = ╡╩отй╬╟╢п║й╠╥ж╡╪╣дмЁ╪фпео╒" , "-L = ╡╩отй╬яуи╚м╪юЩ" , "-l num = тзм╪╠Миой╧сц num лУ╠Ё╬╟оъ" , "-m num = иХ╤╗╥цнйЁ╛й╠ж╣(╣╔н╩: цК)" , "-T = отй╬╤╗й╠пео╒" , "-c file = ж╦╤╗еДжцнд╪Чн╙ 'file'" , "-n name = ж╦╤╗й╧сц╣джВ╩ЗцШн╙ 'name'" , "-o dir = ж╦╤╗йДЁЖд©б╪н╙ 'dir'" , "-t name = ж╦╤╗╠╗╠М╠ЙлБн╙ 'name'" , "-a name = рЧ╡ьцШвжн╙ 'name' ╣дсц╩╖╢ЗюМ" , "-r name = рЧ╡ьцШвжн╙ 'name' ╣дрЩсц" , "-s name = рЧ╡ьцШвжн╙ 'name' ╣ду╬╣Ц" , "-u name = рЧ╡ьцШвжн╙ 'name' ╣д URL" , "-x name = ж╦╤╗й╧сц╣днд╪Чю╘у╧цШн╙ 'name'" , "-O name = Omit page 'name'" , "-P name = ж╦╤╗й╧сц╣дрЁцФюЮпмю╘у╧цШн╙ 'name'" , "-I name = ж╦╤╗кВрЩ╠ПцШн╙ 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = отй╬ num ╦Ж top agents" , "-C num = отй╬ num ╦Ж top countries" , "-R num = отй╬ num ╦Ж top referrers" , "-S num = отй╬ num ╦Ж top sites" , "-U num = отй╬ num ╦Ж top URLs" , "-e num = отй╬ num ╦Ж top Entry Pages" , "-E num = отй╬ num ╦Ж top Exit Pages" , "-g num = ╟ясР╟╢ num ╦Ж╪╤╠П╥жвИ" , "-X = рЧ╡ь╣╔╦Жу╬╣Ц" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = й╧сц DNS ╩╨╢Фнд╪Ч 'name'" , "-N num = ж╦╤╗ DNS ╫БнЖ╣д╫ЬЁлйЩ(0 = ╡╩╫ЬппDNS ╫БнЖ)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "у╙р╙╣дй╠╪Д╤н"; char *msg_hhdr_gt = "╡ЗиЗсз"; /* main index strings */ char *msg_main_us = "й╧сцу╙р╙"; /* char *msg_main_per= "вН╫Э 12 ╦Жтб"; */ char *msg_main_per= "╟╢тбу╙р╙"; char *msg_main_sum= "╟╢тбу╙р╙"; char *msg_main_da = "ц©хуф╫╬Ы"; char *msg_main_mt = "ц©тбвэ╪ф"; /* month HTML page strings */ char *msg_hmth_du = "ц©хуй╧сцгИ©Ж"; char *msg_hmth_hu = "ц©п║й╠й╧сцгИ©Ж"; /* table header strings */ char *msg_h_by = "╟╢уу"; char *msg_h_avg = "ф╫╬Ы"; char *msg_h_max = "вН╢С"; char *msg_h_total = "вэ╪ф"; char *msg_h_totals= "вэ╪ф"; char *msg_h_day = "ху"; char *msg_h_mth = "тб"; char *msg_h_hour = "п║й╠"; char *msg_h_hits = "╣Ц╩В"; char *msg_h_pages = "рЁцФ"; char *msg_h_visits= "╥цнй"; char *msg_h_files = "нд╪Ч"; char *msg_h_sites = "у╬╣Ц"; char *msg_h_xfer = "г╖вж╫з"; char *msg_h_hname = "жВ╩ЗцШ"; char *msg_h_url = "URL"; char *msg_h_agent = "сц╩╖╢ЗюМ"; char *msg_h_ref = "рЩсц"; char *msg_h_ctry = "╧З╪р"; char *msg_h_search= "кякВвж╥Ш╢╝"; char *msg_h_uname = "сц╩╖цШ"; /* links along top of page */ char *msg_hlnk_ds = "ц©хумЁ╪ф"; char *msg_hlnk_hs = "ц©п║й╠мЁ╪ф"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "у╬╣Ц"; char *msg_hlnk_a = "╢ЗюМ"; char *msg_hlnk_c = "╧З╪р"; char *msg_hlnk_r = "рЩсц"; char *msg_hlnk_en = "хК©з"; char *msg_hlnk_ex = "ЁЖ©з"; char *msg_hlnk_sr = "кякВ"; char *msg_hlnk_i = "сц╩╖"; /* monthly total table */ char *msg_mtot_ms = "тбмЁ╪фпео╒"; char *msg_mtot_th = "вэ╣Ц╩ВйЩ"; char *msg_mtot_tf = "вэнд╪ЧйЩ"; char *msg_mtot_tx = "вэг╖вж╫зйЩ"; char *msg_mtot_us = "вэу╬╣ЦйЩё╗╡╩╟Эю╗жь╦╢у╬╣Цё╘"; char *msg_mtot_ur = "вэрЩсцуъйЩё╗╡╩╟Эю╗жь╦╢рЩсцуъё╘"; char *msg_mtot_ua = "вэсц╩╖╢ЗюМйЩё╗╡╩╟Эю╗жь╦╢сц╩╖╢ЗюМё╘"; char *msg_mtot_uu = "вэ URL йЩё╗╡╩╟Эю╗жь╦╢ URL ё╘"; char *msg_mtot_ui = "вэсц╩╖цШйЩё╗╡╩╟Эю╗жь╦╢сц╩╖цШё╘"; char *msg_mtot_mhd= "ц©лЛ╣Ц╩ВйЩ"; char *msg_mtot_mhh= "ц©п║й╠╣Ц╩ВйЩ"; char *msg_mtot_mfd= "ц©лЛнд╪ЧйЩ"; char *msg_mtot_mpd= "ц©лЛрЁцФйЩ"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "ц©лЛ╥цнййЩ"; char *msg_mtot_mkd= "ц©лЛаВа©йЩё╗╣╔н╩ё╨г╖вж╫зё╘"; char *msg_mtot_rc = "╟╢оЛс╕бК╣д╣Ц╩ВйЩ"; /* daily total table */ char *msg_dtot_ds = "ц©хумЁ╪ф"; /* hourly total table */ char *msg_htot_hs = "ц©п║й╠мЁ╪ф"; /* country pie chart */ char *msg_ctry_use= "╟╢╧З╪рй╧сцгИ©Ж"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "вНг╟"; char *msg_top_of = "----"; char *msg_top_s = "вэу╬╣ЦйЩ"; char *msg_top_u = "вэ URL йЩ"; char *msg_top_r = "вэрЩсцуъйЩ"; char *msg_top_a = "вэсц╩╖╢ЗюМйЩ"; char *msg_top_c = "вэ╧З╪рйЩ"; char *msg_top_en = "вэ╫ЬхКрЁцФйЩ"; char *msg_top_ex = "вэмфЁЖрЁцФйЩ"; char *msg_top_sr = "вэкякВвж╥Ш╢╝йЩ"; char *msg_top_i = "вэсц╩╖цШйЩ"; char *msg_v_sites = "╡Л©╢кЫспу╬╣Ц"; char *msg_v_urls = "╡Л©╢кЫсп URL"; char *msg_v_refs = "╡Л©╢кЫспрЩсц"; char *msg_v_agents= "╡Л©╢кЫспсц╩╖╢ЗюМ"; char *msg_v_search= "╡Л©╢кЫспкякВвж╥Ш╢╝"; char *msg_v_users = "╡Л©╢кЫспсц╩╖цШ"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "р╩тб", "╤Чтб", "хЩтб", "кдтб", "нЕтб", "аЫтб", "фътб", "╟ктб", "╬етб", "й╝тб", "й╝р╩тб", "й╝╤Чтб"}; /* long month names - can be any length */ char *l_month[12]={ "р╩тб", "╤Чтб", "хЩтб", "кдтб", "нЕтб", "аЫтб", "фътб", "╟ктб", "╬етб", "й╝тб", "й╝р╩тб", "й╝╤Чтб"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "н╢╤╗рЕ╣доЛс╕╢ЗбК", 0 }, { "оЛс╕╢ЗбК 100 - ╪лпЬ", 0 }, { "оЛс╕╢ЗбК 101 - ╦д╠Дп╜рИ", 0 }, { "оЛс╕╢ЗбК 200 - Ёи╧╕", 0 }, { "оЛс╕╢ЗбК 201 - ря╠╩╢╢╫╗", 0 }, { "оЛс╕╢ЗбК 202 - ря╠╩╫сйэ", 0 }, { "оЛс╕╢ЗбК 203 - ╥гх╗мЧпео╒", 0 }, { "оЛс╕╢ЗбК 204 - нчдзхщ", 0 }, { "оЛс╕╢ЗбК 205 - жьжцдзхщ", 0 }, { "оЛс╕╢ЗбК 206 - ╡©╥ждзхщ", 0 }, { "оЛс╕╢ЗбК 300 - ╤Южья║тЯ", 0 }, { "оЛс╕╢ЗбК 301 - ря╠╩сю╬цптв╙рф", 0 }, { "оЛс╕╢ЗбК 302 - ря╠╩ур╣╫", 0 }, { "оЛс╕╢ЗбК 303 - ©╢фДкЭ", 0 }, { "оЛс╕╢ЗбК 304 - ц╩сп╠╩пч╦д╧Щ", 0 }, { "оЛс╕╢ЗбК 305 - й╧сц╢ЗюМ", 0 }, { "оЛс╕╢ЗбК 307 - ря╠╩тщй╠птв╙рф", 0 }, { "оЛс╕╢ЗбК 400 - нчп╖╣дгКгС", 0 }, { "оЛс╕╢ЗбК 401 - н╢╠╩яИж╓", 0 }, { "оЛс╕╢ЗбК 402 - пХр╙╦╤╥я", 0 }, { "оЛс╕╢ЗбК 403 - ╠╩╫Шж╧", 0 }, { "оЛс╕╢ЗбК 404 - ц╩спур╣╫", 0 }, { "оЛс╕╢ЗбК 405 - ╡╩хщпМ╣д╥╫╥╗", 0 }, { "оЛс╕╢ЗбК 406 - ╡╩©и╫сйэ", 0 }, { "оЛс╕╢ЗбК 407 - пХр╙╢ЗюМяИж╓", 0 }, { "оЛс╕╢ЗбК 408 - гКгСЁ╛й╠", 0 }, { "оЛс╕╢ЗбК 409 - ЁЕм╩", 0 }, { "оЛс╕╢ЗбК 410 - ря╧Щ", 0 }, { "оЛс╕╢ЗбК 411 - пХр╙Ё╓╤хпео╒", 0 }, { "оЛс╕╢ЗбК 412 - г╟лА╡╩бЗвЦ", 0 }, { "оЛс╕╢ЗбК 413 - гКгСй╣лЕл╚╢С", 0 }, { "оЛс╕╢ЗбК 414 - гКгС URI л╚Ё╓", 0 }, { "оЛс╕╢ЗбК 415 - ╡╩ж╖Ёж╣днд╪ЧюЮпм", 0 }, { "оЛс╕╢ЗбК 416 - гКгС╣д╥╤н╖нчп╖", 0 }, { "оЛс╕╢ЗбК 417 - фзмШбД©у", 0 }, { "оЛс╕╢ЗбК 500 - ╥ЧнЯфВдз╡©╢М", 0 }, { "оЛс╕╢ЗбК 501 - ц╩спй╣ож", 0 }, { "оЛс╕╢ЗбК 502 - ╩╣╣Т╣дмЬ╧ь", 0 }, { "оЛс╕╢ЗбК 503 - ╥ЧнЯ╡╩©исц", 0 }, { "оЛс╕╢ЗбК 504 - мЬ╧ьЁ╛й╠", 0 }, { "оЛс╕╢ЗбК 505 - ╡╩ж╖Ёж╣д HTTP ╟Ф╠╬", 0 } }; char *msg_title = "й╧сцмЁ╪ф"; char *msg_h_other = "фДкЭ"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "н╢╫БнЖ╣д/н╢ж╙╣д", 0,0,0 }, { IDX_3C('c','o','m'), ".com", 0,0,0 }, { IDX_3C('e','d','u'), ".edu", 0,0,0 }, { IDX_3C('g','o','v'), ".gov", 0,0,0 }, { IDX_3C('i','n','t'), ".int", 0,0,0 }, { IDX_3C('m','i','l'), ".mil", 0,0,0 }, { IDX_3C('n','e','t'), ".net", 0,0,0 }, { IDX_3C('o','r','g'), ".org", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),".arpa", 0,0,0 }, { IDX_4C('n','a','t','o'),"╠╠╢СнВяС╧╚т╪вИж╞", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "╟╡╣ю╤Ш", 0,0,0 }, { IDX_2C('a','e'), "╟╒а╙гУ", 0,0,0 }, { IDX_2C('a','f'), "╟╒╦╩╨╧", 0,0,0 }, { IDX_2C('a','g'), "╟╡лА╧о╨м╟м╡╪╢О", 0,0,0 }, { IDX_2C('a','i'), "╟╡╧Гю╜", 0,0,0 }, { IDX_2C('a','l'), "╟╒╤Ш╟мдАяг", 0,0,0 }, { IDX_2C('a','m'), "ягцюдАяг", 0,0,0 }, { IDX_2C('a','n'), "╨ийТ╟╡╣дапк╧", 0,0,0 }, { IDX_2C('a','o'), "╟╡╦Гю╜", 0,0,0 }, { IDX_2C('a','q'), "до╪╚жч ", 0,0,0 }, { IDX_2C('a','r'), "╟╒╦Ым╒", 0,0,0 }, { IDX_2C('a','s'), "хЬд╕яг", 0,0,0 }, { IDX_2C('a','t'), "╟б╣ьюШ", 0,0,0 }, { IDX_2C('a','u'), "╟д╢СюШяг", 0,0,0 }, { IDX_2C('a','w'), "╟╒бЁ╟м", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "╟╒хШ╟щ╫╝", 0,0,0 }, { IDX_2C('b','a'), "╡╗╨з", 0,0,0 }, { IDX_2C('b','b'), "╟м╟м╤Юк╧", 0,0,0 }, { IDX_2C('b','d'), "цо╪сю╜", 0,0,0 }, { IDX_2C('b','e'), "╠хюШй╠", 0,0,0 }, { IDX_2C('b','f'), "╡╪фДди╥╗кВ", 0,0,0 }, { IDX_2C('b','g'), "╠ё╪сюШяг", 0,0,0 }, { IDX_2C('b','h'), "╟маж", 0,0,0 }, { IDX_2C('b','i'), "╡╪б║╣о", 0,0,0 }, { IDX_2C('b','j'), "╠╢дЧ", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "╟ыд╫╢С", 0,0,0 }, { IDX_2C('b','n'), "ндюЁ", 0,0,0 }, { IDX_2C('b','o'), "╡ёюШн╛яг", 0,0,0 }, { IDX_2C('b','r'), "╟мнВ", 0,0,0 }, { IDX_2C('b','s'), "╟м╧ЧбМ", 0,0,0 }, { IDX_2C('b','t'), "╡╩╣╓", 0,0,0 }, { IDX_2C('b','v'), "╡╪н╛╣╨", 0,0,0 }, { IDX_2C('b','w'), "╡╘╢дмъди", 0,0,0 }, { IDX_2C('b','y'), "╟в╤Мбчк╧", 0,0,0 }, { IDX_2C('b','z'), "╡╝юШвх", 0,0,0 }, { IDX_2C('c','a'), "╪сдц╢С", 0,0,0 }, { IDX_2C('c','c'), "©и©и╣╨", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "жп╥г", 0,0,0 }, { IDX_2C('c','g'), "╦у╧Ш", 0,0,0 }, { IDX_2C('c','h'), "хПй©", 0,0,0 }, { IDX_2C('c','i'), "оСяю╨ё╟╤", 0,0,0 }, { IDX_2C('c','k'), "©Б©кх╨╣╨", 0,0,0 }, { IDX_2C('c','l'), "жгюШ", 0,0,0 }, { IDX_2C('c','m'), "©╕бСб║", 0,0,0 }, { IDX_2C('c','n'), "жп╧З", 0,0,0 }, { IDX_2C('c','o'), "╦Гбв╠хяг", 0,0,0 }, { IDX_2C('c','r'), "╦Гк╧╢ОюХ╪с", 0,0,0 }, { IDX_2C('c','u'), "╧е╟м", 0,0,0 }, { IDX_2C('c','v'), "╥П╣ц╫г", 0,0,0 }, { IDX_2C('c','x'), "й╔╣╝╣╨", 0,0,0 }, { IDX_2C('c','y'), "хШфжб╥к╧", 0,0,0 }, { IDX_2C('c','z'), "╫щ©к╧╡╨м╧З", 0,0,0 }, { IDX_2C('d','e'), "╣б╧З", 0,0,0 }, { IDX_2C('d','j'), "╪╙╡╪лА", 0,0,0 }, { IDX_2C('d','k'), "╣╓бС", 0,0,0 }, { IDX_2C('d','m'), "╤ЮцвдА╪с", 0,0,0 }, { IDX_2C('d','o'), "╤ЮцвдА╪с╧╡╨м╧З", 0,0,0 }, { IDX_2C('d','z'), "╟╒╤Ш╪╟юШяг", 0,0,0 }, { IDX_2C('e','c'), "╤Р╧о╤Ю╤Ш", 0,0,0 }, { IDX_2C('e','e'), "╟╝иЁдАяг", 0,0,0 }, { IDX_2C('e','g'), "╟ё╪╟", 0,0,0 }, { IDX_2C('e','h'), "нВхЖ╧Чю╜", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "нВ╟Юяю", 0,0,0 }, { IDX_2C('e','t'), "╟ёхШ╤М╠хяг", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "╥рю╪", 0,0,0 }, { IDX_2C('f','j'), "ЛЁ╪ц", 0,0,0 }, { IDX_2C('f','k'), "╦ё©кю╪х╨╣╨(бМ╤Шн╛дик╧х╨╣╨)", 0,0,0 }, { IDX_2C('f','m'), "цэ©кбчдАнВяг", 0,0,0 }, { IDX_2C('f','o'), "╥╗бчх╨╣╨ё╗╣╓бСё╘", 0,0,0 }, { IDX_2C('f','r'), "╥╗╧З", 0,0,0 }, { IDX_2C('g','a'), "╪сеН", 0,0,0 }, { IDX_2C('g','b'), "с╒╧З", 0,0,0 }, { IDX_2C('g','d'), "╦Яажди╢О", 0,0,0 }, { IDX_2C('g','e'), "╦ЯбЁ╪╙яг", 0,0,0 }, { IDX_2C('g','f'), "╥╗йТ╧Гягдг", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "╪сди", 0,0,0 }, { IDX_2C('g','i'), "ж╠╡╪бчмс", 0,0,0 }, { IDX_2C('g','l'), "╦ЯаЙю╪", 0,0,0 }, { IDX_2C('g','m'), "╦т╠хяг", 0,0,0 }, { IDX_2C('g','n'), "╪╦дзяг", 0,0,0 }, { IDX_2C('g','p'), "╧о╣ббчфу", 0,0,0 }, { IDX_2C('g','q'), "ЁЮ╣ю╪╦дзяг", 0,0,0 }, { IDX_2C('g','r'), "оёю╟", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "нё╣ьбМю╜", 0,0,0 }, { IDX_2C('g','u'), "╧ь╣╨", 0,0,0 }, { IDX_2C('g','w'), "╪╦дзяг╠хиэ", 0,0,0 }, { IDX_2C('g','y'), "╧Гягдг", 0,0,0 }, { IDX_2C('h','k'), "жп╧ЗоЦ╦ш", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "╨И╤╪ю╜к╧", 0,0,0 }, { IDX_2C('h','r'), "©кбч╣ьяг", 0,0,0 }, { IDX_2C('h','t'), "╨ё╣ь", 0,0,0 }, { IDX_2C('h','u'), "пыяююШ", 0,0,0 }, { IDX_2C('i','d'), "с║╤хдАнВяг", 0,0,0 }, { IDX_2C('i','e'), "╟╝╤Шю╪", 0,0,0 }, { IDX_2C('i','l'), "рти╚ап", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "с║╤х", 0,0,0 }, { IDX_2C('i','o'), "с╒а╙╟Н╣дс║╤хяСаЛсР", 0,0,0 }, { IDX_2C('i','q'), "раю╜©к", 0,0,0 }, { IDX_2C('i','r'), "раюй", 0,0,0 }, { IDX_2C('i','s'), "╠Ы╣╨", 0,0,0 }, { IDX_2C('i','t'), "рБ╢СюШ", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "яюбР╪с", 0,0,0 }, { IDX_2C('j','o'), "т╪╣╘", 0,0,0 }, { IDX_2C('j','p'), "ху╠╬", 0,0,0 }, { IDX_2C('k','e'), "©одАяг", 0,0,0 }, { IDX_2C('k','g'), "╪╙╤Ш╪╙к╧к╧л╧", 0,0,0 }, { IDX_2C('k','h'), "╪Мфру╞", 0,0,0 }, { IDX_2C('k','i'), "╩ЫюО╟мк╧", 0,0,0 }, { IDX_2C('k','m'), "©фд╕бч", 0,0,0 }, { IDX_2C('k','n'), "й╔╩Ы╢д╨мдАн╛к╧", 0,0,0 }, { IDX_2C('k','p'), "Ё╞ой", 0,0,0 }, { IDX_2C('k','r'), "╨╚╧З", 0,0,0 }, { IDX_2C('k','w'), "©фмЧль", 0,0,0 }, { IDX_2C('k','y'), "©╙бЭх╨╣╨", 0,0,0 }, { IDX_2C('k','z'), "╧ЧхЬ©кк╧л╧", 0,0,0 }, { IDX_2C('l','a'), "юонн", 0,0,0 }, { IDX_2C('l','b'), "юХ╟мдш", 0,0,0 }, { IDX_2C('l','c'), "й╔б╛нВяг", 0,0,0 }, { IDX_2C('l','i'), "апж╖╤ьй©╣г", 0,0,0 }, { IDX_2C('l','k'), "к╧юОю╪©╗", 0,0,0 }, { IDX_2C('l','r'), "юШ╠хюОяг", 0,0,0 }, { IDX_2C('l','s'), "юЁкВмп", 0,0,0 }, { IDX_2C('l','t'), "а╒лумП", 0,0,0 }, { IDX_2C('l','u'), "б╛и╜╠╓", 0,0,0 }, { IDX_2C('l','v'), "ю╜мпн╛яг", 0,0,0 }, { IDX_2C('l','y'), "юШ╠хяг", 0,0,0 }, { IDX_2C('m','a'), "д╕бЕ╦Г", 0,0,0 }, { IDX_2C('m','c'), "д╕ди╦Г", 0,0,0 }, { IDX_2C('m','d'), "д╕╤Ш╤Юмъ", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "бМ╢О╪ск╧╪с", 0,0,0 }, { IDX_2C('m','h'), "бМиэ╤Шх╨╣╨", 0,0,0 }, { IDX_2C('m','k'), "бМфД╤ы", 0,0,0 }, { IDX_2C('m','l'), "бМюО", 0,0,0 }, { IDX_2C('m','m'), "цЕ╣И", 0,0,0 }, { IDX_2C('m','n'), "ци╧е", 0,0,0 }, { IDX_2C('m','o'), "жп╧З╟дце", 0,0,0 }, { IDX_2C('m','p'), "╠╠бМюОягдих╨╣╨ё╗цюё╘", 0,0,0 }, { IDX_2C('m','q'), "бМлАдА©кё╗╥╗ё╘", 0,0,0 }, { IDX_2C('m','r'), "ц╚юОкЧдАяг", 0,0,0 }, { IDX_2C('m','s'), "цильхШю╜льё╗с╒ё╘", 0,0,0 }, { IDX_2C('m','t'), "бМ╤ШкШ", 0,0,0 }, { IDX_2C('m','u'), "ц╚юОгСк╧", 0,0,0 }, { IDX_2C('m','v'), "бМ╤Ш╢З╥Р", 0,0,0 }, { IDX_2C('m','w'), "бМю╜н╛", 0,0,0 }, { IDX_2C('m','x'), "д╚нВ╦Г", 0,0,0 }, { IDX_2C('m','y'), "бМю╢нВяг", 0,0,0 }, { IDX_2C('m','z'), "д╙иё╠х©к", 0,0,0 }, { IDX_2C('n','a'), "дицв╠хяг", 0,0,0 }, { IDX_2C('n','c'), "пб©╕юО╤ЮдАяг", 0,0,0 }, { IDX_2C('n','e'), "дАху╤Ш", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "дАхуюШяг", 0,0,0 }, { IDX_2C('n','i'), "дА╪сю╜╧о", 0,0,0 }, { IDX_2C('n','l'), "╨ию╪", 0,0,0 }, { IDX_2C('n','o'), "е╡мЧ", 0,0,0 }, { IDX_2C('n','p'), "дА╡╢╤Ш", 0,0,0 }, { IDX_2C('n','r'), "Х╖бЁ", 0,0,0 }, { IDX_2C('n','u'), "е╕╟ё", 0,0,0 }, { IDX_2C('n','z'), "пбнВю╪", 0,0,0 }, { IDX_2C('o','m'), "╟╒бЭ", 0,0,0 }, { IDX_2C('p','a'), "╟мдцбМ", 0,0,0 }, { IDX_2C('p','e'), "цьбЁ", 0,0,0 }, { IDX_2C('p','f'), "╥╗йТ╡ёюОдАнВяг", 0,0,0 }, { IDX_2C('p','g'), "╟м╡╪ягпб╪╦дзяг", 0,0,0 }, { IDX_2C('p','h'), "╥фби╠Ж", 0,0,0 }, { IDX_2C('p','k'), "╟м╩Ык╧л╧", 0,0,0 }, { IDX_2C('p','l'), "╡╗ю╪", 0,0,0 }, { IDX_2C('p','m'), "й╔ф╓╟ё╤Ш╨мцэ©кб║ё╗╥╗ё╘", 0,0,0 }, { IDX_2C('p','n'), "ф╓ль©╙╤Вх╨╣╨", 0,0,0 }, { IDX_2C('p','r'), "╡╗╤ЮюХ╦Вё╗цюё╘", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "фоляяю", 0,0,0 }, { IDX_2C('p','w'), "еаюм", 0,0,0 }, { IDX_2C('p','y'), "╟мю╜╧Г", 0,0,0 }, { IDX_2C('q','a'), "©╗кЧ╤Ш", 0,0,0 }, { IDX_2C('r','e'), "аТдАмТё╗╥╗ё╘", 0,0,0 }, { IDX_2C('r','o'), "бчбМдАяг", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "╤Мбчк╧а╙╟Н", 0,0,0 }, { IDX_2C('r','w'), "б╛мЗ╢О", 0,0,0 }, { IDX_2C('s','a'), "иЁль╟╒ю╜╡╝", 0,0,0 }, { IDX_2C('s','b'), "кЫбчцех╨╣╨", 0,0,0 }, { IDX_2C('s','c'), "хШиЮ╤Ш", 0,0,0 }, { IDX_2C('s','d'), "ку╣╓", 0,0,0 }, { IDX_2C('s','e'), "хП╣Д", 0,0,0 }, { IDX_2C('s','g'), "пб╪сфб", 0,0,0 }, { IDX_2C('s','h'), "й╔╨уюудг", 0,0,0 }, { IDX_2C('s','i'), "к╧бЕнддАяг", 0,0,0 }, { IDX_2C('s','j'), "к╧мъ╤Ш╟мльх╨╣╨ё╗е╡мЧё╘", 0,0,0 }, { IDX_2C('s','k'), "к╧бЕ╥╔©к", 0,0,0 }, { IDX_2C('s','l'), "хШю╜юШ╟╨", 0,0,0 }, { IDX_2C('s','m'), "й╔бМа╕е╣", 0,0,0 }, { IDX_2C('s','n'), "хШдз╪с╤Ш", 0,0,0 }, { IDX_2C('s','o'), "кВбМюО", 0,0,0 }, { IDX_2C('s','r'), "куюОдо", 0,0,0 }, { IDX_2C('s','t'), "й╔╤ЮцюсКфуажнВ╠х", 0,0,0 }, { IDX_2C('s','u'), "г╟куа╙", 0,0,0 }, { IDX_2C('s','v'), "хЬ╤Шмъ╤Ю", 0,0,0 }, { IDX_2C('s','y'), "пПюШяг", 0,0,0 }, { IDX_2C('s','z'), "к╧мЧй©ю╪", 0,0,0 }, { IDX_2C('t','c'), "ль©кк╧╨м©╜©фк╧х╨╣╨ё╗с╒ё╘", 0,0,0 }, { IDX_2C('t','d'), "у╖╣ц", 0,0,0 }, { IDX_2C('t','f'), "╥╗йТдо╥╫аЛма", 0,0,0 }, { IDX_2C('t','g'), "╤Ю╦Г", 0,0,0 }, { IDX_2C('t','h'), "л╘╧З", 0,0,0 }, { IDX_2C('t','j'), "кЧ╪╙©кк╧л╧", 0,0,0 }, { IDX_2C('t','k'), "мп©кюм", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "ма©БбЭк╧л╧", 0,0,0 }, { IDX_2C('t','n'), "м╩дАк╧", 0,0,0 }, { IDX_2C('t','o'), "лю╪с", 0,0,0 }, { IDX_2C('t','p'), "╤╚╣ш", 0,0,0 }, { IDX_2C('t','r'), "ма╤ШфД", 0,0,0 }, { IDX_2C('t','t'), "льа╒дА╢О╨м╤Ю╟м╦Г", 0,0,0 }, { IDX_2C('t','v'), "м╪мъб╛", 0,0,0 }, { IDX_2C('t','w'), "жп╧Зл╗мЕ", 0,0,0 }, { IDX_2C('t','z'), "л╧иёдАяг", 0,0,0 }, { IDX_2C('u','a'), "нз©кю╪", 0,0,0 }, { IDX_2C('u','g'), "нз╦и╢О", 0,0,0 }, { IDX_2C('u','k'), "с╒╧З", 0,0,0 }, { IDX_2C('u','m'), "цю╧З╠ът╤п║╣╨", 0,0,0 }, { IDX_2C('u','s'), "цю╧З", 0,0,0 }, { IDX_2C('u','y'), "нзю╜╧Г", 0,0,0 }, { IDX_2C('u','z'), "нзвх╠П©кк╧л╧", 0,0,0 }, { IDX_2C('v','a'), "ХС╣ы╦т", 0,0,0 }, { IDX_2C('v','c'), "й╔нди╜ль╨м╦Яажди╤║к╧", 0,0,0 }, { IDX_2C('v','e'), "н╞дзхПю╜", 0,0,0 }, { IDX_2C('v','g'), "╡╩ап╣ъ╣╨(с╒)", 0,0,0 }, { IDX_2C('v','i'), "╡╩ап╣ъ╣╨(цю)", 0,0,0 }, { IDX_2C('v','n'), "т╫до", 0,0,0 }, { IDX_2C('v','u'), "мъе╛╟╒м╪", 0,0,0 }, { IDX_2C('w','f'), "мъюШк╧╨м╦╩м╪диё╗╥╗ё╘", 0,0,0 }, { IDX_2C('w','s'), "нВхЬд╕яг", 0,0,0 }, { IDX_2C('y','e'), "р╡це", 0,0,0 }, { IDX_2C('y','t'), "бМт╪ль╣╨", 0,0,0 }, { IDX_2C('y','u'), "док╧ю╜╥Р", 0,0,0 }, { IDX_2C('z','a'), "до╥г", 0,0,0 }, { IDX_2C('z','m'), "тч╠хяг", 0,0,0 }, { IDX_2C('z','w'), "╫Р╟м╡╪н╓", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.slovak��������������������������������������������������������0000644�0001750�0001750�00000107126�11032527214�017403� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.slovak Webalizer V2.0x Language Support file for Slovak. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 24-Aug-1998 Translation by Michal Michalac (michal.michalac@ehs.sk) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 25-Jan-2000 Updated translation by Michal Michalac (michal.michalac@ehs.sk) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 31-Jul-2000 Corrections/additions by Lubos Klokner (erkac@vault-tec.sk) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Slovak"; char *langcode = "sk"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "zaznamov"; char *msg_addresses="addresses"; char *msg_ignored = "ignorovanych"; char *msg_bad = "chybnych"; char *msg_in = "pocas"; char *msg_seconds = "sekund"; /* progress and setup error messages */ char *msg_log_err = "Chyba: Nemozem otvorit log subor"; char *msg_log_use = "Pouzivam log subor"; char *msg_dir_err = "Chyba: Nemozem prejst do adresara"; char *msg_dir_use = "Vytvaram vystup v"; char *msg_cur_dir = "aktualnom adresari"; char *msg_hostname= "Meno pocitaca pre zostavy je"; char *msg_ign_hist= "Ignorujem predchadzajucu historiu..."; char *msg_no_hist = "Nemozem najst subor historie..."; char *msg_get_hist= "Citam subor historie..."; char *msg_put_hist= "Ukladam subor historie..."; char *msg_hist_err= "Chyba: Nemozem zapisat subor historie"; char *msg_bad_hist= "Chyba: Ignorujem chybny zaznam v historii"; char *msg_bad_conf= "Chyba: Nemozem otvorit konfiguracny subor"; char *msg_bad_key = "Pozor: Neplatne klucove slovo"; char *msg_bad_date= "Chyba: Preskakujem zaznam (zly datum)"; char *msg_ign_nscp= "Preskakujem Netscapovsky hlavickovy zaznam"; char *msg_bad_rec = "Preskakujem zly zaznam"; char *msg_no_vrec = "Neboli najdene platne zaznamy!"; char *msg_gen_rpt = "Vytvaram zostavu pre"; char *msg_gen_sum = "Vytvaram sumarnu zostavu"; char *msg_get_data= "Citam udaje z minuleho spracovania..."; char *msg_put_data= "Ukladam udaje aktualneho spracovania..."; char *msg_no_data = "Nemozem najst udaje z minuleho spracovania..."; char *msg_bad_data= "Chyba: Nemozem obnovit udaje aktualneho spracovania"; char *msg_data_err= "Chyba: Nemozem ulozit udaje aktualneho spracovania"; char *msg_dup_data= "Pozor: Najdene pravdepodobne duplicitne udaje"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Nemozem alokovat dostatok pamate, Naj Miesta su nefunkcne!"; char *msg_nomem_tr= "Nemozem alokovat dostatok pamate, Naj Odkazovace su nefunkcne!"; char *msg_nomem_tu= "Nemozem alokovat dostatok pamate, Naj URL-ka su nefunkcne!"; char *msg_nomem_tc= "Nemozem alokovat dostatok pamate, Naj Krajiny su nefunkcne!"; char *msg_nomem_ta= "Nemozem alokovat dostatok pamate, Naj Browsre su nefunkcne!"; char *msg_nomem_tsr="Nemozem alokovat dostatok pamate, Naj Hladane texty su nefunkcne!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Chyba doplnenia bloku pocitaca (denne), preskakujem"; char *msg_nomem_mh= "Chyba doplnenia bloku pocitaca (mesacne), preskakujem"; char *msg_nomem_u = "Chyba doplnenia URL bloku, preskakujem"; char *msg_nomem_a = "Chyba doplnenia bloku Browsra, preskakujem"; char *msg_nomem_r = "Chyba doplnenia bloku Odkazovaca, preskakujem"; char *msg_nomem_sc= "Chyba doplnenia bloku Hladanych textov, preskakujem"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Chyba: Preskakujem prilis dlhy log zaznam"; char *msg_big_host= "Pozor: Orezavam prilis dlhe meno pocitaca"; char *msg_big_date= "Pozor: Orezavam prilis dlhe pole datumu"; char *msg_big_req = "Pozor: Orezavam prilis dlhe pole ziadosti"; char *msg_big_ref = "Pozor: Orezavam prilis dlhe pole odkazovaca"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Pozor: Retazec prekrocil velkost ukladacieho miesta"; /* misc errors */ char *msg_no_open = "Chyba: Nemozem otvorit subor"; /* Help display... */ char *h_usage1 = "Pouzitie"; char *h_usage2 = "[volby] [log subor]"; char *h_msg[]= { "-h = vypis tento help" , "-V = vypis informacie o verzii" , "-v = be verbose" , "-d = vypis dalsie ladiace informacie" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = oprav chyby postupnosti" , "-i = ignoruj subor historie" , "-p = zapamataj stav (inkrementalne)" , "-b = ignoruj stav (inkrementalne)" , "-q = potlac informativne spravy" , "-Q = potlac VSETKY spravy" , "-Y = potlac graf krajin" , "-G = potlac hodinovy graf" , "-H = potlac hodinove statistiky" , "-L = potlac farebne kodovanu legendu grafu", "-l poc = kresli poc ciar v pozadi grafu" , "-m form = timeout 1 navstevy (seconds)" , "-T = vypis casove informacie" , "-c file = pouzi konfig. subor 'file'" , "-n name = pouzi meno pocitaca" , "-o adr = vystupny adresar" , "-t name = nazov zostavy 'name'" , "-a name = skry browser 'name'" , "-r name = skry odkazovac 'name'" , "-s name = skry miesto 'name'" , "-u name = skry URL 'name'" , "-x name = skry priponu suboru 'name'" , "-O name = Omit page 'name'" , "-P name = pripona typu stranky 'name'" , "-I name = prezyvka Index(u) 'name'" , "-K poc = poc months in summary table" , "-k poc = poc months in summary graph" , "-A poc = Zobraz poc naj browserov" , "-C poc = Zobraz poc naj krajin" , "-R poc = Zobraz poc naj odkazovacov" , "-S poc = Zobraz poc naj miest" , "-U poc = Zobraz poc naj URL-iek" , "-e poc = Zobraz poc naj vstupnych stran" , "-E poc = Zobraz poc naj vystupnych stran" , "-g poc = Group Domains to 'poc' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Obdobie ╧tatistiky"; char *msg_hhdr_gt = "GenerovanИ"; /* main index strings */ char *msg_main_us = "╘tatistiky vyu╬itia pre"; /* char *msg_main_per= "PoslednЩch 12 mesiacov"; */ char *msg_main_per= "MesaХnЩ sumАr"; char *msg_main_sum= "MesaХnЩ sumАr"; char *msg_main_da = "DennЩ priemer"; char *msg_main_mt = "MesaХnИ sЗХty"; /* month HTML page strings */ char *msg_hmth_du = "DennИ vyu╬itie za"; char *msg_hmth_hu = "HodinovИ vyu╬itie za"; /* table header strings */ char *msg_h_by = "pod╣a"; char *msg_h_avg = "priem"; char *msg_h_max = "max"; char *msg_h_total = "celkom"; char *msg_h_totals= "celkom"; char *msg_h_day = "deР"; char *msg_h_mth = "mesiac"; char *msg_h_hour = "hodina"; char *msg_h_hits = "zАsahov"; char *msg_h_pages = "strАn"; char *msg_h_visits= "nАv╧tev"; char *msg_h_files = "sЗborov"; char *msg_h_sites = "miest"; char *msg_h_xfer = "kBytov"; char *msg_h_hname = "poХМtaХ"; char *msg_h_url = "URL"; char *msg_h_agent = "prehliadaХ"; char *msg_h_ref = "odkazovaХ"; char *msg_h_ctry = "krajina"; char *msg_h_search= "h╣adanЩ text"; char *msg_h_uname = "u╬ivate╣"; /* links along top of page */ char *msg_hlnk_ds = "DennИ ╧tatistiky"; char *msg_hlnk_hs = "HodinovИ ╧tatistiky"; char *msg_hlnk_u = "URL-ky"; char *msg_hlnk_s = "Miesta"; char *msg_hlnk_a = "PrehliadaХe"; char *msg_hlnk_c = "Krajiny"; char *msg_hlnk_r = "OdkazovaХe"; char *msg_hlnk_en = "Vstupy"; char *msg_hlnk_ex = "VЩstupy"; char *msg_hlnk_sr = "H╣adanИ"; char *msg_hlnk_i = "U╬ivatelia"; /* monthly total table */ char *msg_mtot_ms = "MesaХnИ ╧tatistiky za"; char *msg_mtot_th = "Celkom zАsahov"; char *msg_mtot_tf = "Celkom sЗborov"; char *msg_mtot_tx = "Celkom kBytov"; char *msg_mtot_us = "Celkom jedineХnЩch miest"; char *msg_mtot_ur = "Celkom jedineХnЩch odkazovaХov"; char *msg_mtot_ua = "Celkom jedineХnЩch Browsrov"; char *msg_mtot_uu = "Celkom jedineХnЩch URL-iek"; char *msg_mtot_ui = "Celkom jedineХnЩch uzivatelov"; char *msg_mtot_mhd= "ZАsahov za deР"; char *msg_mtot_mhh= "ZАsahov za hodinu"; char *msg_mtot_mfd= "SЗborov za deР"; char *msg_mtot_mpd= "StrАnok za deР"; char *msg_mtot_msd= "Miest za deР"; char *msg_mtot_mvd= "NАv╧tev za deР"; char *msg_mtot_mkd= "kBytov za deР"; char *msg_mtot_rc = "ZАsahy pod╣a kСdu odpovede"; /* daily total table */ char *msg_dtot_ds = "DennИ ╧tatistiky za"; /* hourly total table */ char *msg_htot_hs = "HodinovИ ╧tatistiky za"; /* country pie chart */ char *msg_ctry_use= "Vyu╬itie pod╣a krajiny"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Naj"; char *msg_top_of = "z"; char *msg_top_s = "miest celkom"; char *msg_top_u = "URL-iek celkom"; char *msg_top_r = "odkazovaХov celkom"; char *msg_top_a = "prehliadaХov celkom"; char *msg_top_c = "krajМn celkom"; char *msg_top_en = "vstupnЩch strАn celkom"; char *msg_top_ex = "vЩstupnЩch strАn celkom"; char *msg_top_sr = "h╣adanЩch textov celkom"; char *msg_top_i = "Celkovo u╬ivatelov"; char *msg_v_sites = "Zobraz v╧etky miesta"; char *msg_v_urls = "Zobraz v╧etky Url-ka"; char *msg_v_refs = "Zobraz v╧etkych odkazovatelov"; char *msg_v_agents= "Zobraz v╧etkЩch klientov"; char *msg_v_search= "Zobraz v╧etky re╩azce vyhladavania"; char *msg_v_users = "Zobraz v╧etkЩch u╬ivatelov"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "JanuАr", "FebruАr", "Marec", "AprМl", "MАj", "JЗn", "JЗl", "August", "September","OktСber", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "╘tatistiky vyu╬itia pre"; char *msg_h_other = "InИ"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nezistena/neznama", 0,0,0 }, { IDX_3C('c','o','m'), "Komercna (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Aakademicka (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US vladna (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Medzinarodna (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US vojenska (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Siet (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Neziskova organizacia (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Zastaralo Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andora", 0,0,0 }, { IDX_2C('a','e'), "Spojene Arabske Emiraty", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albansko", 0,0,0 }, { IDX_2C('a','m'), "Armensko", 0,0,0 }, { IDX_2C('a','n'), "Holandske Antily", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarktida", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Americka Samoa", 0,0,0 }, { IDX_2C('a','t'), "Rakusko", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbajdzan", 0,0,0 }, { IDX_2C('b','a'), "Bosna a Hercegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Banglades", 0,0,0 }, { IDX_2C('b','e'), "Belgicko", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulharsko", 0,0,0 }, { IDX_2C('b','h'), "Bahrajn", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazilia", 0,0,0 }, { IDX_2C('b','s'), "Bahamy", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Bielorusko", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Stredo-africka republika", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Svajciarsko", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cookove ostrovy", 0,0,0 }, { IDX_2C('c','l'), "Cile", 0,0,0 }, { IDX_2C('c','m'), "Camerun", 0,0,0 }, { IDX_2C('c','n'), "Cina", 0,0,0 }, { IDX_2C('c','o'), "Kolumbia", 0,0,0 }, { IDX_2C('c','r'), "Kostarika", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Vianocne ostrovy", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Ceska republika", 0,0,0 }, { IDX_2C('d','e'), "Nemecko", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Dansko", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominikanska republika", 0,0,0 }, { IDX_2C('d','z'), "Alzirsko", 0,0,0 }, { IDX_2C('e','c'), "Ekvador", 0,0,0 }, { IDX_2C('e','e'), "Estonsko", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Zapadna Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spanielsko", 0,0,0 }, { IDX_2C('e','t'), "Etiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finsko", 0,0,0 }, { IDX_2C('f','j'), "Fidzi", 0,0,0 }, { IDX_2C('f','k'), "Falklandske ostrovy (Malviny)", 0,0,0 }, { IDX_2C('f','m'), "Micronezia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "Francuzsko", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Velka Britania (GB)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Gruzinsko", 0,0,0 }, { IDX_2C('g','f'), "Francuzska Guajana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Gronsko", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Grecko", 0,0,0 }, { IDX_2C('g','s'), "Sv. Georgia a Sv. Sandwich ostr.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hongkong", 0,0,0 }, { IDX_2C('h','m'), "Heard a McDonald ostrovy", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Chorvatsko", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Madarsko", 0,0,0 }, { IDX_2C('i','d'), "Indonezia", 0,0,0 }, { IDX_2C('i','e'), "Irsko", 0,0,0 }, { IDX_2C('i','l'), "Izrael", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Island", 0,0,0 }, { IDX_2C('i','t'), "Taliansko", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaika", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japonsko", 0,0,0 }, { IDX_2C('k','e'), "Kena", 0,0,0 }, { IDX_2C('k','g'), "Kirgizstan", 0,0,0 }, { IDX_2C('k','h'), "Kambodza", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea (Severna)", 0,0,0 }, { IDX_2C('k','r'), "Korea (Juzna)", 0,0,0 }, { IDX_2C('k','w'), "Kuvait", 0,0,0 }, { IDX_2C('k','y'), "Kajmanske ostrovy", 0,0,0 }, { IDX_2C('k','z'), "Kazachstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Libanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstainsko", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "Liotyssko", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Moroko", 0,0,0 }, { IDX_2C('m','c'), "Monako", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagaskar", 0,0,0 }, { IDX_2C('m','h'), "Marsalove ostrovy", 0,0,0 }, { IDX_2C('m','k'), "Macedonsko", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolsko", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinik", 0,0,0 }, { IDX_2C('m','r'), "Mauretania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauricius", 0,0,0 }, { IDX_2C('m','v'), "Maledivy", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexiko", 0,0,0 }, { IDX_2C('m','y'), "Malajzia", 0,0,0 }, { IDX_2C('m','z'), "Mozambik", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Nova Kaledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Holandsko", 0,0,0 }, { IDX_2C('n','o'), "Norsko", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Novy Zeland", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Francuzska Polynezia", 0,0,0 }, { IDX_2C('p','g'), "Papua Nova Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filipiny", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polsko", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Portoriko", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugalsko", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguaj", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Rumunsko", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Ruska federacia", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudska Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Svedsko", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Sv. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovinsko", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovenska republika", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalsko", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "ZSSR", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Svazijsko", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Cad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thajsko", 0,0,0 }, { IDX_2C('t','j'), "Tadzikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmensko", 0,0,0 }, { IDX_2C('t','n'), "Tunisko", 0,0,0 }, { IDX_2C('t','o'), "Tongo", 0,0,0 }, { IDX_2C('t','p'), "Vychodny Tumor", 0,0,0 }, { IDX_2C('t','r'), "Turecko", 0,0,0 }, { IDX_2C('t','t'), "Trinidad a Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraina", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Velka Britania (UK)", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "USA (US)", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatikan", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Panenske Ostrovy (Britske)", 0,0,0 }, { IDX_2C('v','i'), "Panenske Ostrovy (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Jemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Jugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Juhoafricka republika", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.slovene�������������������������������������������������������0000644�0001750�0001750�00000105436�11032527214�017561� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.slovene Webalizer V2.0x Language Support file for Slovene. 10-Mar-2000 Created by Anton Setnikar - Turbosist d.o.o., Ljubljana http://www.turbosist.si (version 2.00-12) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Slovene"; char *langcode = "sl"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing Totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "PoroХilo za mesec"; char *msg_hhdr_gt = "Izdelano"; /* main index strings */ char *msg_main_us = "Povzetek dostopov za"; /* char *msg_main_per= "Zadnjih 12 mesecev"; */ char *msg_main_per= "Povzetek po mesecih"; char *msg_main_sum= "Povzetek po mesecih"; char *msg_main_da = "Dnevno povpreХje"; char *msg_main_mt = "MeseХni se tevki"; /* month HTML page strings */ char *msg_hmth_du = "PoroХilo po dnevih za"; char *msg_hmth_hu = "PoroХilo po urah za"; /* table header strings */ char *msg_h_by = "po"; char *msg_h_avg = "povpr."; char *msg_h_max = "Max"; char *msg_h_total = "Skupaj"; char *msg_h_totals= "Skupaj vsi"; char *msg_h_day = "Dan"; char *msg_h_mth = "Mesec"; char *msg_h_hour = "Ura"; char *msg_h_hits = "Zahtevkov"; char *msg_h_pages = "Strani"; char *msg_h_visits= "Obiskov"; char *msg_h_files = "Datotek"; char *msg_h_sites = "Po podroХjih"; char *msg_h_xfer = "KB"; char *msg_h_hname = "Gostitelj"; char *msg_h_url = "URL"; char *msg_h_agent = "Brskalnik"; char *msg_h_ref = "Napotitelj"; char *msg_h_ctry = "Dr·ava"; char *msg_h_search= "Iskani niz"; char *msg_h_uname = "Uporabnik"; /* links along top of page */ char *msg_hlnk_ds = "Dnevna statistika"; char *msg_hlnk_hs = "Statistika po urah"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "PodroХja"; char *msg_hlnk_a = "Agents"; char *msg_hlnk_c = "Dr·ave"; char *msg_hlnk_r = "Preusmeritev z"; char *msg_hlnk_en = "Vstop"; char *msg_hlnk_ex = "Izhod"; char *msg_hlnk_sr = "Iskanje"; char *msg_hlnk_i = "Uporabnikov"; /* monthly Skupaj table */ char *msg_mtot_ms = "MeseХno poroХilo za"; char *msg_mtot_th = "Skupaj zahtevkov"; char *msg_mtot_tf = "Skupaj datotek"; char *msg_mtot_tx = "Skupaj KB"; char *msg_mtot_us = "Skupaj enkr. podroХij"; char *msg_mtot_ur = "Skupaj enkr. napotiteljev"; char *msg_mtot_ua = "Skupaj enkr. brskalnikov"; char *msg_mtot_uu = "Skupaj enkr. URL-jev"; char *msg_mtot_ui = "Skupaj enkr. uporab.imen"; char *msg_mtot_mhd= "Zahtevkov dnevno"; char *msg_mtot_mhh= "Zahtevkov na uro"; char *msg_mtot_mfd= "Datotek dnevno"; char *msg_mtot_mpd= "Strani dnevno"; char *msg_mtot_msd= "PodroХij dnevno"; char *msg_mtot_mvd= "Obiskov dnevno"; char *msg_mtot_mkd= "KB dnevno"; char *msg_mtot_rc = "Zahtevki po odzivnih kodah"; /* daily Skupaj table */ char *msg_dtot_ds = "Dnevna statistika za"; /* hourly Skupaj table */ char *msg_htot_hs = "Statistika po urah za"; /* country pie chart */ char *msg_ctry_use= "Dostopi po dr·avah za"; /* top tables */ /* Formatted as "Top xxx of xxx Skupaj something" */ char *msg_top_top = "Prvih"; char *msg_top_of = "od"; char *msg_top_s = "(vseh) podroХij"; char *msg_top_u = "(vseh) URL naslovov"; char *msg_top_r = "(vseh) napotiteljev"; char *msg_top_a = "(vseh) brskalnikov"; char *msg_top_c = "(vseh) dr·av"; char *msg_top_en = "(vseh) vstopnih strani"; char *msg_top_ex = "(vseh) izhodnih strani"; char *msg_top_sr = "(vseh) iskani nizi"; char *msg_top_i = "(vseh) uporab.imen"; char *msg_v_sites = "Pregled vseh podroХij"; char *msg_v_urls = "Pregled vseh URL-jev"; char *msg_v_refs = "Pregled vseh napotiteljev"; char *msg_v_agents= "Pregled vseh UA"; char *msg_v_search= "Pregled vseh iskanih nizov"; char *msg_v_users = "Pregled vseh uporabnikov"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September","Oktober", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Statistika dostopov za spletni stre·nik"; char *msg_h_other = "Ostalo"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Nere eni/Neznani", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.spanish�������������������������������������������������������0000644�0001750�0001750�00000111045�11032527214�017544� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.spanish Webalizer V2.0x Language Support file for Spanish. 29-May-1998 Translated by Alfredo Sola (alfredo@intelideas.com) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 29-Jul-1998 Translation for most countries and 1.2 new strings by (alfredo@intelideas.com) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 14-Apr-1999 Fixed missing comma, extra char (brad@mrunix.net) 06-Jun-1999 Updated by Alfredo Sola for new strings changed e-mail address (alfredo@intelideas.com) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 11-Agu-1999 Translation for more countries, eliminated HTML character entities in countries names, other changes (jcouto@redsvn.com) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 03-Apr-2002 Fixed "CX" country Luis Gonzalez Miranda (lgm@temuco.ecweb.cl) 16-Apr-2002 Added missing translation and corrected mispelling errors by (mi_cuenta@yahoo.com) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Spanish"; char *langcode = "es"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "registros"; char *msg_addresses="direcciones"; char *msg_ignored = "ignorados"; char *msg_bad = "errСneos"; char *msg_in = "en"; char *msg_seconds = "segundos"; /* progress and setup error messages */ char *msg_log_err = "Error: No puedo abrir histСrico"; char *msg_log_use = "Utilizando histСrico"; char *msg_dir_err = "Error: no se puede cambiar al directorio"; char *msg_dir_use = "Creando informe en"; char *msg_cur_dir = "directorio actual"; char *msg_hostname= "El nombre de mАquina en el informe es"; char *msg_ign_hist= "Ignorando registro anterior..."; char *msg_no_hist = "No encuentro el archivo histСrico..."; char *msg_get_hist= "Leyendo archivo..."; char *msg_put_hist= "Guardando informaciСn de archivo..."; char *msg_hist_err= "Error: No puedo abrir el archivo histСrico"; char *msg_bad_hist= "Error: Ignorando un registro invАlido en el archivo"; char *msg_bad_conf= "Error: no puedo abrir el archivo de configuraciСn"; char *msg_bad_key = "Aviso: palabra clave errСnea"; char *msg_bad_date= "Error: ignorando registro (fecha errСnea)"; char *msg_ign_nscp= "Saltando registro de cabecera Netscape"; char *msg_bad_rec = "Saltando registro errСneo"; char *msg_no_vrec = "No encuentro ningЗn registro vАlido"; char *msg_gen_rpt = "Generando informe de"; char *msg_gen_sum = "Generando informe resumido"; char *msg_get_data= "Leyendo datos de una ejecucion previa..."; char *msg_put_data= "Grabando datos de la ejecucion actual..."; char *msg_no_data = "Datos de ejecucion previa no encontrados..."; /*char *msg_bad_data= "Registro de datos invalidos";*/ char *msg_bad_data= "Error: No puedo cargar los datos de la corrida"; char *msg_data_err= "Error: No puedo grabar los datos de la ejecucion actual"; char *msg_dup_data= "Aviso: Posibles datos duplicados encontrados"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "No puedo reservar suficiente memoria, quito los principales sitios"; char *msg_nomem_tr= "No puedo reservar suficiente memoria, quito los principales enlaces"; char *msg_nomem_tu= "No puedo reservar suficiente memoria, quito los principales URLs"; char *msg_nomem_tc= "No puedo reservar suficiente memoria, quito los principales paМses"; char *msg_nomem_ta= "No puedo reservar suficiente memoria, quito los principales programas cliente"; char *msg_nomem_tsr="No puedo reservar suficiente memoria, quito las principales cadenas de bЗsqueda"; char *msg_nomem_ti= "No puedo reservar suficiente memoria, quito los principales usuarios"; char *msg_nomem_dh= "Error agregando nodo de servidor (diario), me lo salto"; char *msg_nomem_mh= "Error agregando nodo de servidor (mensual), me lo salto"; char *msg_nomem_u = "Error agregando nodo de URL, me lo salto"; char *msg_nomem_a = "Error agregando nodo de navegador, me lo salto"; char *msg_nomem_r = "Error agregando nodo de enlace origen, me lo salto"; char *msg_nomem_sc= "Error agregando nodo de cadenas de bЗsqueda, me lo salto"; char *msg_nomem_i = "Error agregando nodo de usuarios, me lo salto"; /* log record errors */ char *msg_big_rec = "Error: Saltando registro de histСrico demasiado grande"; char *msg_big_host= "Aviso: Cortando nombre de mАquina demasiado grande"; char *msg_big_date= "Aviso: Cortando campo de fecha demasiado grande"; char *msg_big_req = "Aviso: Cortando campo de peticiСn demasiado grande"; char *msg_big_ref = "Aviso: Cortando campo de enlace origen demasiado grande"; char *msg_big_user= "Aviso: Cortando campo de usuario demasiado grande"; char *msg_big_one = "Aviso: Una cadena sobrepasa el almacenamiento disponible"; /* misc errors */ char *msg_no_open = "Error: No puedo abrir un archivo"; /* Help display... */ char *h_usage1 = "Forma de uso"; char *h_usage2 = "[opciones] [archivo histСrico]"; char *h_msg[]= { "-h = mostrar este mensaje" , "-V = ver informaciСn de versiСn" , "-v = be verbose" , "-d = mostrar informaciСn adicional para depuraciСn" , "-F type = Log type. type= (clf | ftp | squid | w3c)" , "-f = procesa histСricos fuera de secuencia (ver man)", "-i = ignorar archivo" , "-p = recordar estado (incremental)" , "-b = ignorar estado (incremental)" , "-q = suprimir mensajes de informaciСn" , "-Q = suprimir TODOS los mensajes" , "-Y = suprimir grАfico de paМses" , "-G = suprimir grАfico por horas" , "-H = suprimir estadМsticas por horas" , "-L = suprimir leyendas coloreadas de los grАficos", "-l N = usar N lМneas de fondo en los grАficos" , "-m N = especificar temporizador de visitas (N segundos)", "-T = mostrar informaciСn de tiempo de ejecuciСn" , "-c archivo= usar el archivo de configuraciСn 'archivo'" , "-n nombre = nombre de la mАquina" , "-o dir = directorio de salida" , "-t nombre = titular el informe 'nombre'" , "-a nombre = esconder el programa cliente 'nombre'" , "-r nombre = esconder el enlace origen 'nombre'" , "-s nombre = esconder el servidor 'nombre'" , "-u nombre = esconder el URL 'nombre'" , "-x nombre = usa extension de archivos 'nombre'" , "-O nombre = Omit page 'nombre'" , "-P nombre = usa extension de paginas 'nombre'" , "-I nombre = Alias del indice 'nombre'" , "-K n = n months in summary table" , "-k n = n months in summary graph" , "-A n = Mostrar los n primeros navegadores" , "-C n = Mostrar los n primeros paises" , "-R n = Mostrar los n primeros enlaces origen" , "-S n = Mostrar los n primeros clientes" , "-U n = Mostrar los n primeros URLs" , "-e n = Mostrar las n primeras pАginas de entrada" , "-E n = Mostrar las n primeras pАginas de salida" , "-g n = Agrupar los Dominios a N niveles" , "-X = Esconde la informaciСn de cada pАgina" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D nombre = Usar el archivo cache de DNS 'nombre'" , "-N n = NЗmero de procesos DNS (0=deshabilitar)" , "-j = Enable native GeoDB lookups" , "-J nombre = Use GeoDB database 'nombre'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W nombre = Use GeoIP database 'nombre'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "PerМodo resumido"; char *msg_hhdr_gt = "Generado el"; /* main index strings */ char *msg_main_us = "Resumen de uso de"; /* char *msg_main_per= "зltimos 12 meses"; */ char *msg_main_per= "Resumen por meses"; char *msg_main_sum= "Resumen por meses"; char *msg_main_da = "Media diaria"; char *msg_main_mt = "Totales mensuales"; /* month HTML page strings */ char *msg_hmth_du = "Uso diario en"; char *msg_hmth_hu = "Uso por horas en"; /* table header strings */ char *msg_h_by = "Por"; char *msg_h_avg = "Media"; char *msg_h_max = "Max"; char *msg_h_total = "Total"; char *msg_h_totals= "Totales"; char *msg_h_day = "DМa"; char *msg_h_mth = "Mes"; char *msg_h_hour = "Hora"; char *msg_h_hits = "Accesos"; char *msg_h_pages = "PАginas"; char *msg_h_visits= "Visitas"; char *msg_h_files = "Archivos"; char *msg_h_sites = "Clientes"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "MАquina"; char *msg_h_url = "URL"; char *msg_h_agent = "Navegador"; char *msg_h_ref = "Enlace origen"; char *msg_h_ctry = "PaМs"; char *msg_h_search= "Cadena de BЗsqueda"; char *msg_h_uname = "Usuario"; /* links along top of page */ char *msg_hlnk_ds = "EstadМsticas diarias"; char *msg_hlnk_hs = "EstadМsticas por horas"; char *msg_hlnk_u = "URLs"; char *msg_hlnk_s = "Clientes"; char *msg_hlnk_a = "Navegadores"; char *msg_hlnk_c = "PaМses"; char *msg_hlnk_r = "Enlaces origen"; char *msg_hlnk_en = "Entrada"; char *msg_hlnk_ex = "Salida"; char *msg_hlnk_sr = "BЗsqueda"; char *msg_hlnk_i = "Usuarios"; /* monthly total table */ char *msg_mtot_ms = "EstadМsticas mensuales de"; char *msg_mtot_th = "Total Accesos"; char *msg_mtot_tf = "Total Archivos"; char *msg_mtot_tx = "Total KBytes"; char *msg_mtot_us = "Total Clientes"; char *msg_mtot_ur = "Total Enlaces origen"; char *msg_mtot_ua = "Total Navegadores"; char *msg_mtot_uu = "Total URLs"; char *msg_mtot_ui = "Total Usuarios зnicos"; char *msg_mtot_mhd= "Accesos por DМa"; char *msg_mtot_mhh= "Accesos por Hora"; char *msg_mtot_mfd= "Archivos por DМa"; char *msg_mtot_mpd= "PАginas por DМa"; char *msg_mtot_msd= "Clientes por DМa"; char *msg_mtot_mvd= "Visitas por DМa"; char *msg_mtot_mkd= "KBytes por DМa"; char *msg_mtot_rc = "Accesos por cСdigo de respuesta"; /* daily total table */ char *msg_dtot_ds = "EstadМsticas diarias de"; /* hourly total table */ char *msg_htot_hs = "EstadМsticas por hora de"; /* country pie chart */ char *msg_ctry_use= "Accesos por paМs en"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Los"; char *msg_top_of = "primeros de un total de"; char *msg_top_s = "clientes"; char *msg_top_u = "URLs"; char *msg_top_r = "enlaces origen"; char *msg_top_a = "programas de cliente"; char *msg_top_c = "paМses"; char *msg_top_en = "Total de PАginas de Entrada"; char *msg_top_ex = "Total de PАginas de Salida"; char *msg_top_sr = "Total de Cadenas de BЗsqueda"; char *msg_top_i = "Total de Usuarios"; char *msg_v_sites = "Ver todos los Sitios"; char *msg_v_urls = "Ver todos los enlaces"; char *msg_v_refs = "Ver todos los Referentes"; char *msg_v_agents= "Ver todos los Navegadores"; char *msg_v_search= "Ver todas las Palabras de BЗsqueda"; char *msg_v_users = "Ver todos los Usuarios"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"}; /* long month names - can be any length */ char *l_month[12]={ "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre","Octubre", "Noviembre","Diciembre"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "CСdigo de respuesta indefinido", 0 }, { "100 - ContinЗa", 0 }, { "101 - Cambiando de protocolo", 0 }, { "200 - OK", 0 }, { "201 - Creado", 0 }, { "202 - Aceptado", 0 }, { "203 - InformaciСn no autorizada", 0 }, { "204 - No hay contenido", 0 }, { "205 - Contenido renovado", 0 }, { "206 - Contenido parcial", 0 }, { "300 - Varias opciones", 0 }, { "301 - Movido permanentemente", 0 }, { "302 - Encontrado", 0 }, { "303 - Ver otros", 0 }, { "304 - No modificado", 0 }, { "305 - Utilizar proxy", 0 }, { "307 - Movido temporalmente", 0 }, { "400 - PeticiСn errСnea", 0 }, { "401 - No autorizado", 0 }, { "402 - Se requiere pago", 0 }, { "403 - Prohibido", 0 }, { "404 - No se encuentra", 0 }, { "405 - MИtodo no permitido", 0 }, { "406 - No aceptable", 0 }, { "407 - Se requiere autentificaciСn de proxy", 0 }, { "408 - Fin de tiempo de espera", 0 }, { "409 - Conflicto", 0 }, { "410 - Abandonado", 0 }, { "411 - Se requiere longitud", 0 }, { "412 - Falla la condiciСn previa", 0 }, { "413 - Entidad de peticiСn demasiado grande", 0 }, { "414 - URI de peticiСn demasiado larga", 0 }, { "415 - Medio no soportado", 0 }, { "416 - No se puede satisfacer el rango pedido", 0 }, { "417 - Falla lo que se esperaba", 0 }, { "500 - Error interno del servidor", 0 }, { "501 - No implementado", 0 }, { "502 - Puerta de enlace incorrecta", 0 }, { "503 - Servicio no disponible", 0 }, { "504 - Fin de tiempo de espera para la puerta de enlace", 0 }, { "505 - VersiСn de HTTP no soportada", 0 } }; char *msg_title = "EstadМsticas de uso para"; char *msg_h_other = "Otro"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "No resuelve/desconocido", 0,0,0 }, { IDX_3C('c','o','m'), "Comercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educacion (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Gobierno USA (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Internacional (int)", 0,0,0 }, { IDX_3C('m','i','l'), "EjИrcito USA (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Red (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizaciones sin fines de lucro (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"OTAN", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "Emiratos Arabes Unidos", 0,0,0 }, { IDX_2C('a','f'), "AfganistАn", 0,0,0 }, { IDX_2C('a','g'), "Antigua y Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Antillas holandesas", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "AntАrtida", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "Samoa Americana", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "AzerbaijАn", 0,0,0 }, { IDX_2C('b','a'), "Bosnia Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "BИlgica", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "BahraМn", 0,0,0 }, { IDX_2C('b','i'), "BurundМ", 0,0,0 }, { IDX_2C('b','j'), "BenМn", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brasil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "BhutАn", 0,0,0 }, { IDX_2C('b','v'), "Isla Bouvet", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Bielorusia", 0,0,0 }, { IDX_2C('b','z'), "Belice", 0,0,0 }, { IDX_2C('c','a'), "CanadА", 0,0,0 }, { IDX_2C('c','c'), "Islas Cocos (Keeling)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "RepЗblica Centroafricana", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Suiza", 0,0,0 }, { IDX_2C('c','i'), "Costa de Marfil", 0,0,0 }, { IDX_2C('c','k'), "Islas Cook", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "CamerЗn", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cabo Verde", 0,0,0 }, { IDX_2C('c','x'), "Isla Navidad", 0,0,0 }, { IDX_2C('c','y'), "Chipre", 0,0,0 }, { IDX_2C('c','z'), "RepЗblica Checa", 0,0,0 }, { IDX_2C('d','e'), "Alemania", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Dinamarca", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "RepЗblica Dominicana", 0,0,0 }, { IDX_2C('d','z'), "Argelia", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egipto", 0,0,0 }, { IDX_2C('e','h'), "Sahara Occidental", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "EspaЯa", 0,0,0 }, { IDX_2C('e','t'), "EtiopМa", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlandia", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Malvinas", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Islas Faroe", 0,0,0 }, { IDX_2C('f','r'), "Francia", 0,0,0 }, { IDX_2C('g','a'), "GabСn", 0,0,0 }, { IDX_2C('g','b'), "Gran BretaЯa (Reino Unido)", 0,0,0 }, { IDX_2C('g','d'), "Granada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Guinea francesa", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Groenlandia", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadalupe", 0,0,0 }, { IDX_2C('g','q'), "Guinea Ecuatorial", 0,0,0 }, { IDX_2C('g','r'), "Grecia", 0,0,0 }, { IDX_2C('g','s'), "Islas S. Georgia y S. Sandwich", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Islas Heard y McDonald", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croacia", 0,0,0 }, { IDX_2C('h','t'), "HaitМ", 0,0,0 }, { IDX_2C('h','u'), "HungrМa", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "Territorios BritАnicos del OcИano мndico", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "IrАn", 0,0,0 }, { IDX_2C('i','s'), "Islandia", 0,0,0 }, { IDX_2C('i','t'), "Italia", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordania", 0,0,0 }, { IDX_2C('j','p'), "JapСn", 0,0,0 }, { IDX_2C('k','e'), "Kenia", 0,0,0 }, { IDX_2C('k','g'), "KyrgyzstАn", 0,0,0 }, { IDX_2C('k','h'), "Camboya", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts y Nevis", 0,0,0 }, { IDX_2C('k','p'), "Corea del Norte", 0,0,0 }, { IDX_2C('k','r'), "Corea del Sur", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Islas CaimАn", 0,0,0 }, { IDX_2C('k','z'), "KazagistАn", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "LМbano", 0,0,0 }, { IDX_2C('l','c'), "Santa LucМa", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lituania", 0,0,0 }, { IDX_2C('l','u'), "Luxemburgo", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libia", 0,0,0 }, { IDX_2C('m','a'), "Marruecos", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldavia", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Islas Marshall", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macao", 0,0,0 }, { IDX_2C('m','p'), "Islas Marianas del Norte", 0,0,0 }, { IDX_2C('m','q'), "Martinica", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauricio", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "MИxico", 0,0,0 }, { IDX_2C('m','y'), "Malasia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "Nueva Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Isla Norfolk", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Holanda", 0,0,0 }, { IDX_2C('n','o'), "Noruega", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Nueva Zelanda", 0,0,0 }, { IDX_2C('o','m'), "OmАn", 0,0,0 }, { IDX_2C('p','a'), "PanamА", 0,0,0 }, { IDX_2C('p','e'), "PerЗ", 0,0,0 }, { IDX_2C('p','f'), "Polinesia francesa", 0,0,0 }, { IDX_2C('p','g'), "PapЗa Nueva Guinea", 0,0,0 }, { IDX_2C('p','h'), "Filipinas", 0,0,0 }, { IDX_2C('p','k'), "PakistАn", 0,0,0 }, { IDX_2C('p','l'), "Polonia", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre y Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Isla ReuniСn", 0,0,0 }, { IDX_2C('r','o'), "Rumania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Federacion Rusa", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Arabia Saudita", 0,0,0 }, { IDX_2C('s','b'), "Islas SalomСn", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "SudАn", 0,0,0 }, { IDX_2C('s','e'), "Suecia", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "Sta. Elena", 0,0,0 }, { IDX_2C('s','i'), "Eslovenia", 0,0,0 }, { IDX_2C('s','j'), "Islas Svalbard y Jan Mayen", 0,0,0 }, { IDX_2C('s','k'), "RepЗblica Eslovaca", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leona", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Santo Tomas y Principe", 0,0,0 }, { IDX_2C('s','u'), "URSS (ant.)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swazilandia", 0,0,0 }, { IDX_2C('t','c'), "Islas Turcos y Caicos", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "Territorios Franceses del Sur", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tailandia", 0,0,0 }, { IDX_2C('t','j'), "TajikistАn", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "TurkmenistАn", 0,0,0 }, { IDX_2C('t','n'), "Tunez", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "TurquМa", 0,0,0 }, { IDX_2C('t','t'), "Trinidad y Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ucrania", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Reino Unido", 0,0,0 }, { IDX_2C('u','m'), "Islas Menores Exteriores Norteamericanas", 0,0,0 }, { IDX_2C('u','s'), "Estados Unidos", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "UzbekistАn", 0,0,0 }, { IDX_2C('v','a'), "Ciudad Estado Vaticano (Sta. Sede)", 0,0,0 }, { IDX_2C('v','c'), "San Vincente y las Granadinas", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Islas Virgenes (BritАnicas)", 0,0,0 }, { IDX_2C('v','i'), "Islas Virgenes (U.S.A)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Islas Wallis y Futuna", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "Sudafrica", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0, NULL, 0,0,0 }}; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.swedish�������������������������������������������������������0000644�0001750�0001750�00000072763�11121404152�017554� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.swedish Webalizer V2.0x Language Support file for Swedish. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 03-Oct-1998 Swedish Translation by Daniel Bergstrom (daniel@bergstrom.net) 28-Oct-1998 Lots of typos fixed, Daniel Bergstrom (daniel@bergstrom.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 26-Apr-1999 More typos fixed, thanks to "Mika PerДlД" <mika@unit.liu.se> (daniel@bergstrom.net) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 14-Oct-1999 Additional translation by David Cross (david.cross@forefront.net) 22-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 01-Jun-2000 Modified/corrected by Joaquim Homrighausen (joho@webbplatsen.se) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) 14-nov-2008 Modifed for HTML-special chars (bengt@sm7jqb.se) Please fix all typos, or drop me a note and i will fix it and submit patches upstream. /daniel Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Swedish"; char *langcode = "sv"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "poster"; char *msg_addresses="adresser"; char *msg_ignored = "ignorerade"; char *msg_bad = "felaktiga"; char *msg_in = "i"; char *msg_seconds = "sekunder"; /* progress and setup error messages */ char *msg_log_err = "Fel: kan inte Жppna loggfilen"; char *msg_log_use = "AnvДnder loggfil"; char *msg_dir_err = "Fel: kan inte byta katalog till"; char *msg_dir_use = "Skapar utdata i"; char *msg_cur_dir = "aktuell katalog"; char *msg_hostname= "Datornamn fЖr rapporterna Дr"; char *msg_ign_hist= "Ignorerar tidigare historia..."; char *msg_no_hist = "Hittade inte historiefilen..."; char *msg_get_hist= "LДser historiefil..."; char *msg_put_hist= "Sparar historieinformation..."; char *msg_hist_err= "Fel: kan inte skriva till historefil"; char *msg_bad_hist= "Fel: Ignorerar felaktig historiepost"; char *msg_bad_conf= "Fel: Kan inte Жppna konfigurationsfilen"; char *msg_bad_key = "Varning: Ogiltigt nyckelord"; char *msg_bad_date= "Fel: hoppar Жver post (felaktigt datum)"; char *msg_ign_nscp= "Hoppar Жver Netscape-specifik inledningsrad"; char *msg_bad_rec = "Hoppar Жver felaktig post"; char *msg_no_vrec = "Hittade inga giltiga poster!"; char *msg_gen_rpt = "Genererar rapport fЖr"; char *msg_gen_sum = "Genererar Жversiktsinformation"; char *msg_get_data= "LДser data om fЖregЕende genomgЕng..."; char *msg_put_data= "Sparar data om denna genomgЕng..."; char *msg_no_data = "Hittade inte data om fЖregЕende genomgЕng..."; /*char *msg_bad_data= "Felaktig datapost";*/ char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Fel: kan inte spara data frЕn denna omgЕng"; char *msg_dup_data= "Varning: Hittar data som sannolikt Дr duplicerad"; /* DNS Stuff */ char *msg_dns_nocf= "Ingen cachefil specificerad..."; char *msg_dns_nodb= "Fel: Kan inte Жppna DNS-cachefilen"; char *msg_dns_nolk= "Fel: Kan inte lЕsa DNS-cachefilen"; char *msg_dns_usec= "AnvДnder DNS-cachefilen"; char *msg_dns_rslv= "DNS Anrop"; char *msg_dns_none= "Ingen att bearbeta"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Kan inte allokera minne, stДnger av 'Top sites'"; char *msg_nomem_tr= "Kan inte allokera minne, stДnger av 'Top referrers'"; char *msg_nomem_tu= "Kan inte allokera minne, stДnger av 'Top URLs'"; char *msg_nomem_tc= "Kan inte allokera minne, stДnger av 'Top Countries'"; char *msg_nomem_ta= "Kan inte allokera minne, stДnger av 'Top User Agents'"; char *msg_nomem_tsr="Kan inte allokera minne, stДnger av 'Top Search Strings'"; char *msg_nomem_ti= "Kan inte allokera minne, stДnger av 'Top Usernames'"; char *msg_nomem_dh= "Fel vid tillДgg av dator i lista (daglig), hoppar Жver"; char *msg_nomem_mh= "Fel vid tillДgg av dator i lista (mЕnatlig), hoppar Жver"; char *msg_nomem_u = "Fel vid tillДgg av URL i lista, hoppar Жver"; char *msg_nomem_a = "Fel vid tillДgg av klienttyp i lista, hoppar Жver"; char *msg_nomem_r = "Fel vid tillДgg av hДnvisning i lista, hoppar Жver"; char *msg_nomem_sc= "Fel vid tillДgg av sЖkstrДng, hoppar Жver"; char *msg_nomem_i = "Fel vid tillДgg av anvДndarnamn, hoppar Жver"; /* log record errors */ char *msg_big_rec = "Fel: hoppar Жver fЖr stor post i loggfil"; char *msg_big_host= "Varning: Anpassar (kapar) fЖr lЕngt datornamn"; char *msg_big_date= "Varning: Anpassar (kapar) fЖr lЕngt datumfДlt"; char *msg_big_req = "Varning: Anpassar (kapar) fЖr lЕngt frЕgefДlt"; char *msg_big_ref = "Varning: Anpassar (kapar) fЖr lЕngt hДnvisningsfДlt"; char *msg_big_user= "Warning: Anpassar (kapar) fЖr lЕngt anvДndarnamn"; char *msg_big_one = "Varning: StrДng Жverskrider storleken pЕ lagringsutrymme"; /* misc errors */ char *msg_no_open = "Fel: kan inte Жppna fil"; /* Help display... */ char *h_usage1 = "AnvДndning"; char *h_usage2 = "[flaggor] [loggfil]"; char *h_msg[]= { "-h = skriv hjДlptext" , "-V = skriv versionsinformation" , "-v = be verbose" , "-d = skriv ytterligare debuginformation" , "-F typ = Loggtyp. typ= (clf | ftp | squid | w3c)", "-f = hantera sekvensfel" , "-i = ignorera historiefilen" , "-p = bevara tillstЕnd (inkrementell)" , "-b = ignorera tillstЕnd (inkrementell)" , "-q = visa ej informationsmeddelanden" , "-Q = visa ej nЕgon information" , "-Y = skapa ej graf fЖr lДnder" , "-G = skapa ej graf fЖr timmar" , "-H = skapa ej statistik fЖr timmar" , "-L = supress color coded graph legends" , "-l num = skapa 'num' referenslinjer fЖr grafer" , "-m num = Visit timeout value (seconds)" , "-T = skriv information om tidsЕtgЕng" , "-c fil = anvДnd konfigurationsfilen 'fil'" , "-n namn = datornamn att anvДnda" , "-o katalog = katalog fЖr utmatning" , "-t namn = anvДnd 'namn' som titel" , "-a namn = dЖlj anvДndarklient 'namn'" , "-r namn = dЖlj hДnvisning 'namn'" , "-s namn = dЖlj klientursprungsadress 'namn'" , "-u namn = dЖlj URL 'namn'" , "-x namn = AnvДnd filnamnsДndelse 'namn'" , "-O namn = Omit page 'namn'" , "-P namn = Page type extension 'namn'" , "-I namn = ha 'namn' som alias till index.html" , "-K antal = 'antal' months in summary table" , "-k antal = 'antal' months in summary graph" , "-A antal = visa 'antal' i listan Жver klienter" , "-C antal = visa 'antal' i listan Жver lДnder" , "-R antal = visa 'antal' i listan Жver hДnvisningar", "-S antal = visa 'antal' i ursprungsadress-listan" , "-U antal = visa 'antal' i listan Жver URL-er" , "-e antal = Visa 'antal' i listan Жver ingЕngssidor", "-E antal = Visa 'antal' i listan Жver utgЕngssidor", "-g antal = Group Domains to 'antal' levels" , "-X = GЖm individuella platser" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D namn = AnvДnd DNS-cachfil 'namn'" , "-N num = Antal DNS-processer (0=stДng av)" , "-j = Enable native GeoDB lookups" , "-J namn = Use GeoDB database 'namn'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W namn = AnvДnd GeoIP databas 'namn'" , #endif NULL}; #define LAST_HLP_MSG (int)(sizeof(h_msg)/sizeof(char *)) /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* Changed by Bengt Samuelsson <bengt@sm7jqb.se> */ /* е = Å д = Ä ж = Ö */ /* Е = å Д = ä Ж = ö */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Period för summering"; char *msg_hhdr_gt = "Skapad"; /* main index strings */ /* For libgd is no HTML letters */ char *msg_main_us = "Summering fЖr"; /* char *msg_main_per= "Senaste 12 månaderna"; */ char *msg_main_per= "Summering månad för månad"; char *msg_main_sum= "Summering månad för månad"; char *msg_main_da = "Medel över dagen"; char *msg_main_mt = "Månatliga summor"; /* month HTML page strings */ /* For libgd is no HTML letters */ char *msg_hmth_du = "Daglig anvДndning fЖr"; char *msg_hmth_hu = "AnvДndning timme fЖr timme fЖr"; /* table header strings */ /* For libgd is no HTML letters */ char *msg_h_by = "av"; char *msg_h_avg = "Medel"; char *msg_h_max = "Max"; char *msg_h_total = "Summa"; char *msg_h_totals= "Summor"; char *msg_h_day = "Dag"; // char *msg_h_mth = "Månad"; // HTML char *msg_h_mth = "MЕnad"; // GD char *msg_h_hour = "Timme"; // char *msg_h_hits = "Träffar"; // HTML char *msg_h_hits = "TrДffar"; // GD char *msg_h_pages = "Sidor"; // char *msg_h_visits= "Besö."; // HTML char *msg_h_visits= "BesЖk."; // GD char *msg_h_files = "Filer"; char *msg_h_sites = "Klient."; char *msg_h_xfer = "kilobyte"; // char *msg_h_hname = "Värdnamn"; // HTML char *msg_h_hname = "VДrdnamn"; // GD char *msg_h_url = "URL"; char *msg_h_agent = "Klienttyp"; char *msg_h_ref = "Referens"; char *msg_h_ctry = "Land"; // char *msg_h_search= "Söksträng"; // HTML char *msg_h_search= "SЖkstrДng"; // GD // char *msg_h_uname = "Användarnamn"; // HTML char *msg_h_uname = "AnvДndarnamn"; // GD /* links along top of page */ char *msg_hlnk_ds = "Daglig statistik"; char *msg_hlnk_hs = "Statistik timme för timme"; char *msg_hlnk_u = "URLer"; char *msg_hlnk_s = "Klientadresser"; char *msg_hlnk_a = "Klienttyper"; char *msg_hlnk_c = "Länder"; char *msg_hlnk_r = "Hänvisare"; char *msg_hlnk_en = "Ingång"; char *msg_hlnk_ex = "Utgång"; char *msg_hlnk_sr = "Sök"; char *msg_hlnk_i = "Användare"; /* monthly total table */ char *msg_mtot_ms = "Månatlig statistik för"; char *msg_mtot_th = "Totalt antal träffar"; char *msg_mtot_tf = "Totalt antal filer"; char *msg_mtot_tx = "Totalt antal kilobytes"; char *msg_mtot_us = "Totalt antal unika klientadresser"; char *msg_mtot_ur = "Totalt antal unika hänvisningar"; char *msg_mtot_ua = "Totalt antal unika klienttyper"; char *msg_mtot_uu = "Totalt antal unika URLer"; char *msg_mtot_ui = "Totalt antal unika användarnamn"; char *msg_mtot_mhd= "Träffar per dag"; char *msg_mtot_mhh= "Träffar per timme"; char *msg_mtot_mfd= "Filer per dag"; char *msg_mtot_mpd= "Sidor per dag"; char *msg_mtot_msd= "Klientadresser per dag"; char *msg_mtot_mvd= "Besök per dag"; char *msg_mtot_mkd= "Kilobytes per dag"; char *msg_mtot_rc = "Träffar sorterade efter svarskod"; /* daily total table */ char *msg_dtot_ds = "Daglig statistik för"; /* hourly total table */ char *msg_htot_hs = "Statistik timme för timme för"; /* country pie chart */ /* For libgd is no HTML letters */ char *msg_ctry_use= "Statsistik sorterat efter land fЖr"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Vanligaste"; char *msg_top_of = "av totalt"; char *msg_top_s = "klientursprung"; char *msg_top_u = "URLer"; char *msg_top_r = "hänvisnigar"; char *msg_top_a = "klienttyper"; char *msg_top_c = "länder"; char *msg_top_en = "totalt ingångssidor"; char *msg_top_ex = "totalt utgångssidor"; char *msg_top_sr = "totalt söksträngar"; char *msg_top_i = "totalt användarnamn"; char *msg_v_sites = "Visa Alla Sidor"; char *msg_v_urls = "Visa Alla URLer"; char *msg_v_refs = "Visa Alla Referenser"; char *msg_v_agents= "Visa Alla Användar Agenter"; char *msg_v_search= "Visa Alla Sök Strängar"; char *msg_v_users = "Visa Alla Användarnamn"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September","Oktober", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Oidentifierad svarskod", 0 }, { "Kod 100 - Fortsätt", 0 }, { "Kod 101 - Byter protokoll", 0 }, { "Kod 200 - OK", 0 }, { "Kod 201 - Skapad", 0 }, { "Kod 202 - Accepterad", 0 }, { "Kod 203 - Icke auktoritativ information", 0 }, { "Kod 204 - Inget innehåll", 0 }, { "Kod 205 - återställ innehåll", 0 }, { "Kod 206 - Partiellt innehåll", 0 }, { "Kod 300 - Multipla val", 0 }, { "Kod 301 - Permanent flyttad", 0 }, { "Kod 302 - Funnen", 0 }, { "Kod 303 - Se annan", 0 }, { "Kod 304 - Inte ändrad", 0 }, { "Kod 305 - Använd proxy", 0 }, { "Kod 307 - Tillfälligt flyttad", 0 }, { "Kod 400 - Felaktig förfrågan", 0 }, { "Kod 401 - Icke auktoriserad", 0 }, { "Kod 402 - Betalning krävs", 0 }, { "Kod 403 - Förbjuden", 0 }, { "Kod 404 - Hittades ej", 0 }, { "Kod 405 - Otillåten metod", 0 }, { "Kod 406 - Icke accepterbar", 0 }, { "Kod 407 - Verifiering från proxy krävs", 0 }, { "Kod 408 - Förfrågan gick över tiden", 0 }, { "Kod 409 - Konflikt", 0 }, { "Kod 410 - Borta", 0 }, { "Kod 411 - Behöver längd", 0 }, { "Kod 412 - Misslyckades med villkor", 0 }, { "Kod 413 - Förfrågeenhet för stor", 0 }, { "Kod 414 - Förfråge-URI för lång", 0 }, { "Kod 415 - Ej stödd medietyp", 0 }, { "Kod 416 - Efterfrågat intervall ej möjligt",0 }, { "Kod 417 - Expectation Failed", 0 }, { "Kod 500 - Internt serverfel", 0 }, { "Kod 501 - Ej implementerad", 0 }, { "Kod 502 - Felaktig gateway", 0 }, { "Kod 503 - Tjänsten otillgänglig", 0 }, { "Kod 504 - Gateway gick över tiden", 0 }, { "Kod 505 - denna HTTP-version stöds icke",0 } }; char *msg_title = "Statistik över användning för"; char *msg_h_other = "Annan"; /* Country codes (previously in ctry.h header file) */ /* For libgd is no HTML letters */ struct country_code ctry[] = { { 0, "Ej uppslagen/okДnd",0,0,0 }, { IDX_3C('c','o','m'), "Kommersiell (com)",0,0,0 }, { IDX_3C('e','d','u'), "Utbildning (edu)",0,0,0 }, { IDX_3C('g','o','v'), "USA, staten (gov)",0,0,0 }, { IDX_3C('i','n','t'), "Interationell (int)",0,0,0 }, { IDX_3C('m','i','l'), "USA, militДr (mil)",0,0,0 }, { IDX_3C('n','e','t'), "NДtverk (net)",0,0,0 }, { IDX_3C('o','r','g'), "Ideell organisation (org)",0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)",0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)",0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)",0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)",0,0,0 }, { IDX_4C('a','e','r','o'), "Air Transport Industry (aero)",0,0,0 }, { IDX_4C('a','s','i','a'), "Asia Pacific Community (asia)",0,0,0 }, { IDX_4C('c','o','o','p'), "Cooperative Association (coop)",0,0,0 }, { IDX_4C('i','n','f','o'), "Generic TLD (info)",0,0,0 }, { IDX_4C('j','o','b','s'), "Human Resources (jobs)",0,0,0 }, { IDX_4C('m','o','b','i'), "Generic Mobile TLD (mobi)",0,0,0 }, { IDX_4C('n','a','m','e'), "Individual (name)",0,0,0 }, { IDX_4C('a','r','p','a'), "Address Routing (arpa)",0,0,0 }, { IDX_4C('n','a','t','o'), "Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'),"Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'),"Travel Ind. (travel)",0,0,0 }, { IDX_2C('a','c'), "Ascension Island",0,0,0 }, { IDX_2C('a','d'), "Andorra",0,0,0 }, { IDX_2C('a','e'), "FЖrenade arabemiraten",0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda",0,0,0 }, { IDX_2C('a','i'), "Anguilla",0,0,0 }, { IDX_2C('a','l'), "Albanien",0,0,0 }, { IDX_2C('a','m'), "Armenien",0,0,0 }, { IDX_2C('a','n'), "NederlДnderna",0,0,0 }, { IDX_2C('a','o'), "Angola",0,0,0 }, { IDX_2C('a','q'), "Antarktis",0,0,0 }, { IDX_2C('a','r'), "Argentina",0,0,0 }, { IDX_2C('a','s'), "Amerikanska Samoa",0,0,0 }, { IDX_2C('a','t'), "жsterrike",0,0,0 }, { IDX_2C('a','u'), "Australien",0,0,0 }, { IDX_2C('a','w'), "Aruba",0,0,0 }, { IDX_2C('a','x'), "Aland Islands",0,0,0 }, { IDX_2C('a','z'), "Azerbadjan",0,0,0 }, { IDX_2C('b','a'), "Bosnien Herzegovina",0,0,0 }, { IDX_2C('b','b'), "Barbados",0,0,0 }, { IDX_2C('b','d'), "Bangladesh",0,0,0 }, { IDX_2C('b','e'), "Belgien",0,0,0 }, { IDX_2C('b','f'), "Burkina Faso",0,0,0 }, { IDX_2C('b','g'), "Bulgarien",0,0,0 }, { IDX_2C('b','h'), "Bahrain",0,0,0 }, { IDX_2C('b','i'), "Burundi",0,0,0 }, { IDX_2C('b','j'), "Benin",0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy",0,0,0 }, { IDX_2C('b','m'), "Bermuda",0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam",0,0,0 }, { IDX_2C('b','o'), "Bolivia",0,0,0 }, { IDX_2C('b','r'), "Brazilien",0,0,0 }, { IDX_2C('b','s'), "Bahamas",0,0,0 }, { IDX_2C('b','t'), "Bhutan",0,0,0 }, { IDX_2C('b','v'), "Bouvet Island",0,0,0 }, { IDX_2C('b','w'), "Botswana",0,0,0 }, { IDX_2C('b','y'), "Vitryssland",0,0,0 }, { IDX_2C('b','z'), "Belize",0,0,0 }, { IDX_2C('c','a'), "Kanada",0,0,0 }, { IDX_2C('c','c'), "CocosЖarna",0,0,0 }, { IDX_2C('c','d'), "Kongo, Democratic Republic",0,0,0 }, { IDX_2C('c','f'), "Centralafrikanska republiken",0,0,0 }, { IDX_2C('c','g'), "Kongo",0,0,0 }, { IDX_2C('c','h'), "Schweiz",0,0,0 }, { IDX_2C('c','i'), "Elfenbenskusten",0,0,0 }, { IDX_2C('c','k'), "Cook жarna",0,0,0 }, { IDX_2C('c','l'), "Chile",0,0,0 }, { IDX_2C('c','m'), "Kamerun",0,0,0 }, { IDX_2C('c','n'), "Kina",0,0,0 }, { IDX_2C('c','o'), "Colombia",0,0,0 }, { IDX_2C('c','r'), "Costa Rica",0,0,0 }, { IDX_2C('c','u'), "Kuba",0,0,0 }, { IDX_2C('c','v'), "Cape Verde",0,0,0 }, { IDX_2C('c','x'), "JulЖn",0,0,0 }, { IDX_2C('c','y'), "Cypern",0,0,0 }, { IDX_2C('c','z'), "Tjeckien",0,0,0 }, { IDX_2C('d','e'), "Tyskland",0,0,0 }, { IDX_2C('d','j'), "Djibouti",0,0,0 }, { IDX_2C('d','k'), "Danmark",0,0,0 }, { IDX_2C('d','m'), "Dominica",0,0,0 }, { IDX_2C('d','o'), "Dominikanska Republiken",0,0,0 }, { IDX_2C('d','z'), "Algeriet",0,0,0 }, { IDX_2C('e','c'), "Ekvador",0,0,0 }, { IDX_2C('e','e'), "Estland",0,0,0 }, { IDX_2C('e','g'), "Egypten",0,0,0 }, { IDX_2C('e','h'), "VДstsahara",0,0,0 }, { IDX_2C('e','r'), "Eritrea",0,0,0 }, { IDX_2C('e','s'), "Spanien",0,0,0 }, { IDX_2C('e','t'), "Etiopien",0,0,0 }, { IDX_2C('e','u'), "European Union",0,0,0 }, { IDX_2C('f','i'), "Finland",0,0,0 }, { IDX_2C('f','j'), "Fiji",0,0,0 }, { IDX_2C('f','k'), "FalklandsЖarna",0,0,0 }, { IDX_2C('f','m'), "Mikronesien",0,0,0 }, { IDX_2C('f','o'), "FaraoЖarna",0,0,0 }, { IDX_2C('f','r'), "Frankrike",0,0,0 }, { IDX_2C('g','a'), "Gabon",0,0,0 }, { IDX_2C('g','b'), "England",0,0,0 }, { IDX_2C('g','d'), "Grenada",0,0,0 }, { IDX_2C('g','e'), "Georgien",0,0,0 }, { IDX_2C('g','f'), "Franska Guiana",0,0,0 }, { IDX_2C('g','g'), "Guernsey",0,0,0 }, { IDX_2C('g','h'), "Ghana",0,0,0 }, { IDX_2C('g','i'), "Gibraltar",0,0,0 }, { IDX_2C('g','l'), "GrЖnland",0,0,0 }, { IDX_2C('g','m'), "Gambia",0,0,0 }, { IDX_2C('g','n'), "Guinea",0,0,0 }, { IDX_2C('g','p'), "Guadeloupe",0,0,0 }, { IDX_2C('g','q'), "Ekvatorialguinea",0,0,0 }, { IDX_2C('g','r'), "Grekland",0,0,0 }, { IDX_2C('g','s'), "S. Georgia och S. SandwichЖarna",0,0,0 }, { IDX_2C('g','t'), "Guatemala",0,0,0 }, { IDX_2C('g','u'), "Guam",0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau",0,0,0 }, { IDX_2C('g','y'), "Guyana",0,0,0 }, { IDX_2C('h','k'), "Hong Kong",0,0,0 }, { IDX_2C('h','m'), "Heard- och McDonaldЖarna",0,0,0 }, { IDX_2C('h','n'), "Honduras",0,0,0 }, { IDX_2C('h','r'), "Kroatien",0,0,0 }, { IDX_2C('h','t'), "Haiti",0,0,0 }, { IDX_2C('h','u'), "Ungern" ,0,0,0 }, { IDX_2C('i','d'), "Indonesien",0,0,0 }, { IDX_2C('i','e'), "Irland",0,0,0 }, { IDX_2C('i','l'), "Israel",0,0,0 }, { IDX_2C('i','m'), "Isle of Man",0,0,0 }, { IDX_2C('i','n'), "Indien",0,0,0 }, { IDX_2C('i','o'), "Brittiska Indiska Osianien",0,0,0 }, { IDX_2C('i','q'), "Irak",0,0,0 }, { IDX_2C('i','r'), "Iran",0,0,0 }, { IDX_2C('i','s'), "Island",0,0,0 }, { IDX_2C('i','t'), "Italien",0,0,0 }, { IDX_2C('j','e'), "Jersey",0,0,0 }, { IDX_2C('j','m'), "Jamaica",0,0,0 }, { IDX_2C('j','o'), "Jordanien",0,0,0 }, { IDX_2C('j','p'), "Japan",0,0,0 }, { IDX_2C('k','e'), "Kenya",0,0,0 }, { IDX_2C('k','g'), "Kirgistan",0,0,0 }, { IDX_2C('k','h'), "Kambodja",0,0,0 }, { IDX_2C('k','i'), "Kiribati",0,0,0 }, { IDX_2C('k','m'), "Comoros",0,0,0 }, { IDX_2C('k','n'), "Saint Kitts och Nevis",0,0,0 }, { IDX_2C('k','p'), "Nord Korea",0,0,0 }, { IDX_2C('k','r'), "Syd Korea",0,0,0 }, { IDX_2C('k','w'), "Kuwait",0,0,0 }, { IDX_2C('k','y'), "CaymanЖarna",0,0,0 }, { IDX_2C('k','z'), "Kazachstan",0,0,0 }, { IDX_2C('l','a'), "Laos",0,0,0 }, { IDX_2C('l','b'), "Libanon",0,0,0 }, { IDX_2C('l','c'), "Saint Lucia",0,0,0 }, { IDX_2C('l','i'), "Liechtenstein",0,0,0 }, { IDX_2C('l','k'), "Sri Lanka",0,0,0 }, { IDX_2C('l','r'), "Liberia",0,0,0 }, { IDX_2C('l','s'), "Lesotho",0,0,0 }, { IDX_2C('l','t'), "Litauen",0,0,0 }, { IDX_2C('l','u'), "Luxembourg",0,0,0 }, { IDX_2C('l','v'), "Lettland",0,0,0 }, { IDX_2C('l','y'), "Libyen",0,0,0 }, { IDX_2C('m','a'), "Marocco",0,0,0 }, { IDX_2C('m','c'), "Monaco",0,0,0 }, { IDX_2C('m','d'), "Moldavien",0,0,0 }, { IDX_2C('m','e'), "Montenegro",0,0,0 }, { IDX_2C('m','f'), "Saint Martin (Franska delen)",0,0,0 }, { IDX_2C('m','g'), "Malagasy",0,0,0 }, { IDX_2C('m','h'), "MarshallЖarna",0,0,0 }, { IDX_2C('m','k'), "Makedonien",0,0,0 }, { IDX_2C('m','l'), "Mali",0,0,0 }, { IDX_2C('m','m'), "Myanmar",0,0,0 }, { IDX_2C('m','n'), "Mongoliet",0,0,0 }, { IDX_2C('m','o'), "Macau",0,0,0 }, { IDX_2C('m','p'), "Norra MarianaЖarna",0,0,0 }, { IDX_2C('m','q'), "Martinique",0,0,0 }, { IDX_2C('m','r'), "Mauritania",0,0,0 }, { IDX_2C('m','s'), "Montserrat",0,0,0 }, { IDX_2C('m','t'), "Malta",0,0,0 }, { IDX_2C('m','u'), "Mauritius",0,0,0 }, { IDX_2C('m','v'), "Maldiverna",0,0,0 }, { IDX_2C('m','w'), "Malawi",0,0,0 }, { IDX_2C('m','x'), "Mexico",0,0,0 }, { IDX_2C('m','y'), "Malaysia",0,0,0 }, { IDX_2C('m','z'), "Mozambique",0,0,0 }, { IDX_2C('n','a'), "Namibia",0,0,0 }, { IDX_2C('n','c'), "Nya Caledonien",0,0,0 }, { IDX_2C('n','e'), "Niger",0,0,0 }, { IDX_2C('n','f'), "Norfolk Island",0,0,0 }, { IDX_2C('n','g'), "Nigeria",0,0,0 }, { IDX_2C('n','i'), "Nicaragua",0,0,0 }, { IDX_2C('n','l'), "NederlДnderna",0,0,0 }, { IDX_2C('n','o'), "Norge",0,0,0 }, { IDX_2C('n','p'), "Nepal",0,0,0 }, { IDX_2C('n','r'), "Nauru",0,0,0 }, { IDX_2C('n','u'), "Niue",0,0,0 }, { IDX_2C('n','z'), "Nya Zeland",0,0,0 }, { IDX_2C('o','m'), "Oman",0,0,0 }, { IDX_2C('p','a'), "Panama",0,0,0 }, { IDX_2C('p','e'), "Peru",0,0,0 }, { IDX_2C('p','f'), "Franska Polynesien",0,0,0 }, { IDX_2C('p','g'), "Papua Nya Guinea",0,0,0 }, { IDX_2C('p','h'), "Filippinerna",0,0,0 }, { IDX_2C('p','k'), "Pakistan",0,0,0 }, { IDX_2C('p','l'), "Polen",0,0,0 }, { IDX_2C('p','m'), "St. Pierre och Miquelon",0,0,0 }, { IDX_2C('p','n'), "Pitcairn",0,0,0 }, { IDX_2C('p','r'), "Puerto Rico",0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied",0,0,0 }, { IDX_2C('p','t'), "Portugal",0,0,0 }, { IDX_2C('p','w'), "Palau",0,0,0 }, { IDX_2C('p','y'), "Paraguay",0,0,0 }, { IDX_2C('q','a'), "Qatar",0,0,0 }, { IDX_2C('r','e'), "Reunion",0,0,0 }, { IDX_2C('r','o'), "RumДnien",0,0,0 }, { IDX_2C('r','s'), "Serbien",0,0,0 }, { IDX_2C('r','u'), "Ryssland",0,0,0 }, { IDX_2C('r','w'), "Rwanda",0,0,0 }, { IDX_2C('s','a'), "Saudiarabien",0,0,0 }, { IDX_2C('s','b'), "SolomonЖarna",0,0,0 }, { IDX_2C('s','c'), "Seychellerna",0,0,0 }, { IDX_2C('s','d'), "Sudan",0,0,0 }, { IDX_2C('s','e'), "Sverige",0,0,0 }, { IDX_2C('s','g'), "Singapor",0,0,0 }, { IDX_2C('s','h'), "St. Helena",0,0,0 }, { IDX_2C('s','i'), "Slovenien",0,0,0 }, { IDX_2C('s','j'), "Svalbard och Jan Mayen-Жarna",0,0,0 }, { IDX_2C('s','k'), "Slovakien",0,0,0 }, { IDX_2C('s','l'), "Sierra Leone",0,0,0 }, { IDX_2C('s','m'), "San Marino",0,0,0 }, { IDX_2C('s','n'), "Senegal",0,0,0 }, { IDX_2C('s','o'), "Somalia",0,0,0 }, { IDX_2C('s','r'), "Surinam",0,0,0 }, { IDX_2C('s','t'), "Sao Tome och Principe",0,0,0 }, { IDX_2C('s','u'), "Sovjet",0,0,0 }, { IDX_2C('s','v'), "El Salvador",0,0,0 }, { IDX_2C('s','y'), "Syrien",0,0,0 }, { IDX_2C('s','z'), "Swaziland",0,0,0 }, { IDX_2C('t','c'), "Turks och CaicosЖarna",0,0,0 }, { IDX_2C('t','d'), "Chad",0,0,0 }, { IDX_2C('t','f'), "SЖdra Franska territorierna",0,0,0 }, { IDX_2C('t','g'), "Togo",0,0,0 }, { IDX_2C('t','h'), "Thailand",0,0,0 }, { IDX_2C('t','j'), "Tajikistan",0,0,0 }, { IDX_2C('t','k'), "Tokelau",0,0,0 }, { IDX_2C('t','l'), "Timor-Leste",0,0,0 }, { IDX_2C('t','m'), "Turkmenistan",0,0,0 }, { IDX_2C('t','n'), "Tunisien",0,0,0 }, { IDX_2C('t','o'), "Tonga",0,0,0 }, { IDX_2C('t','p'), "жsttimor",0,0,0 }, { IDX_2C('t','r'), "Turkiet",0,0,0 }, { IDX_2C('t','t'), "Trinidad och Tobago",0,0,0 }, { IDX_2C('t','v'), "Tuvalu",0,0,0 }, { IDX_2C('t','w'), "Taiwan",0,0,0 }, { IDX_2C('t','z'), "Tanzania",0,0,0 }, { IDX_2C('u','a'), "Ukraina",0,0,0 }, { IDX_2C('u','g'), "Uganda",0,0,0 }, { IDX_2C('u','k'), "Storbritanien",0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands",0,0,0 }, { IDX_2C('u','s'), "USA",0,0,0 }, { IDX_2C('u','y'), "Uruguay",0,0,0 }, { IDX_2C('u','z'), "Uzbekistan",0,0,0 }, { IDX_2C('v','a'), "Vatikanstaten",0,0,0 }, { IDX_2C('v','c'), "Saint Vincent och Grenadinerna",0,0,0 }, { IDX_2C('v','e'), "Venezuela",0,0,0 }, { IDX_2C('v','g'), "Jungfru-Жarna (Brittiska)",0,0,0 }, { IDX_2C('v','i'), "Jungfru-Жarna (Amerikanska)",0,0,0 }, { IDX_2C('v','n'), "Vietnam",0,0,0 }, { IDX_2C('v','u'), "Vanuatu",0,0,0 }, { IDX_2C('w','f'), "Wallis och FutunaЖarna",0,0,0 }, { IDX_2C('w','s'), "Samoa",0,0,0 }, { IDX_2C('y','e'), "Yemen",0,0,0 }, { IDX_2C('y','t'), "Mayotte",0,0,0 }, { IDX_2C('y','u'), "Jugoslavien",0,0,0 }, { IDX_2C('z','a'), "Sydafrika",0,0,0 }, { IDX_2C('z','m'), "Zambia",0,0,0 }, { IDX_2C('z','w'), "Zimbabwe",0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy",0,0,0 }, { IDX_2C('a','2'), "Satellite Provider",0,0,0 }, { IDX_2C('o','1'), "Other",0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region",0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)",0,0,0 }, { 0, NULL,0,0,0 } }; �������������webalizer-2.23-05/lang/webalizer_lang.thai����������������������������������������������������������0000644�0001750�0001750�00000106056�11032527214�017032� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.thai Webalizer V2.0x Language Support file for Thai. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 06-Jun-2002 Thai translation by Mr.Piriya Jannoppakarn (piriya@pantip.com) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Thai"; char *langcode = "th"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "цпЮ╨уб╧"; char *msg_addresses="Ам╢Ю╢цй"; char *msg_ignored = "б║ЮгИ╧"; char *msg_bad = "Юйуб"; char *msg_in = "Ц╧"; char *msg_seconds = "гт╧р╥у"; /* progress and setup error messages */ char *msg_log_err = "╒Им╪т╢╬ер╢: ДаХйрарц╤Ю╩т╢Д©еЛД╢И"; char *msg_log_use = "Ц╙ИД©еЛ"; char *msg_dir_err = "╒Им╪т╢╬ер╢: ДаХйрарц╤Ю╩еуХб╧Д╢Юц╓╥мцуД╢И"; char *msg_dir_use = "йцИр╖╪еея╬╦ЛЦ╧"; char *msg_cur_dir = "Д╢Юц╓╥мцу╩я╗╗ь╨я╧"; char *msg_hostname= "црб╖р╧йскця╨Бнй"; char *msg_ign_hist= "ДаХЦ╙Х╒Имаые║Хм╧к╧Ир..."; char *msg_no_hist = "ДаХ╬╨╒Имаые║Хм╧к╧Ир..."; char *msg_get_hist= "║сея╖мХр╧╒Имаые║Хм╧к╧Ир..."; char *msg_put_hist= "║сея╖╨я╧╥ж║╒Имаые║Хм╧к╧Ир..."; char *msg_hist_err= "╒Им╪т╢╬ер╢: ДаХйрарц╤╨я╧╥ж║╒Имаые║Хм╧к╧ИрД╢И"; char *msg_bad_hist= "╒Им╪т╢╬ер╢: б║ЮгИ╧╒Имаые║Хм╧к╧Ир╥уХЮ║Г╨ДаХ╤ы║╣Им╖"; char *msg_bad_conf= "╒Им╪т╢╬ер╢: Unable to open configuration file"; char *msg_bad_key = "╓сЮ╣вм╧: ╓убЛЮгтцЛ╢ДаХ╤ы║╣Им╖"; char *msg_bad_date= "╒Им╪т╢╬ер╢: ╒ИрацпЮ╨уб╧ (гя╧╥уХДаХ╤ы║╣Им╖)"; char *msg_ign_nscp= "╒ИрацпЮ╨уб╧╥уХЮ║Г╨╒ИмаыейХг╧кяг╒м╖ Netscape"; char *msg_bad_rec = "╒ИрацпЮ╨уб╧╥уХДаХ╤ы║╣Им╖"; char *msg_no_vrec = "ДаХ╬╨цпЮ╨уб╧╥уХ╤ы║╣Им╖!"; char *msg_gen_rpt = "║сея╖йцИр╖црб╖р╧йскця╨"; char *msg_gen_sum = "║сея╖йць╩црб╖р╧йскця╨"; char *msg_get_data= "║сея╖мХр╧╒Имаые╥уХЮцуб║Ц╙И║Хм╧к╧Ир.."; char *msg_put_data= "║сея╖╨я╧╥ж║╒Имаые╥уХЦ╙И╖р╧..."; char *msg_no_data = "ДаХ╬╨╒Имаые╥уХЮцуб║Ц╙И║Хм╧к╧Ир..."; char *msg_bad_data= "╒Им╪т╢╬ер╢: ДаХйрарц╤Юцуб║╓в╧╒Имаые╥уХЮцуб║Ц╙И║Хм╧к╧Ир"; char *msg_data_err= "╒Им╪т╢╬ер╢: ДаХйрарц╤╨я╧╥ж║╒Имаые╥уХЮцуб║Ц╙ИмбыХД╢И"; char *msg_dup_data= "╓сЮ╣вм╧: Ю║т╢╒Имаые╚Ис╚Им╧"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top Sites Д╢И!"; char *msg_nomem_tr= "к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top Referrers Д╢И!"; char *msg_nomem_tu= "к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top URLs Д╢И!"; char *msg_nomem_tc= "к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top Countries Д╢И!"; char *msg_nomem_ta= "к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top User Agents Д╢И!"; char *msg_nomem_tsr="к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top Search Strings Д╢И!"; char *msg_nomem_ti= "к╧Хгб╓гра╗сДаХЮ╬уб╖╬м, ДаХйрарц╤йцИр╖ Top Usernames Д╢И!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "црб╖р╧╙Хг╖"; char *msg_hhdr_gt = "йцИр╖ЮавХм"; /* main index strings */ char *msg_main_us = "Usage summary for"; /* char *msg_main_per= "12 Ю╢вм╧╥уХ╪Хр╧ар"; */ char *msg_main_per= "йць╩црбЮ╢вм╧"; char *msg_main_sum= "йць╩црбЮ╢вм╧"; char *msg_main_da = "Ю╘еуХб╣Хмгя╧"; char *msg_main_mt = "цга╥яИ╖Ю╢вм╧"; /* month HTML page strings */ char *msg_hmth_du = "Daily usage for"; char *msg_hmth_hu = "Hourly usage for"; /* table header strings */ char *msg_h_by = "Юцуб╖╣ра"; char *msg_h_avg = "Ю╘еуХб"; char *msg_h_max = "йы╖йь╢"; char *msg_h_total = "цга"; char *msg_h_totals= "цга╥яИ╖ка╢"; char *msg_h_day = "гя╧"; char *msg_h_mth = "Ю╢вм╧"; char *msg_h_hour = "╙яХгБа╖"; char *msg_h_hits = "Hits"; char *msg_h_pages = "Pages"; char *msg_h_visits= "Visits"; char *msg_h_files = "Files"; char *msg_h_sites = "Sites"; char *msg_h_xfer = "KBytes"; char *msg_h_hname = "Hostname"; char *msg_h_url = "URL"; char *msg_h_agent = "User Agent"; char *msg_h_ref = "Referrer"; char *msg_h_ctry = "╩цпЮ╥х"; char *msg_h_search= "Search String"; char *msg_h_uname = "Username"; /* links along top of page */ char *msg_hlnk_ds = "й╤т╣тцрбгя╧"; char *msg_hlnk_hs = "й╤т╣тцрб╙яХгБа╖"; char *msg_hlnk_u = "URL"; char *msg_hlnk_s = "Site"; char *msg_hlnk_a = "Agent"; char *msg_hlnk_c = "╩цпЮ╥х"; char *msg_hlnk_r = "Referrer"; char *msg_hlnk_en = "Entry"; char *msg_hlnk_ex = "Exit"; char *msg_hlnk_sr = "╓И╧кр"; char *msg_hlnk_i = "╪ыИЦ╙И"; /* monthly total table */ char *msg_mtot_ms = "й╤т╣тцрбЮ╢вм╧йскця╨"; char *msg_mtot_th = "hit ╥яИ╖ка╢"; char *msg_mtot_tf = "Д©еЛ╥яИ╖ка╢"; char *msg_mtot_tx = "║тБеД╨╣Л╥яИ╖ка╢"; char *msg_mtot_us = "unique site ╥яИ╖ка╢"; char *msg_mtot_ur = "unique referrer ╥яИ╖ка╢"; char *msg_mtot_ua = "unique user agent ╥яИ╖ка╢"; char *msg_mtot_uu = "unique URL ╥яИ╖ка╢"; char *msg_mtot_ui = "╪ыИЦ╙И╥яИ╖ка╢"; char *msg_mtot_mhd= "hit ╣Хмгя╧"; char *msg_mtot_mhh= "hit ╣Хм╙яХгБа╖"; char *msg_mtot_mfd= "Д©еЛ╣Хмгя╧"; char *msg_mtot_mpd= "page ╣Хмгя╧"; char *msg_mtot_msd= "site ╣Хмгя╧"; char *msg_mtot_mvd= "visit ╣Хмгя╧"; char *msg_mtot_mkd= "║тБ╨Д╨╣Л╣Хмгя╧"; char *msg_mtot_rc = "hit ╣Хм response Code"; /* daily total table */ char *msg_dtot_ds = "й╤т╣тцрбгя╧йскця╨"; /* hourly total table */ char *msg_htot_hs = "й╤т╣тцрб╙яХгБа╖йскця╨"; /* country pie chart */ char *msg_ctry_use= "Usage by Country for"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = ""; char *msg_top_of = "мя╧╢я╨Ац║╗р║"; char *msg_top_s = "Site ╥яИ╖ка╢"; char *msg_top_u = "URL ╥яИ╖ка╢"; char *msg_top_r = "Referrer ╥яИ╖ка╢"; char *msg_top_a = "User Agent ╥яИ╖ка╢"; char *msg_top_c = "╩цпЮ╥х╥яИ╖ка╢"; char *msg_top_en = "Entry Page ╥яИ╖ка╢"; char *msg_top_ex = "Exit Page ╥яИ╖ка╢"; char *msg_top_sr = "Search String ╥яИ╖ка╢"; char *msg_top_i = "╪ыИЦ╙И╥яИ╖ка╢"; char *msg_v_sites = "Ай╢╖Д╚╣Л (site) ╥яИ╖ка╢"; char *msg_v_urls = "Ай╢╖ URL ╥яИ╖ка╢"; char *msg_v_refs = "Ай╢╖ Referrer ╥яИ╖ка╢"; char *msg_v_agents= "Ай╢╖ User Agent ╥яИ╖ка╢"; char *msg_v_search= "Ай╢╖ Search Strings ╥яИ╖ка╢"; char *msg_v_users = "Ай╢╖╪ыИЦ╙И╥яИ╖ка╢"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; /* long month names - can be any length */ char *l_month[12]={ "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November","December"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Undefined response code", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "й╤т╣т║рцЦ╙И╖р╧йскця╨"; char *msg_h_other = "мвХ╧ Ф"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Unresolved/Unknown", 0,0,0 }, { IDX_3C('c','o','m'), "Commercial (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Educational (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Government (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "International (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Military (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Network (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Non-Profit (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato field (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andorra", 0,0,0 }, { IDX_2C('a','e'), "United Arab Emirates", 0,0,0 }, { IDX_2C('a','f'), "Afghanistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua and Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albania", 0,0,0 }, { IDX_2C('a','m'), "Armenia", 0,0,0 }, { IDX_2C('a','n'), "Netherlands Antilles", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antarctica", 0,0,0 }, { IDX_2C('a','r'), "Argentina", 0,0,0 }, { IDX_2C('a','s'), "American Samoa", 0,0,0 }, { IDX_2C('a','t'), "Austria", 0,0,0 }, { IDX_2C('a','u'), "Australia", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbaijan", 0,0,0 }, { IDX_2C('b','a'), "Bosnia and Herzegovina", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Bangladesh", 0,0,0 }, { IDX_2C('b','e'), "Belgium", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaria", 0,0,0 }, { IDX_2C('b','h'), "Bahrain", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivia", 0,0,0 }, { IDX_2C('b','r'), "Brazil", 0,0,0 }, { IDX_2C('b','s'), "Bahamas", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Island", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarus", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Canada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Islands", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Central African Republic", 0,0,0 }, { IDX_2C('c','g'), "Congo", 0,0,0 }, { IDX_2C('c','h'), "Switzerland", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Coast)", 0,0,0 }, { IDX_2C('c','k'), "Cook Islands", 0,0,0 }, { IDX_2C('c','l'), "Chile", 0,0,0 }, { IDX_2C('c','m'), "Cameroon", 0,0,0 }, { IDX_2C('c','n'), "China", 0,0,0 }, { IDX_2C('c','o'), "Colombia", 0,0,0 }, { IDX_2C('c','r'), "Costa Rica", 0,0,0 }, { IDX_2C('c','u'), "Cuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Island", 0,0,0 }, { IDX_2C('c','y'), "Cyprus", 0,0,0 }, { IDX_2C('c','z'), "Czech Republic", 0,0,0 }, { IDX_2C('d','e'), "Germany", 0,0,0 }, { IDX_2C('d','j'), "Djibouti", 0,0,0 }, { IDX_2C('d','k'), "Denmark", 0,0,0 }, { IDX_2C('d','m'), "Dominica", 0,0,0 }, { IDX_2C('d','o'), "Dominican Republic", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ecuador", 0,0,0 }, { IDX_2C('e','e'), "Estonia", 0,0,0 }, { IDX_2C('e','g'), "Egypt", 0,0,0 }, { IDX_2C('e','h'), "Western Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Spain", 0,0,0 }, { IDX_2C('e','t'), "Ethiopia", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finland", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Falkland Islands (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Islands", 0,0,0 }, { IDX_2C('f','r'), "France", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Great Britain (UK)", 0,0,0 }, { IDX_2C('g','d'), "Grenada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "French Guiana", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Guinea", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Equatorial Guinea", 0,0,0 }, { IDX_2C('g','r'), "Greece", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Isls.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Islands", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Croatia", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Hungary", 0,0,0 }, { IDX_2C('i','d'), "Indonesia", 0,0,0 }, { IDX_2C('i','e'), "Ireland", 0,0,0 }, { IDX_2C('i','l'), "Israel", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "India", 0,0,0 }, { IDX_2C('i','o'), "British Indian Ocean Territory", 0,0,0 }, { IDX_2C('i','q'), "Iraq", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Iceland", 0,0,0 }, { IDX_2C('i','t'), "Italy", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaica", 0,0,0 }, { IDX_2C('j','o'), "Jordan", 0,0,0 }, { IDX_2C('j','p'), "Japan", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kyrgyzstan", 0,0,0 }, { IDX_2C('k','h'), "Cambodia", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Korea, Democratic Republic of", 0,0,0 }, { IDX_2C('k','r'), "Korea, Republic of", 0,0,0 }, { IDX_2C('k','w'), "Kuwait", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhstan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lebanon", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberia", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Lithuania", 0,0,0 }, { IDX_2C('l','u'), "Luxembourg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Morocco", 0,0,0 }, { IDX_2C('m','c'), "Monaco", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Islands", 0,0,0 }, { IDX_2C('m','k'), "Macedonia", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolia", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Northern Mariana Islands", 0,0,0 }, { IDX_2C('m','q'), "Martinique", 0,0,0 }, { IDX_2C('m','r'), "Mauritania", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldives", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Mexico", 0,0,0 }, { IDX_2C('m','y'), "Malaysia", 0,0,0 }, { IDX_2C('m','z'), "Mozambique", 0,0,0 }, { IDX_2C('n','a'), "Namibia", 0,0,0 }, { IDX_2C('n','c'), "New Caledonia", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Island", 0,0,0 }, { IDX_2C('n','g'), "Nigeria", 0,0,0 }, { IDX_2C('n','i'), "Nicaragua", 0,0,0 }, { IDX_2C('n','l'), "Netherlands", 0,0,0 }, { IDX_2C('n','o'), "Norway", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "New Zealand", 0,0,0 }, { IDX_2C('o','m'), "Oman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "French Polynesia", 0,0,0 }, { IDX_2C('p','g'), "Papua New Guinea", 0,0,0 }, { IDX_2C('p','h'), "Philippines", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Poland", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Puerto Rico", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portugal", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Qatar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romania", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Russian Federation", 0,0,0 }, { IDX_2C('r','w'), "Rwanda", 0,0,0 }, { IDX_2C('s','a'), "Saudi Arabia", 0,0,0 }, { IDX_2C('s','b'), "Solomon Islands", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Sweden", 0,0,0 }, { IDX_2C('s','g'), "Singapore", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenia", 0,0,0 }, { IDX_2C('s','j'), "Svalbard and Jan Mayen Islands", 0,0,0 }, { IDX_2C('s','k'), "Slovakia", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somalia", 0,0,0 }, { IDX_2C('s','r'), "Suriname", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "Soviet Union", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Syrian Arab Republic", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks and Caicos Islands", 0,0,0 }, { IDX_2C('t','d'), "Chad", 0,0,0 }, { IDX_2C('t','f'), "French Southern Territories", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Thailand", 0,0,0 }, { IDX_2C('t','j'), "Tajikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunisia", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Portuguese Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkey", 0,0,0 }, { IDX_2C('t','t'), "Trinidad and Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Taiwan", 0,0,0 }, { IDX_2C('t','z'), "Tanzania", 0,0,0 }, { IDX_2C('u','a'), "Ukraine", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "United Kingdom", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Islands", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican City State (Holy See)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent and the Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Islands (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Islands (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Viet Nam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis and Futuna Islands", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavia", 0,0,0 }, { IDX_2C('z','a'), "South Africa", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabwe", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.turkish�������������������������������������������������������0000644�0001750�0001750�00000107705�11032527215�017601� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.turkish Webalizer V2.0x Language Support file for Turkish. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 20-Aug-2000 Turkish Translation by Evren Yurtesen (yurtesen@ispro.net.tr) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Turkish"; char *langcode = "tr"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "kayit"; char *msg_addresses="addres"; char *msg_ignored = "islenmedi"; char *msg_bad = "kotu"; char *msg_in = ""; char *msg_seconds = "saniyede"; /* progress and setup error messages */ char *msg_log_err = "Hata: Kutuk dosyasi acilamadi"; char *msg_log_use = "Kullanilan kutukdosyasi"; char *msg_dir_err = "Hata: Degistirilemeyen dizin"; char *msg_dir_use = "Ciktinin yaratildigi yer"; char *msg_cur_dir = "su anki dizin"; char *msg_hostname= "Raporlar icin makine adi"; char *msg_ign_hist= "Bir onceki history dosyasi islenmiyor..."; char *msg_no_hist = "History dosyasi bulunamadi..."; char *msg_get_hist= "History dosyasi okunuyor..."; char *msg_put_hist= "History bilgileri kaydediliyor..."; char *msg_hist_err= "Hata: History dosyasi yazilamiyor"; char *msg_bad_hist= "Hata: Gecersiz history kaydi islenmiyor"; char *msg_bad_conf= "Hata: Konfigurasyon dosyasi acilamiyor"; char *msg_bad_key = "Dikkat: Gecersiz anahtar kelime"; char *msg_bad_date= "Hata: Kayit islenmeden geciliyor (kotu tarih)"; char *msg_ign_nscp= "Netscape baslik kaydi islenmeden geciliyor"; char *msg_bad_rec = "Kotu kayit islenmeden geciliyor"; char *msg_no_vrec = "Hicbir gecerli kayit bulunamadi!"; char *msg_gen_rpt = "Raporu yaratilan site"; char *msg_gen_sum = "Ozet raporu yaratiliyor"; char *msg_get_data= "Bir onceki calismanin bilgileri okunuyor..."; char *msg_put_data= "Su anki calisma bilgileri kaydediliyor..."; char *msg_no_data = "Bir onceki calismanin bilgileri bulunamadi..."; char *msg_bad_data= "Hata: Calisma bilgileri tekrar kullanilamiyor"; char *msg_data_err= "Hata: Su anki calisma bilgileri kaydedilemiyor"; char *msg_dup_data= "Dikkat: Buyuk ihtimalle cift islenmis bilgi bulundu"; /* DNS Stuff */ char *msg_dns_nocf= "Onbellek dosyasi belirtilmedi, islem iptal ediliyor..."; char *msg_dns_nodb= "Hata: DNS onbellekleme dosyasi acilamadi"; char *msg_dns_nolk= "Hata: DNS onbellekleme dosyasi kilitlenemedi"; char *msg_dns_usec= "Kullanilan DNS onbellekleme dosyasi"; char *msg_dns_rslv= "DNS bakimi"; char *msg_dns_none= "Islem yapilmasi gereken kayit yok"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Yeterli hafiza yok, Top Istemciler kapatildi!"; char *msg_nomem_tr= "Yeterli hafiza yok, Top Referanslar kapatildi!"; char *msg_nomem_tu= "Yeterli hafiza yok, Top URL'ler kapatildi!"; char *msg_nomem_tc= "Yeterli hafiza yok, Top Ulkeler kapatildi!"; char *msg_nomem_ta= "Yeterli hafiza yok, Top Kullanici Ajanlari kapatildi!"; char *msg_nomem_tsr="Yeterli hafiza yok, Top Arama Girdileri kapatildi!"; char *msg_nomem_ti= "Yeterli hafiza yok, Top Kullanici Adlari kapatildi!"; char *msg_nomem_dh= "Hata makine nodu ekleniyor (gunluk), islenmeden geciliyor"; char *msg_nomem_mh= "Hata makine nodu ekleniyor (aylik), islenmeden geciliyor"; char *msg_nomem_u = "Hata URL nodu ekleniyor, islenmeden geciliyor"; char *msg_nomem_a = "Hata Kullanici Ajani ekleniyor, islenmeden geciliyor"; char *msg_nomem_r = "Hata Referans nodu ekleniyor, islenmeden geciliyor"; char *msg_nomem_sc= "Hata Arama Girdileri nodu ekleniyor, islenmeden geciliyor"; char *msg_nomem_i = "Hata Kullanici Adi nodu ekleniyor, islenmeden geciliyor"; /* log record errors */ char *msg_big_rec = "Hata: Normalden buyuk kutuk kaydi islenmeden geciliyor"; char *msg_big_host= "Dikkat: Normalden buyuk makine ismi kucultuluyor"; char *msg_big_date= "Dikkat: Normalden buyuk tarih bolumu kucultuluyor"; char *msg_big_req = "Dikkat: Normalden buyuk istek bolumu kucultuluyor"; char *msg_big_ref = "Dikkat: Normalden buyuk referans bolumu kucultuluyor"; char *msg_big_user= "Dikkat: Normalden buyuk kullanici adi bolumu kucultuluyor"; char *msg_big_one = "Dikkat: Girdi saklama boyutunu asiyor"; /* misc errors */ char *msg_no_open = "Hata: Dosya acilamadi"; /* Help display... */ char *h_usage1 = "Kullanim"; char *h_usage2 = "[opsiyonlar] [kutuk dosyasi]"; char *h_msg[]= { "-h = bu yardim mesajini yazdir" , "-V = surum bilgilerini yazdir" , "-v = be verbose" , "-d = ek debug bilgileri yazir" , "-F tip = kutuk tipi. 'tip'= (clf | ftp | squid | w3c)" , "-f = Siralama hatalarini duzelt" , "-i = history dosyasina bakma" , "-p = durumu koru (eklemeli)" , "-b = ignore state (incremental)" , "-q = bilgi mesajlarini iptal et" , "-Q = _BUTUN_ mesajlari iptal et" , "-Y = ulke grafigini iptal et" , "-G = saate gore grafigini iptal et" , "-H = saate gore istatistikleri iptal et" , "-L = renk kodlu grafik aciklamalarini iptal et" , "-l sayi = grafiklerde 'sayi' kadar cizgi kullan" , "-m sayi = ziyaret bitim zamani 'sayi'= (seconds)" , "-T = islem suresi bilgisini yazdir" , "-c dosya = belirtilen konfigurasyon dosyasini kullan 'dosya'" , "-n ad = kullanilacak makine adi 'ad'" , "-o dizin = kullanilacak cikti dizini 'dizin'" , "-t ad = rapor basligi 'ad'" , "-a ad = kullanici ajanini sakla 'ad'" , "-r ad = referansi sakla 'ad'" , "-s ad = siteyi sakla 'ad'" , "-u ad = URL'yi sakla 'ad'" , "-x ad = Dosya uzantisini kullan 'ad'" , "-O ad = Omit page 'ad'" , "-P ad = Sayfa uzantisi 'ad'" , "-I ad = Indeks ismi 'ad'" , "-K sayi = sayi months in summary table" , "-k sayi = sayi months in summary graph" , "-A sayi = sayi kadar top ajan goster" , "-C sayi = sayi kadar top ulke goster" , "-R sayi = sayi kadar top referans goster" , "-S sayi = sayi kadar top istemci goster" , "-U sayi = sayi kadar top URL goster" , "-e sayi = sayi kadar top giris sayfasi goster" , "-E sayi = sayi kadar top cikis sayfasi goster" , "-g sayi = alan adlarini 'sayi' kadar seviyede grupla" , "-X = tek siteleri gizle" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D ad = 'ad' isimli DNS onbellek dosyasini kullan" , "-N sayi = DNS islemcilerinin sayisi (0=iptal)" , "-j = Enable native GeoDB lookups" , "-J ad = Use GeoDB database 'ad'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W ad = Use GeoIP database 'ad'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Ozet Periyodu"; char *msg_hhdr_gt = "Yaratilma Tarihi"; /* main index strings */ char *msg_main_us = "Kullanim Ozeti"; /* char *msg_main_per= "Son 12 Ay"; */ char *msg_main_per= "Ay'a Gore Ozet"; char *msg_main_sum= "Ay'a Gore Ozet"; char *msg_main_da = "Gunluk Averaj"; char *msg_main_mt = "Aylik Toplamlar"; /* month HTML page strings */ char *msg_hmth_du = "Gunluk Kullanim:"; char *msg_hmth_hu = "Saatlik Kullanim:"; /* table header strings */ char *msg_h_by = ""; char *msg_h_avg = "Averaj"; char *msg_h_max = "Maksimum"; char *msg_h_total = "Toplam"; char *msg_h_totals= "Toplamlar"; char *msg_h_day = "Gun"; char *msg_h_mth = "Ay"; char *msg_h_hour = "Saat"; char *msg_h_hits = "HIT'ler"; char *msg_h_pages = "Sayfa"; char *msg_h_visits= "Ziyaret"; char *msg_h_files = "Dosya"; char *msg_h_sites = "Istemci"; char *msg_h_xfer = "KBayt'a Gore"; char *msg_h_hname = "Makine Adi"; char *msg_h_url = "URL"; char *msg_h_agent = "Kullanici Ajani"; char *msg_h_ref = "Referans"; char *msg_h_ctry = "Ulke"; char *msg_h_search= "Arama Girdisi"; char *msg_h_uname = "Kullanici"; /* links along top of page */ char *msg_hlnk_ds = "Gunluk Istatistikler"; char *msg_hlnk_hs = "Saatlik Istatistikler"; char *msg_hlnk_u = "URL'ler"; char *msg_hlnk_s = "Istemciler"; char *msg_hlnk_a = "Ajanlar"; char *msg_hlnk_c = "Ulkeler"; char *msg_hlnk_r = "Referanslar"; char *msg_hlnk_en = "Giris"; char *msg_hlnk_ex = "Cikis"; char *msg_hlnk_sr = "Arama"; char *msg_hlnk_i = "Kullanicilar"; /* monthly total table */ char *msg_mtot_ms = "Aylik Istatistikler:"; char *msg_mtot_th = "Toplam HIT'ler"; char *msg_mtot_tf = "Toplam Dosyalar"; char *msg_mtot_tx = "Toplam KBaytlar"; char *msg_mtot_us = "Toplam Ayni Istemciler"; char *msg_mtot_ur = "Toplam Ayni Referanslar"; char *msg_mtot_ua = "Toplam Ayni Kullanici Ajanlari"; char *msg_mtot_uu = "Toplam Ayni URL'ler"; char *msg_mtot_ui = "Toplam Ayni Kullanici Adlari"; char *msg_mtot_mhd= "Gunluk HIT"; char *msg_mtot_mhh= "Saatlik HIT"; char *msg_mtot_mfd= "Gunluk Dosyalar"; char *msg_mtot_mpd= "Gunluk Sayfalar"; char *msg_mtot_msd= "Gunluk Istemciler"; char *msg_mtot_mvd= "Gunluk Ziyaretler"; char *msg_mtot_mkd= "Gunluk KBaytlar"; char *msg_mtot_rc = "Cevap Koduna Gore HIT"; /* daily total table */ char *msg_dtot_ds = "Gunluk Istatistikler:"; /* hourly total table */ char *msg_htot_hs = "Saatlik Istatistikler:"; /* country pie chart */ char *msg_ctry_use= "Ulkeye Gore Kullanim:"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Top"; char *msg_top_of = "/"; char *msg_top_s = "Toplam Istemciler"; char *msg_top_u = "Toplam URL'ler"; char *msg_top_r = "Toplam Referanslar"; char *msg_top_a = "Toplam Kullanici Ajanlari"; char *msg_top_c = "Toplam Ulkeler"; char *msg_top_en = "Toplam Giris Sayfalari"; char *msg_top_ex = "Toplam Cikis Sayfalari"; char *msg_top_sr = "Toplam Arama Girdileri"; char *msg_top_i = "Toplam Kullanici Adlari"; char *msg_v_sites = "Butun Istemcileri Goster"; char *msg_v_urls = "Butun URL'leri Goster"; char *msg_v_refs = "Butun Referanslar Goster"; char *msg_v_agents= "Butun Kullanici Ajanlarini Goster"; char *msg_v_search= "Butun Arama Girdilerini Goster"; char *msg_v_users = "Butun Kullanici Adlarini Goster"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "Oca", "Sub", "Mar", "Nis", "May", "Haz", "Tem", "Agu", "Eyl", "Eki", "Kas", "Ara"}; /* long month names - can be any length */ char *l_month[12]={ "Ocak", "Subat", "Mart", "Nisan", "Mayis", "Haziran", "Temmuz", "Agustos", "Eylul", "Ekim", "Kasim", "Aralik"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Tanimlanmamis cevap kodu", 0 }, { "Kod 100 - Devam", 0 }, { "Kod 101 - Protokol Degistirme", 0 }, { "Kod 200 - TAMAM", 0 }, { "Kod 201 - Yaratildi", 0 }, { "Kod 202 - Kabul Edildi", 0 }, { "Kod 203 - Otantikasyonu Olmayan Bilgi", 0 }, { "Kod 204 - Icerik Yok", 0 }, { "Kod 205 - Icerigi Sifirla", 0 }, { "Kod 206 - Bolumsel Icerik", 0 }, { "Kod 300 - Bircok Secim", 0 }, { "Kod 301 - Tamamen Tasindi", 0 }, { "Kod 302 - Bulundu", 0 }, { "Kod 303 - Digerine Bakiniz", 0 }, { "Kod 304 - Degismedi", 0 }, { "Kod 305 - Proxy Kullaniniz", 0 }, { "Kod 307 - Gecici Olarak Tasindi", 0 }, { "Kod 400 - Kotu Istek", 0 }, { "Kod 401 - Yetkisiz", 0 }, { "Kod 402 - Odeme Gerekli", 0 }, { "Kod 403 - Yasak", 0 }, { "Kod 404 - Bulunamadi", 0 }, { "Kod 405 - Metoda Izin Verilmedi", 0 }, { "Kod 406 - Kabul Edilemez", 0 }, { "Kod 407 - Proxy Otantikasyonu Gerekli", 0 }, { "Kod 408 - Istek Zaman Asimi", 0 }, { "Kod 409 - Cakisma", 0 }, { "Kod 410 - Gitti", 0 }, { "Kod 411 - Uzunluk Gerekli", 0 }, { "Kod 412 - On Kosul Basarisiz", 0 }, { "Kod 413 - Istek Varligi Cok Buyuk", 0 }, { "Kod 414 - Istek-URI'si Cok Uzun", 0 }, { "Kod 415 - Desteklenmeyen Orta Tipi", 0 }, { "Kod 416 - Istenen Uzaklik Karsilanamaz", 0 }, { "Kod 417 - Beklenti Basarisiz", 0 }, { "Kod 500 - Ic Sunucu Hatasi", 0 }, { "Kod 501 - Tamamlanmadi", 0 }, { "Kod 502 - Kotu Gecit", 0 }, { "Kod 503 - Servis Kapali", 0 }, { "Kod 504 - Gecit Zaman Asimi", 0 }, { "Kod 505 - HTTP Surumu Desteklenmiyor", 0 } }; char *msg_title = "Kullanim Istatistikleri:"; char *msg_h_other = "Diger"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Cozumlenemeyen/Bilinemeyen", 0,0,0 }, { IDX_3C('c','o','m'), "Ticari (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Egitimsel (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "US Devlet (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "Uluslarasi (int)", 0,0,0 }, { IDX_3C('m','i','l'), "US Askeri (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Ag (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Organizasyon (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Eski stil Arpanet (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Nato alani (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Andora", 0,0,0 }, { IDX_2C('a','e'), "Birlesmis Arab Emirlikleri", 0,0,0 }, { IDX_2C('a','f'), "Afganistan", 0,0,0 }, { IDX_2C('a','g'), "Antigua ve Barbuda", 0,0,0 }, { IDX_2C('a','i'), "Anguilla", 0,0,0 }, { IDX_2C('a','l'), "Albanya", 0,0,0 }, { IDX_2C('a','m'), "Ermenistan", 0,0,0 }, { IDX_2C('a','n'), "Hollanda Antil Adalari", 0,0,0 }, { IDX_2C('a','o'), "Angola", 0,0,0 }, { IDX_2C('a','q'), "Antartik", 0,0,0 }, { IDX_2C('a','r'), "Arjantin", 0,0,0 }, { IDX_2C('a','s'), "Amerikan Samoa Adalari", 0,0,0 }, { IDX_2C('a','t'), "Avusturya", 0,0,0 }, { IDX_2C('a','u'), "Avusturalya", 0,0,0 }, { IDX_2C('a','w'), "Aruba", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Azerbeycan", 0,0,0 }, { IDX_2C('b','a'), "Bosna ve Herzegova", 0,0,0 }, { IDX_2C('b','b'), "Barbados", 0,0,0 }, { IDX_2C('b','d'), "Banglades", 0,0,0 }, { IDX_2C('b','e'), "Belcika", 0,0,0 }, { IDX_2C('b','f'), "Burkina Faso", 0,0,0 }, { IDX_2C('b','g'), "Bulgaristan", 0,0,0 }, { IDX_2C('b','h'), "Bahreyn", 0,0,0 }, { IDX_2C('b','i'), "Burundi", 0,0,0 }, { IDX_2C('b','j'), "Benin", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Bermuda", 0,0,0 }, { IDX_2C('b','n'), "Brunei Darussalam", 0,0,0 }, { IDX_2C('b','o'), "Bolivya", 0,0,0 }, { IDX_2C('b','r'), "Brezilya", 0,0,0 }, { IDX_2C('b','s'), "Bahamalar", 0,0,0 }, { IDX_2C('b','t'), "Bhutan", 0,0,0 }, { IDX_2C('b','v'), "Bouvet Adasi", 0,0,0 }, { IDX_2C('b','w'), "Botswana", 0,0,0 }, { IDX_2C('b','y'), "Belarusya", 0,0,0 }, { IDX_2C('b','z'), "Belize", 0,0,0 }, { IDX_2C('c','a'), "Kanada", 0,0,0 }, { IDX_2C('c','c'), "Cocos (Keeling) Adalari", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Orta Afrika Cumhuriyeti", 0,0,0 }, { IDX_2C('c','g'), "Kongo", 0,0,0 }, { IDX_2C('c','h'), "Isvicre", 0,0,0 }, { IDX_2C('c','i'), "Cote D'Ivoire (Ivory Sahili)", 0,0,0 }, { IDX_2C('c','k'), "Cook Adalari", 0,0,0 }, { IDX_2C('c','l'), "Sile", 0,0,0 }, { IDX_2C('c','m'), "Kamerun", 0,0,0 }, { IDX_2C('c','n'), "Cin", 0,0,0 }, { IDX_2C('c','o'), "Kolombiya", 0,0,0 }, { IDX_2C('c','r'), "Kosta Rica", 0,0,0 }, { IDX_2C('c','u'), "Kuba", 0,0,0 }, { IDX_2C('c','v'), "Cape Verde", 0,0,0 }, { IDX_2C('c','x'), "Christmas Adalari", 0,0,0 }, { IDX_2C('c','y'), "Kibris", 0,0,0 }, { IDX_2C('c','z'), "Cek Cumhuriyeti", 0,0,0 }, { IDX_2C('d','e'), "Almanya", 0,0,0 }, { IDX_2C('d','j'), "Djibuti", 0,0,0 }, { IDX_2C('d','k'), "Danimarka", 0,0,0 }, { IDX_2C('d','m'), "Dominika", 0,0,0 }, { IDX_2C('d','o'), "Dominik Cumhuriyeti", 0,0,0 }, { IDX_2C('d','z'), "Algeria", 0,0,0 }, { IDX_2C('e','c'), "Ekvator", 0,0,0 }, { IDX_2C('e','e'), "Estonya", 0,0,0 }, { IDX_2C('e','g'), "Misir", 0,0,0 }, { IDX_2C('e','h'), "Bati Sahara", 0,0,0 }, { IDX_2C('e','r'), "Eritrea", 0,0,0 }, { IDX_2C('e','s'), "Ispanya", 0,0,0 }, { IDX_2C('e','t'), "Etiyopya", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "Finlandiya", 0,0,0 }, { IDX_2C('f','j'), "Fiji", 0,0,0 }, { IDX_2C('f','k'), "Folkland Adalari (Malvinas)", 0,0,0 }, { IDX_2C('f','m'), "Micronesia", 0,0,0 }, { IDX_2C('f','o'), "Faroe Adalari", 0,0,0 }, { IDX_2C('f','r'), "Fransa", 0,0,0 }, { IDX_2C('g','a'), "Gabon", 0,0,0 }, { IDX_2C('g','b'), "Buyuk Biritanya (UK)", 0,0,0 }, { IDX_2C('g','d'), "Granada", 0,0,0 }, { IDX_2C('g','e'), "Georgia", 0,0,0 }, { IDX_2C('g','f'), "Fransiz Guyanasi", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Ghana", 0,0,0 }, { IDX_2C('g','i'), "Gibraltar", 0,0,0 }, { IDX_2C('g','l'), "Greenland", 0,0,0 }, { IDX_2C('g','m'), "Gambia", 0,0,0 }, { IDX_2C('g','n'), "Gine", 0,0,0 }, { IDX_2C('g','p'), "Guadeloupe", 0,0,0 }, { IDX_2C('g','q'), "Ekvator Ginesi", 0,0,0 }, { IDX_2C('g','r'), "Yunanistan", 0,0,0 }, { IDX_2C('g','s'), "S. Georgia and S. Sandwich Adalari.", 0,0,0 }, { IDX_2C('g','t'), "Guatemala", 0,0,0 }, { IDX_2C('g','u'), "Guam", 0,0,0 }, { IDX_2C('g','w'), "Guinea-Bissau", 0,0,0 }, { IDX_2C('g','y'), "Guyana", 0,0,0 }, { IDX_2C('h','k'), "Hong Kong", 0,0,0 }, { IDX_2C('h','m'), "Heard and McDonald Adalari", 0,0,0 }, { IDX_2C('h','n'), "Honduras", 0,0,0 }, { IDX_2C('h','r'), "Hirvatistan", 0,0,0 }, { IDX_2C('h','t'), "Haiti", 0,0,0 }, { IDX_2C('h','u'), "Macaristan", 0,0,0 }, { IDX_2C('i','d'), "Endonezya", 0,0,0 }, { IDX_2C('i','e'), "Irlanda", 0,0,0 }, { IDX_2C('i','l'), "Israil", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "Hindistan", 0,0,0 }, { IDX_2C('i','o'), "Ingiliz-Hint Okyanis Bolgesi", 0,0,0 }, { IDX_2C('i','q'), "Irak", 0,0,0 }, { IDX_2C('i','r'), "Iran", 0,0,0 }, { IDX_2C('i','s'), "Izlanda", 0,0,0 }, { IDX_2C('i','t'), "Italya", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Jamaika", 0,0,0 }, { IDX_2C('j','o'), "Urdun", 0,0,0 }, { IDX_2C('j','p'), "Japonya", 0,0,0 }, { IDX_2C('k','e'), "Kenya", 0,0,0 }, { IDX_2C('k','g'), "Kirgizistan", 0,0,0 }, { IDX_2C('k','h'), "Kambocya", 0,0,0 }, { IDX_2C('k','i'), "Kiribati", 0,0,0 }, { IDX_2C('k','m'), "Comoros", 0,0,0 }, { IDX_2C('k','n'), "Saint Kitts and Nevis", 0,0,0 }, { IDX_2C('k','p'), "Kore (Kuzey)", 0,0,0 }, { IDX_2C('k','r'), "Kore (Guney)", 0,0,0 }, { IDX_2C('k','w'), "Kuveyt", 0,0,0 }, { IDX_2C('k','y'), "Cayman Islands", 0,0,0 }, { IDX_2C('k','z'), "Kazakhistan", 0,0,0 }, { IDX_2C('l','a'), "Laos", 0,0,0 }, { IDX_2C('l','b'), "Lubnan", 0,0,0 }, { IDX_2C('l','c'), "Saint Lucia", 0,0,0 }, { IDX_2C('l','i'), "Liechtenstein", 0,0,0 }, { IDX_2C('l','k'), "Sri Lanka", 0,0,0 }, { IDX_2C('l','r'), "Liberya", 0,0,0 }, { IDX_2C('l','s'), "Lesotho", 0,0,0 }, { IDX_2C('l','t'), "Litvanya", 0,0,0 }, { IDX_2C('l','u'), "Luxemburg", 0,0,0 }, { IDX_2C('l','v'), "Latvia", 0,0,0 }, { IDX_2C('l','y'), "Libya", 0,0,0 }, { IDX_2C('m','a'), "Moroko", 0,0,0 }, { IDX_2C('m','c'), "Monako", 0,0,0 }, { IDX_2C('m','d'), "Moldova", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Madagascar", 0,0,0 }, { IDX_2C('m','h'), "Marshall Adalari", 0,0,0 }, { IDX_2C('m','k'), "Makedonya", 0,0,0 }, { IDX_2C('m','l'), "Mali", 0,0,0 }, { IDX_2C('m','m'), "Myanmar", 0,0,0 }, { IDX_2C('m','n'), "Mongolya", 0,0,0 }, { IDX_2C('m','o'), "Macau", 0,0,0 }, { IDX_2C('m','p'), "Kuzey Mariana Adalari", 0,0,0 }, { IDX_2C('m','q'), "Martinik", 0,0,0 }, { IDX_2C('m','r'), "Moritanya", 0,0,0 }, { IDX_2C('m','s'), "Montserrat", 0,0,0 }, { IDX_2C('m','t'), "Malta", 0,0,0 }, { IDX_2C('m','u'), "Mauritius", 0,0,0 }, { IDX_2C('m','v'), "Maldivler", 0,0,0 }, { IDX_2C('m','w'), "Malawi", 0,0,0 }, { IDX_2C('m','x'), "Meksika", 0,0,0 }, { IDX_2C('m','y'), "Malezya", 0,0,0 }, { IDX_2C('m','z'), "Mozambik", 0,0,0 }, { IDX_2C('n','a'), "Namibya", 0,0,0 }, { IDX_2C('n','c'), "Yeni Kaledonya", 0,0,0 }, { IDX_2C('n','e'), "Niger", 0,0,0 }, { IDX_2C('n','f'), "Norfolk Adalari", 0,0,0 }, { IDX_2C('n','g'), "Nijerya", 0,0,0 }, { IDX_2C('n','i'), "Nikaragua", 0,0,0 }, { IDX_2C('n','l'), "Hollanda", 0,0,0 }, { IDX_2C('n','o'), "Norvec", 0,0,0 }, { IDX_2C('n','p'), "Nepal", 0,0,0 }, { IDX_2C('n','r'), "Nauru", 0,0,0 }, { IDX_2C('n','u'), "Niue", 0,0,0 }, { IDX_2C('n','z'), "Yeni Zellanda", 0,0,0 }, { IDX_2C('o','m'), "Umman", 0,0,0 }, { IDX_2C('p','a'), "Panama", 0,0,0 }, { IDX_2C('p','e'), "Peru", 0,0,0 }, { IDX_2C('p','f'), "Fransiz Polinezyasi", 0,0,0 }, { IDX_2C('p','g'), "Papua Yeni Gine", 0,0,0 }, { IDX_2C('p','h'), "Filipinler", 0,0,0 }, { IDX_2C('p','k'), "Pakistan", 0,0,0 }, { IDX_2C('p','l'), "Polonya", 0,0,0 }, { IDX_2C('p','m'), "St. Pierre and Miquelon", 0,0,0 }, { IDX_2C('p','n'), "Pitcairn", 0,0,0 }, { IDX_2C('p','r'), "Porto Riko", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Portekiz", 0,0,0 }, { IDX_2C('p','w'), "Palau", 0,0,0 }, { IDX_2C('p','y'), "Paraguay", 0,0,0 }, { IDX_2C('q','a'), "Katar", 0,0,0 }, { IDX_2C('r','e'), "Reunion", 0,0,0 }, { IDX_2C('r','o'), "Romanya", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Rus Federasyonu", 0,0,0 }, { IDX_2C('r','w'), "Ruanda", 0,0,0 }, { IDX_2C('s','a'), "Suudi Arabistan", 0,0,0 }, { IDX_2C('s','b'), "Solomon Adalari", 0,0,0 }, { IDX_2C('s','c'), "Seychelles", 0,0,0 }, { IDX_2C('s','d'), "Sudan", 0,0,0 }, { IDX_2C('s','e'), "Isvec", 0,0,0 }, { IDX_2C('s','g'), "Singapur", 0,0,0 }, { IDX_2C('s','h'), "St. Helena", 0,0,0 }, { IDX_2C('s','i'), "Slovenya", 0,0,0 }, { IDX_2C('s','j'), "Svalbard ve Jan Mayen Adalari", 0,0,0 }, { IDX_2C('s','k'), "Slovak Cumhuriyeti", 0,0,0 }, { IDX_2C('s','l'), "Sierra Leone", 0,0,0 }, { IDX_2C('s','m'), "San Marino", 0,0,0 }, { IDX_2C('s','n'), "Senegal", 0,0,0 }, { IDX_2C('s','o'), "Somali", 0,0,0 }, { IDX_2C('s','r'), "Surinam", 0,0,0 }, { IDX_2C('s','t'), "Sao Tome and Principe", 0,0,0 }, { IDX_2C('s','u'), "SSCB (eski)", 0,0,0 }, { IDX_2C('s','v'), "El Salvador", 0,0,0 }, { IDX_2C('s','y'), "Suriye", 0,0,0 }, { IDX_2C('s','z'), "Swaziland", 0,0,0 }, { IDX_2C('t','c'), "Turks ve Caicos Adalari", 0,0,0 }, { IDX_2C('t','d'), "Cad", 0,0,0 }, { IDX_2C('t','f'), "Fransiz Guney Bolgeleri", 0,0,0 }, { IDX_2C('t','g'), "Togo", 0,0,0 }, { IDX_2C('t','h'), "Tayland", 0,0,0 }, { IDX_2C('t','j'), "Tacikistan", 0,0,0 }, { IDX_2C('t','k'), "Tokelau", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Turkmenistan", 0,0,0 }, { IDX_2C('t','n'), "Tunus", 0,0,0 }, { IDX_2C('t','o'), "Tonga", 0,0,0 }, { IDX_2C('t','p'), "Dogu Timor", 0,0,0 }, { IDX_2C('t','r'), "Turkiye", 0,0,0 }, { IDX_2C('t','t'), "Trinidad ve Tobago", 0,0,0 }, { IDX_2C('t','v'), "Tuvalu", 0,0,0 }, { IDX_2C('t','w'), "Tayvan", 0,0,0 }, { IDX_2C('t','z'), "Tanzanya", 0,0,0 }, { IDX_2C('u','a'), "Ukrayna", 0,0,0 }, { IDX_2C('u','g'), "Uganda", 0,0,0 }, { IDX_2C('u','k'), "Ingiltere", 0,0,0 }, { IDX_2C('u','m'), "US Minor Outlying Adalari", 0,0,0 }, { IDX_2C('u','s'), "United States", 0,0,0 }, { IDX_2C('u','y'), "Uruguay", 0,0,0 }, { IDX_2C('u','z'), "Uzbekistan", 0,0,0 }, { IDX_2C('v','a'), "Vatican Sehiri Devleti (Kutsal Deniz)", 0,0,0 }, { IDX_2C('v','c'), "Saint Vincent ve Grenadines", 0,0,0 }, { IDX_2C('v','e'), "Venezuela", 0,0,0 }, { IDX_2C('v','g'), "Virgin Adalari (British)", 0,0,0 }, { IDX_2C('v','i'), "Virgin Adalari (U.S.)", 0,0,0 }, { IDX_2C('v','n'), "Vietnam", 0,0,0 }, { IDX_2C('v','u'), "Vanuatu", 0,0,0 }, { IDX_2C('w','f'), "Wallis ve Futuna Adalari", 0,0,0 }, { IDX_2C('w','s'), "Samoa", 0,0,0 }, { IDX_2C('y','e'), "Yemen", 0,0,0 }, { IDX_2C('y','t'), "Mayotte", 0,0,0 }, { IDX_2C('y','u'), "Yugoslavya", 0,0,0 }, { IDX_2C('z','a'), "Guney Afrika", 0,0,0 }, { IDX_2C('z','m'), "Zambia", 0,0,0 }, { IDX_2C('z','w'), "Zimbabve", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; �����������������������������������������������������������webalizer-2.23-05/lang/webalizer_lang.ukrainian�����������������������������������������������������0000644�0001750�0001750�00000106555�11551754100�020074� 0����������������������������������������������������������������������������������������������������ustar �brad����������������������������brad�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* webalizer_lang.ukrainian Webalizer V2.0x Language Support file for English. 15-May-1998 by Bradford L. Barrett (brad@mrunix.net) 31-May-1998 Modified for level 1.1 support (brad@mrunix.net) 23-Jul-1998 Modified for level 1.2 support (brad@mrunix.net) 08-Mar-1999 Updated HTTP 1.1 response codes by Yves Lafon (ylafon@w3.org) 28-Jun-1999 Modified for level 1.3 support (brad@mrunix.net) 16-Feb-2000 Modified for level 2.0 support (brad@mrunix.net) 17-May-2001 Translated by Mike Futerko (mike@LITech.lviv.ua) 26-Mar-2008 Updated to current IANA TLDs (brad@mrunix.net) 26-May-2008 Modified for level 2.2 support (brad@mrunix.net) Language files are named using the following convention: webalizer_lang.LANGUAGE where 'LANGUAGE' is the name of the language the file is translated into (ie: webalizer_lang.russian for russian). Either copy the desired language file to webalizer_lang.h or create a symbolic link, then re-compile. If you translate this file into a different language, please send a copy to brad@mrunix.net. Note: to use this translation, your GD should be able to display the right Cyrillic chars. Who is require GD patch mail to: mike@LITech.lviv.ua */ /***********************************************************************/ /* DEFINE LANGUAGE NAME here */ /***********************************************************************/ char *language = "Ukrainian"; char *langcode = "uk"; /***********************************************************************/ /* */ /* Informational messages */ /* */ /* These messages are only displayed while The Webalizer is being run, */ /* usually to the screen, and are not part of the HTML output. */ /* */ /***********************************************************************/ /* these are only used in timing totals */ /* Format: XXX records (XXX ignored, XXX bad) in X.XX seconds */ char *msg_records = "records"; char *msg_addresses="addresses"; char *msg_ignored = "ignored"; char *msg_bad = "bad"; char *msg_in = "in"; char *msg_seconds = "seconds"; /* progress and setup error messages */ char *msg_log_err = "Error: Can't open log file"; char *msg_log_use = "Using logfile"; char *msg_dir_err = "Error: Can't change directory to"; char *msg_dir_use = "Creating output in"; char *msg_cur_dir = "current directory"; char *msg_hostname= "Hostname for reports is"; char *msg_ign_hist= "Ignoring previous history..."; char *msg_no_hist = "History file not found..."; char *msg_get_hist= "Reading history file..."; char *msg_put_hist= "Saving history information..."; char *msg_hist_err= "Error: Unable to write history file"; char *msg_bad_hist= "Error: Ignoring invalid history record"; char *msg_bad_conf= "Error: Unable to open configuration file"; char *msg_bad_key = "Warning: Invalid keyword"; char *msg_bad_date= "Error: Skipping record (bad date)"; char *msg_ign_nscp= "Skipping Netscape header record"; char *msg_bad_rec = "Skipping bad record"; char *msg_no_vrec = "No valid records found!"; char *msg_gen_rpt = "Generating report for"; char *msg_gen_sum = "Generating summary report"; char *msg_get_data= "Reading previous run data.."; char *msg_put_data= "Saving current run data..."; char *msg_no_data = "Previous run data not found..."; char *msg_bad_data= "Error: Unable to restore run data"; char *msg_data_err= "Error: Unable to save current run data"; char *msg_dup_data= "Warning: Possible duplicate data found"; /* DNS Stuff */ char *msg_dns_nocf= "No cache file specified, aborting..."; char *msg_dns_nodb= "Error: Unable to open DNS cache file"; char *msg_dns_nolk= "Error: Unable to lock DNS cache file"; char *msg_dns_usec= "Using DNS cache file"; char *msg_dns_rslv= "DNS Lookup"; char *msg_dns_none= "None to process"; char *msg_dns_abrt= "DNS support not present, aborting..."; /* Geolocation stuff */ char *msg_geo_open= "Error opening file"; char *msg_geo_use = "Using"; char *msg_geo_nolu= "lookups disabled"; char *msg_geo_dflt= "default"; /* memory allocation errors */ char *msg_nomem_ts= "Can't allocate enough memory, Top Sites disabled!"; char *msg_nomem_tr= "Can't allocate enough memory, Top Referrers disabled!"; char *msg_nomem_tu= "Can't allocate enough memory, Top URLs disabled!"; char *msg_nomem_tc= "Can't allocate enough memory, Top Countries disabled!"; char *msg_nomem_ta= "Can't allocate enough memory, Top User Agents disabled!"; char *msg_nomem_tsr="Can't allocate enough memory, Top Search Strings disabled!"; char *msg_nomem_ti= "Can't allocate enough memory, Top Usernames disabled!"; char *msg_nomem_dh= "Error adding host node (daily), skipping"; char *msg_nomem_mh= "Error adding host node (monthly), skipping"; char *msg_nomem_u = "Error adding URL node, skipping"; char *msg_nomem_a = "Error adding User Agent node, skipping"; char *msg_nomem_r = "Error adding Referrer node, skipping"; char *msg_nomem_sc= "Error adding Search String Node, skipping"; char *msg_nomem_i = "Error adding Username node, skipping"; /* log record errors */ char *msg_big_rec = "Error: Skipping oversized log record"; char *msg_big_host= "Warning: Truncating oversized hostname"; char *msg_big_date= "Warning: Truncating oversized date field"; char *msg_big_req = "Warning: Truncating oversized request field"; char *msg_big_ref = "Warning: Truncating oversized referrer field"; char *msg_big_user= "Warning: Truncating oversized username"; char *msg_big_one = "Warning: String exceeds storage size"; /* misc errors */ char *msg_no_open = "Error: Unable to open file"; /* Help display... */ char *h_usage1 = "Usage"; char *h_usage2 = "[options] [log file]"; char *h_msg[]= { "-h = print this help message" , "-V = print version information" , "-v = be verbose" , "-d = print additional debug info" , "-F type = Log type. type= (clf | ftp | squid | w3c)", "-f = Fold sequence errors" , "-i = ignore history file" , "-p = preserve state (incremental)" , "-b = ignore state (incremental)" , "-q = supress informational messages" , "-Q = supress _ALL_ messages" , "-Y = supress country graph" , "-G = supress hourly graph" , "-H = supress hourly stats" , "-L = supress color coded graph legends" , "-l num = use num background lines on graph" , "-m num = Visit timout value (seconds)" , "-T = print timing information" , "-c file = use configuration file 'file'" , "-n name = hostname to use" , "-o dir = output directory to use" , "-t name = report title 'name'" , "-a name = hide user agent 'name'" , "-r name = hide referrer 'name'" , "-s name = hide site 'name'" , "-u name = hide URL 'name'" , "-x name = Use filename extension 'name'" , "-O name = Omit page 'name'" , "-P name = Page type extension 'name'" , "-I name = Index alias 'name'" , "-K num = num months in summary table" , "-k num = num months in summary graph" , "-A num = Display num top agents" , "-C num = Display num top countries" , "-R num = Display num top referrers" , "-S num = Display num top sites" , "-U num = Display num top URLs" , "-e num = Display num top Entry Pages" , "-E num = Display num top Exit Pages" , "-g num = Group Domains to 'num' levels" , "-X = Hide individual sites" , "-z dir = Use country flags in 'dir'" , #ifdef USE_DNS "-D name = Use DNS Cache file 'name'" , "-N num = Number of DNS processes (0=disable)" , "-j = Enable native GeoDB lookups" , "-J name = Use GeoDB database 'name'" , #endif #ifdef USE_GEOIP "-w = Enable GeoIP lookups" , "-W name = Use GeoIP database 'name'" , #endif NULL}; /***********************************************************************/ /* */ /* HTML strings */ /* */ /* These strings are used as part of the HTML output generated by The */ /* Webalizer. */ /* */ /***********************************************************************/ /* header strings */ char *msg_hhdr_sp = "Пер╕од статистики"; char *msg_hhdr_gt = "Створено"; /* main index strings */ char *msg_main_us = "Сумарне використання"; /* char *msg_main_per= "останн╕ 12 м╕сяц╕в"; */ char *msg_main_per= "Щом╕сячний п╕дсумок"; char *msg_main_sum= "Щом╕сячний п╕дсумок"; char *msg_main_da = "В середньому за день"; char *msg_main_mt = "Всього за м╕сяць"; /* month HTML page strings */ char *msg_hmth_du = "Щоденне використання за"; char *msg_hmth_hu = "Погодинне використання за"; /* table header strings */ char *msg_h_by = "по"; char *msg_h_avg = "середн."; char *msg_h_max = "макс."; char *msg_h_total = "всього"; char *msg_h_totals= "Всього"; char *msg_h_day = "день"; char *msg_h_mth = "м╕сяць"; char *msg_h_hour = "година"; char *msg_h_hits = "запит╕в"; char *msg_h_pages = "стор."; char *msg_h_visits= "в╕дв╕д."; char *msg_h_files = "файл╕в"; char *msg_h_sites = "сайт╕в"; char *msg_h_xfer = "КБайт"; char *msg_h_hname = "╕м'я хоста"; char *msg_h_url = "URL"; char *msg_h_agent = "агент користувача"; char *msg_h_ref = "посилання"; char *msg_h_ctry = "кра╖на"; char *msg_h_search= "стр╕чка пошуку"; char *msg_h_uname = "╕м'я користувача"; /* links along top of page */ char *msg_hlnk_ds = "Статистика по днях"; char *msg_hlnk_hs = "Статистика по годинах"; char *msg_hlnk_u = "URL'и"; char *msg_hlnk_s = "Сайти"; char *msg_hlnk_a = "Агенти користувача"; char *msg_hlnk_c = "Кра╖ни"; char *msg_hlnk_r = "Посилання"; char *msg_hlnk_en = "Початков╕ стор╕нки"; char *msg_hlnk_ex = "К╕нцев╕ стор╕нки"; char *msg_hlnk_sr = "Пошук"; char *msg_hlnk_i = "Користувач╕"; /* monthly total table */ char *msg_mtot_ms = "М╕сячна статисника за"; char *msg_mtot_th = "Всього запит╕в"; char *msg_mtot_tf = "Всього файл╕в"; char *msg_mtot_tx = "Всього КБайт"; char *msg_mtot_us = "Всього ун╕кальних сайт╕в"; char *msg_mtot_ur = "Всього ун╕кальних посилань"; char *msg_mtot_ua = "Всього ун╕кальних агент╕в користувача"; char *msg_mtot_uu = "Всього ун╕кальних URL'╕в"; char *msg_mtot_ui = "Всього ун╕кальних ╕мен"; char *msg_mtot_mhd= "Звертань за день"; char *msg_mtot_mhh= "Звертань за годину"; char *msg_mtot_mfd= "Файл╕в за день"; char *msg_mtot_mpd= "Стор╕нок за день"; char *msg_mtot_msd= "Sites per Day"; char *msg_mtot_mvd= "В╕дв╕дувань за день"; char *msg_mtot_mkd= "KБайт за день"; char *msg_mtot_rc = "Звертань за кодом в╕дпов╕д╕"; /* daily total table */ char *msg_dtot_ds = "Статистика по днях за"; /* hourly total table */ char *msg_htot_hs = "Статистика по годинах за"; /* country pie chart */ char *msg_ctry_use= "Cтатистика по кра╖нах за"; /* top tables */ /* Formatted as "Top xxx of xxx Total something" */ char *msg_top_top = "Перш╕"; char *msg_top_of = "з"; char *msg_top_s = "сайт╕в"; char *msg_top_u = "URL'╕в"; char *msg_top_r = "посилань"; char *msg_top_a = "агент╕в користувача"; char *msg_top_c = "кра╖н"; char *msg_top_en = "початкових стор╕нок"; char *msg_top_ex = "к╕нцевих стор╕нок"; char *msg_top_sr = "стр╕чок пошуку"; char *msg_top_i = "╕мен користувача"; char *msg_v_sites = "Переглянути вс╕ сайти"; char *msg_v_urls = "Переглянути вс╕ URL'и"; char *msg_v_refs = "Переглянути вс╕ посилання"; char *msg_v_agents= "Переглянути вс╕ агенти користувача"; char *msg_v_search= "Переглянути вс╕ cтр╕чки пошуку"; char *msg_v_users = "Переглянути вс╕ ╕мена користувач╕в"; /* short month names MUST BE 3 CHARS in size... pad if needed*/ char *s_month[12]={ "С╕ч", "Лют", "Бер", "Кв╕", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"}; /* long month names - can be any length */ char *l_month[12]={ "С╕чень", "Лютий", "Березень", "Кв╕тень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"}; /* response code descriptions... order IS important! */ struct response_code response[] = { { "Нев╕домий код в╕дпов╕д╕", 0 }, { "Code 100 - Continue", 0 }, { "Code 101 - Switching Protocols", 0 }, { "Code 200 - OK", 0 }, { "Code 201 - Created", 0 }, { "Code 202 - Accepted", 0 }, { "Code 203 - Non-Authoritative Information", 0 }, { "Code 204 - No Content", 0 }, { "Code 205 - Reset Content", 0 }, { "Code 206 - Partial Content", 0 }, { "Code 300 - Multiple Choices", 0 }, { "Code 301 - Moved Permanently", 0 }, { "Code 302 - Found", 0 }, { "Code 303 - See Other", 0 }, { "Code 304 - Not Modified", 0 }, { "Code 305 - Use Proxy", 0 }, { "Code 307 - Moved Temporarily", 0 }, { "Code 400 - Bad Request", 0 }, { "Code 401 - Unauthorized", 0 }, { "Code 402 - Payment Required", 0 }, { "Code 403 - Forbidden", 0 }, { "Code 404 - Not Found", 0 }, { "Code 405 - Method Not Allowed", 0 }, { "Code 406 - Not Acceptable", 0 }, { "Code 407 - Proxy Authentication Required", 0 }, { "Code 408 - Request Timeout", 0 }, { "Code 409 - Conflict", 0 }, { "Code 410 - Gone", 0 }, { "Code 411 - Length Required", 0 }, { "Code 412 - Precondition Failed", 0 }, { "Code 413 - Request Entity Too Large", 0 }, { "Code 414 - Request-URI Too Long", 0 }, { "Code 415 - Unsupported Media Type", 0 }, { "Code 416 - Requested Range Not Satisfiable", 0 }, { "Code 417 - Expectation Failed", 0 }, { "Code 500 - Internal Server Error", 0 }, { "Code 501 - Not Implemented", 0 }, { "Code 502 - Bad Gateway", 0 }, { "Code 503 - Service Unavailable", 0 }, { "Code 504 - Gateway Timeout", 0 }, { "Code 505 - HTTP Version Not Supported", 0 } }; char *msg_title = "Статистика в╕дв╕дувань"; char *msg_h_other = "╤нш╕"; /* Country codes (previously in ctry.h header file) */ struct country_code ctry[] = { { 0, "Нерозв'язан╕/Нев╕дом╕", 0,0,0 }, { IDX_3C('c','o','m'), "Комерц╕йн╕ (com)", 0,0,0 }, { IDX_3C('e','d','u'), "Осв╕тн╕ (edu)", 0,0,0 }, { IDX_3C('g','o','v'), "Урядов╕ (gov)", 0,0,0 }, { IDX_3C('i','n','t'), "╤нтернац╕ональн╕ (int)", 0,0,0 }, { IDX_3C('m','i','l'), "В╕йськов╕ (mil)", 0,0,0 }, { IDX_3C('n','e','t'), "Мережев╕ (net)", 0,0,0 }, { IDX_3C('o','r','g'), "Некомерц╕йн╕ орган╕зац╕╖ (org)", 0,0,0 }, { IDX_3C('b','i','z'), "Generic Business (biz)", 0,0,0 }, { IDX_3C('c','a','t'), "Catalan Community (cat)", 0,0,0 }, { IDX_3C('p','r','o'), "Professional (pro)", 0,0,0 }, { IDX_3C('t','e','l'), "Ind. Contact Data (tel)", 0,0,0 }, { IDX_4C('a','e','r','o'),"Air Transport Industry (aero)", 0,0,0 }, { IDX_4C('a','s','i','a'),"Asia Pacific Community (asia)", 0,0,0 }, { IDX_4C('c','o','o','p'),"Cooperative Association (coop)", 0,0,0 }, { IDX_4C('i','n','f','o'),"Generic TLD (info)", 0,0,0 }, { IDX_4C('j','o','b','s'),"Human Resources (jobs)", 0,0,0 }, { IDX_4C('m','o','b','i'),"Generic Mobile TLD (mobi)", 0,0,0 }, { IDX_4C('n','a','m','e'),"Individual (name)", 0,0,0 }, { IDX_4C('a','r','p','a'),"Address Routing (arpa)", 0,0,0 }, { IDX_4C('n','a','t','o'),"Зона Nato (nato)", 0,0,0 }, { IDX_6C('m','u','s','e','u','m'), "Museums (museum)", 0,0,0 }, { IDX_6C('t','r','a','v','e','l'), "Travel Ind. (travel)", 0,0,0 }, { IDX_2C('a','c'), "Ascension Island", 0,0,0 }, { IDX_2C('a','d'), "Андора (ad)", 0,0,0 }, { IDX_2C('a','e'), "Об'╓днан╕ Арабськ╕ Ем╕рати (ae)", 0,0,0 }, { IDX_2C('a','f'), "Афган╕стан (af)", 0,0,0 }, { IDX_2C('a','g'), "Тр╕н╕дад та Тобаго (ag)", 0,0,0 }, { IDX_2C('a','i'), "Анг╕лья (ai)", 0,0,0 }, { IDX_2C('a','l'), "Албан╕я (al)", 0,0,0 }, { IDX_2C('a','m'), "В╕рмен╕я (am)", 0,0,0 }, { IDX_2C('a','n'), "Голандськ╕ Антильськ╕ острови (an)", 0,0,0 }, { IDX_2C('a','o'), "Ангола (ao)", 0,0,0 }, { IDX_2C('a','q'), "Антарктика (aq)", 0,0,0 }, { IDX_2C('a','r'), "Аргентина (ar)", 0,0,0 }, { IDX_2C('a','s'), "Американська Самоа (as)", 0,0,0 }, { IDX_2C('a','t'), "Австр╕я (at)", 0,0,0 }, { IDX_2C('a','u'), "Австрал╕я (au)", 0,0,0 }, { IDX_2C('a','w'), "Аруба (aw)", 0,0,0 }, { IDX_2C('a','x'), "Aland Islands", 0,0,0 }, { IDX_2C('a','z'), "Азербайджан (az)", 0,0,0 }, { IDX_2C('b','a'), "Босн╕я та Герцоговина (ba)", 0,0,0 }, { IDX_2C('b','b'), "Барбадос (bb)", 0,0,0 }, { IDX_2C('b','d'), "Бангладеш (bd)", 0,0,0 }, { IDX_2C('b','e'), "Бельг╕я (be)", 0,0,0 }, { IDX_2C('b','f'), "Бурк╕на Фасо (bf)", 0,0,0 }, { IDX_2C('b','g'), "Болгар╕я (bg)", 0,0,0 }, { IDX_2C('b','h'), "Бахрейн (bh)", 0,0,0 }, { IDX_2C('b','i'), "Бурунд╕ (bi)", 0,0,0 }, { IDX_2C('b','j'), "Бен╕н (bj)", 0,0,0 }, { IDX_2C('b','l'), "Saint Barthelemy", 0,0,0 }, { IDX_2C('b','m'), "Бермуди (bm)", 0,0,0 }, { IDX_2C('b','n'), "Бруней Дарусалам (bn)", 0,0,0 }, { IDX_2C('b','o'), "Бол╕в╕я (bo)", 0,0,0 }, { IDX_2C('b','r'), "Бразил╕я (br)", 0,0,0 }, { IDX_2C('b','s'), "Багами (bs)", 0,0,0 }, { IDX_2C('b','t'), "Бутан (bt)", 0,0,0 }, { IDX_2C('b','v'), "Остр╕в Бувет (bv)", 0,0,0 }, { IDX_2C('b','w'), "Ботсвана (bw)", 0,0,0 }, { IDX_2C('b','y'), "Б╕лорусь (by)", 0,0,0 }, { IDX_2C('b','z'), "Бел╕з (bz)", 0,0,0 }, { IDX_2C('c','a'), "Канада (ca)", 0,0,0 }, { IDX_2C('c','c'), "Какосов╕ Острови (cc)", 0,0,0 }, { IDX_2C('c','d'), "Congo, Democratic Republic", 0,0,0 }, { IDX_2C('c','f'), "Центрально Африканська Республ╕ка (cf)", 0,0,0 }, { IDX_2C('c','g'), "Конго (cg)", 0,0,0 }, { IDX_2C('c','h'), "Швейцар╕я (ch)", 0,0,0 }, { IDX_2C('c','i'), "Узбережжя ╤вор╕ (ci)", 0,0,0 }, { IDX_2C('c','k'), "Острови Кука (cg)", 0,0,0 }, { IDX_2C('c','l'), "Ч╕л╕ (cl)", 0,0,0 }, { IDX_2C('c','m'), "Камерун (cm)", 0,0,0 }, { IDX_2C('c','n'), "Китай (cn)", 0,0,0 }, { IDX_2C('c','o'), "Колумб╕я (co)", 0,0,0 }, { IDX_2C('c','r'), "Коста Р╕ка (cr)", 0,0,0 }, { IDX_2C('c','u'), "Куба (cu)", 0,0,0 }, { IDX_2C('c','v'), "Кейп Верде (cv)", 0,0,0 }, { IDX_2C('c','x'), "Остр╕в Р╕здва (cx)", 0,0,0 }, { IDX_2C('c','y'), "К╕пр (cy)", 0,0,0 }, { IDX_2C('c','z'), "Чеська республ╕ка (cz)", 0,0,0 }, { IDX_2C('d','e'), "Н╕меччина (de)", 0,0,0 }, { IDX_2C('d','j'), "Джибут╕ (dj)", 0,0,0 }, { IDX_2C('d','k'), "Дан╕я (dk)", 0,0,0 }, { IDX_2C('d','m'), "Дом╕н╕ка (dm)", 0,0,0 }, { IDX_2C('d','o'), "Дом╕н╕канська республ╕ка (do)", 0,0,0 }, { IDX_2C('d','z'), "Алгер╕я (dz)", 0,0,0 }, { IDX_2C('e','c'), "Еквадор (ec)", 0,0,0 }, { IDX_2C('e','e'), "Естон╕я (ee)", 0,0,0 }, { IDX_2C('e','g'), "╢гипет (eg)", 0,0,0 }, { IDX_2C('e','h'), "Зах╕дна Сахара (eh)", 0,0,0 }, { IDX_2C('e','r'), "Ер╕трея (er)", 0,0,0 }, { IDX_2C('e','s'), "╤спан╕я (es)", 0,0,0 }, { IDX_2C('e','t'), "Еф╕оп╕я (et)", 0,0,0 }, { IDX_2C('e','u'), "European Union", 0,0,0 }, { IDX_2C('f','i'), "A╕нлянд╕я (fi)", 0,0,0 }, { IDX_2C('f','j'), "Ф╕дж╕ (fj)", 0,0,0 }, { IDX_2C('f','k'), "Фолклендськ╕ Острови (fk)", 0,0,0 }, { IDX_2C('f','m'), "М╕кронез╕я (fm)", 0,0,0 }, { IDX_2C('f','o'), "Фарерськ╕ Острови (fo)", 0,0,0 }, { IDX_2C('f','r'), "Франц╕я (fr)", 0,0,0 }, { IDX_2C('g','a'), "Гобон (ga)", 0,0,0 }, { IDX_2C('g','b'), "Великобритан╕я (gb)", 0,0,0 }, { IDX_2C('g','d'), "Гренада (gd)", 0,0,0 }, { IDX_2C('g','e'), "Груз╕я (ge)", 0,0,0 }, { IDX_2C('g','f'), "Французька Гаяна (gf)", 0,0,0 }, { IDX_2C('g','g'), "Guernsey", 0,0,0 }, { IDX_2C('g','h'), "Гана (gh)", 0,0,0 }, { IDX_2C('g','i'), "Г╕бралтар (gi)", 0,0,0 }, { IDX_2C('g','l'), "Гренланд╕я (gl)", 0,0,0 }, { IDX_2C('g','m'), "Гамб╕я (gm)", 0,0,0 }, { IDX_2C('g','n'), "Гв╕нея (gn)", 0,0,0 }, { IDX_2C('g','p'), "Гваделупа (gp)", 0,0,0 }, { IDX_2C('g','q'), "Екватор╕альна Гв╕нея (gq)", 0,0,0 }, { IDX_2C('g','r'), "Грец╕я (gr)", 0,0,0 }, { IDX_2C('g','s'), "Пд. Георг╕я ╕ Пд. Острови Сендв╕ч (gs)", 0,0,0 }, { IDX_2C('g','t'), "Гватемала (gt)", 0,0,0 }, { IDX_2C('g','u'), "Гуам (gu)", 0,0,0 }, { IDX_2C('g','w'), "Гв╕нею-Б╕сау (gw)", 0,0,0 }, { IDX_2C('g','y'), "Гаяна (gy)", 0,0,0 }, { IDX_2C('h','k'), "Гон Конг (hk)", 0,0,0 }, { IDX_2C('h','m'), "Острови Херда ╕ Макдональда (hm)", 0,0,0 }, { IDX_2C('h','n'), "Гондурас (hn)", 0,0,0 }, { IDX_2C('h','r'), "Хорват╕я (hr)", 0,0,0 }, { IDX_2C('h','t'), "Га╖т╕ (ht)", 0,0,0 }, { IDX_2C('h','u'), "Угорщин╕ (hu)", 0,0,0 }, { IDX_2C('i','d'), "╤ндонез╕я (id)", 0,0,0 }, { IDX_2C('i','e'), "╤рланд╕я (ie)", 0,0,0 }, { IDX_2C('i','l'), "╤зра╖ль (il)", 0,0,0 }, { IDX_2C('i','m'), "Isle of Man", 0,0,0 }, { IDX_2C('i','n'), "╤нд╕я (in)", 0,0,0 }, { IDX_2C('i','o'), "Британськ╕ тер .в ╤нд╕йському Океан╕ (io)",0,0,0 }, { IDX_2C('i','q'), "╤рак (iq)", 0,0,0 }, { IDX_2C('i','r'), "╤ран (ir)", 0,0,0 }, { IDX_2C('i','s'), "╤сланд╕я (is)", 0,0,0 }, { IDX_2C('i','t'), "╤тал╕я (it)", 0,0,0 }, { IDX_2C('j','e'), "Jersey", 0,0,0 }, { IDX_2C('j','m'), "Ямайка (jm)", 0,0,0 }, { IDX_2C('j','o'), "Йордан (jo)", 0,0,0 }, { IDX_2C('j','p'), "Япон╕я (jp)", 0,0,0 }, { IDX_2C('k','e'), "Кен╕я (ke)", 0,0,0 }, { IDX_2C('k','g'), "Киргистан (kg)", 0,0,0 }, { IDX_2C('k','h'), "Камбоджа (kh)", 0,0,0 }, { IDX_2C('k','i'), "К╕р╕бат╕ (ki)", 0,0,0 }, { IDX_2C('k','m'), "Коморськ╕ Острови (km)", 0,0,0 }, { IDX_2C('k','n'), "Острови св. К╕тса и Нев╕са (kn)", 0,0,0 }, { IDX_2C('k','p'), "Корея (П╕вн╕чна) (kp)", 0,0,0 }, { IDX_2C('k','r'), "Корея (П╕вденна) (kr)", 0,0,0 }, { IDX_2C('k','w'), "Кувейт (kw)", 0,0,0 }, { IDX_2C('k','y'), "Кайманськ╕ Острови (ky)", 0,0,0 }, { IDX_2C('k','z'), "Казахстан (kz)", 0,0,0 }, { IDX_2C('l','a'), "Лаос (la)", 0,0,0 }, { IDX_2C('l','b'), "Лебанон (lb)", 0,0,0 }, { IDX_2C('l','c'), "Санта Люч╕я (lc)", 0,0,0 }, { IDX_2C('l','i'), "Л╕хтенштейн (li)", 0,0,0 }, { IDX_2C('l','k'), "Шр╕ Ланка (lk)", 0,0,0 }, { IDX_2C('l','r'), "Л╕бер╕я (lr)", 0,0,0 }, { IDX_2C('l','s'), "Лесото (ls)", 0,0,0 }, { IDX_2C('l','t'), "Литва (lt)", 0,0,0 }, { IDX_2C('l','u'), "Люксембург (lu)", 0,0,0 }, { IDX_2C('l','v'), "Латв╕я (lv)", 0,0,0 }, { IDX_2C('l','y'), "Л╕в╕я (ly)", 0,0,0 }, { IDX_2C('m','a'), "Мароко (ma)", 0,0,0 }, { IDX_2C('m','c'), "Монако (mc)", 0,0,0 }, { IDX_2C('m','d'), "Молдова (md)", 0,0,0 }, { IDX_2C('m','e'), "Montenegro", 0,0,0 }, { IDX_2C('m','f'), "Saint Martin (French part)", 0,0,0 }, { IDX_2C('m','g'), "Мадагаскар (mg)", 0,0,0 }, { IDX_2C('m','h'), "Маршалов╕ Острови (mh)", 0,0,0 }, { IDX_2C('m','k'), "Македон╕я (mk)", 0,0,0 }, { IDX_2C('m','l'), "Мал╕ (ml)", 0,0,0 }, { IDX_2C('m','m'), "Майанмар (mm)", 0,0,0 }, { IDX_2C('m','n'), "Монгол╕я (mn)", 0,0,0 }, { IDX_2C('m','o'), "Макау (mo)", 0,0,0 }, { IDX_2C('m','p'), "П╕вн╕чн╕ Мар╕анськ╕ Острови (mp)", 0,0,0 }, { IDX_2C('m','q'), "Март╕н╕ка (mq)", 0,0,0 }, { IDX_2C('m','r'), "Мавритан╕я (mr)", 0,0,0 }, { IDX_2C('m','s'), "Монтсерат (ms)", 0,0,0 }, { IDX_2C('m','t'), "Мальта (mt)", 0,0,0 }, { IDX_2C('m','u'), "Мавритан╕я (mu)", 0,0,0 }, { IDX_2C('m','v'), "Мальд╕вська Республ╕ка (mv)", 0,0,0 }, { IDX_2C('m','w'), "Малав╕ (mw)", 0,0,0 }, { IDX_2C('m','x'), "Мексика (mx)", 0,0,0 }, { IDX_2C('m','y'), "Малаз╕я (my)", 0,0,0 }, { IDX_2C('m','z'), "Мозамб╕к (mz)", 0,0,0 }, { IDX_2C('n','a'), "Нам╕б╕я (na)", 0,0,0 }, { IDX_2C('n','c'), "Нова Каледон╕я (nc)", 0,0,0 }, { IDX_2C('n','e'), "Н╕гер (ne)", 0,0,0 }, { IDX_2C('n','f'), "Остр╕в Норфолк (nf)", 0,0,0 }, { IDX_2C('n','g'), "Н╕гер╕я (ng)", 0,0,0 }, { IDX_2C('n','i'), "Н╕карагуа (ni)", 0,0,0 }, { IDX_2C('n','l'), "Н╕дерланди (nl)", 0,0,0 }, { IDX_2C('n','o'), "Норвег╕я (no)", 0,0,0 }, { IDX_2C('n','p'), "Непал (np)", 0,0,0 }, { IDX_2C('n','r'), "Науру (nr)", 0,0,0 }, { IDX_2C('n','u'), "Н╕уе (nu)", 0,0,0 }, { IDX_2C('n','z'), "Нова Зеланд╕я (nz)", 0,0,0 }, { IDX_2C('o','m'), "Оман (om)", 0,0,0 }, { IDX_2C('p','a'), "Панама (pa)", 0,0,0 }, { IDX_2C('p','e'), "Перу (pr)", 0,0,0 }, { IDX_2C('p','f'), "Французька Пол╕нез╕я (pf)", 0,0,0 }, { IDX_2C('p','g'), "Папуа Нова Гв╕нея (pg)", 0,0,0 }, { IDX_2C('p','h'), "Ф╕л╕п╕ни (ph)", 0,0,0 }, { IDX_2C('p','k'), "Пак╕стан (pk)", 0,0,0 }, { IDX_2C('p','l'), "Польща (pl)", 0,0,0 }, { IDX_2C('p','m'), "Остр╕в св. П╓ра ╕ М╕геля (pm)", 0,0,0 }, { IDX_2C('p','n'), "П╕ткерн (pn)", 0,0,0 }, { IDX_2C('p','r'), "Пуерто Р╕ко (pr)", 0,0,0 }, { IDX_2C('p','s'), "Palestinian Territory, Occupied", 0,0,0 }, { IDX_2C('p','t'), "Португал╕я (pt)", 0,0,0 }, { IDX_2C('p','w'), "Палау (pw)", 0,0,0 }, { IDX_2C('p','y'), "Парагвай (py)", 0,0,0 }, { IDX_2C('q','a'), "Катар (qa)", 0,0,0 }, { IDX_2C('r','e'), "Остр╕в Реюньон (re)", 0,0,0 }, { IDX_2C('r','o'), "Румун╕я (po)", 0,0,0 }, { IDX_2C('r','s'), "Serbia", 0,0,0 }, { IDX_2C('r','u'), "Рос╕йська Федерац╕я (ru)", 0,0,0 }, { IDX_2C('r','w'), "Руана (rw)", 0,0,0 }, { IDX_2C('s','a'), "Сауд╕вська Арав╕я (sa)", 0,0,0 }, { IDX_2C('s','b'), "Соломонов╕ Острови (sb)", 0,0,0 }, { IDX_2C('s','c'), "Сейшельськ╕ Острови (sc)", 0,0,0 }, { IDX_2C('s','d'), "Судан (sd)", 0,0,0 }, { IDX_2C('s','e'), "Швец╕я (se)", 0,0,0 }, { IDX_2C('s','g'), "С╕нгапур (sg)", 0,0,0 }, { IDX_2C('s','h'), "Остр╕в св. ╢лени (sh)", 0,0,0 }, { IDX_2C('s','i'), "Словен╕я (si)", 0,0,0 }, { IDX_2C('s','j'), "Острови Свалбард ╕ Ян-Майен (sj)", 0,0,0 }, { IDX_2C('s','k'), "Республ╕ка Словак╕╖ (sk)", 0,0,0 }, { IDX_2C('s','l'), "С╕╓ра Леоне (sl)", 0,0,0 }, { IDX_2C('s','m'), "Сан Мар╕но (sm)", 0,0,0 }, { IDX_2C('s','n'), "Сенегал (sn)", 0,0,0 }, { IDX_2C('s','o'), "Сомал╕ (so)", 0,0,0 }, { IDX_2C('s','r'), "Сур╕нам (sr)", 0,0,0 }, { IDX_2C('s','t'), "Сао Том ╕ Принципов╕ Острови (st)",0,0,0 }, { IDX_2C('s','u'), "СРСР (колишн╕й, su)", 0,0,0 }, { IDX_2C('s','v'), "Сальвадор (sv)", 0,0,0 }, { IDX_2C('s','y'), "Сир╕я (sy)", 0,0,0 }, { IDX_2C('s','z'), "Сваз╕ланд (sz)", 0,0,0 }, { IDX_2C('t','c'), "Острови Тюркс ╕ Кайкос (tc)", 0,0,0 }, { IDX_2C('t','d'), "Чад (td)", 0,0,0 }, { IDX_2C('t','f'), "П╕вденн╕ Французьк╕ територ╕╖ (tf)", 0,0,0 }, { IDX_2C('t','g'), "Того (tg)", 0,0,0 }, { IDX_2C('t','h'), "Та╖ланд (th)", 0,0,0 }, { IDX_2C('t','j'), "Таджикистан (tj)", 0,0,0 }, { IDX_2C('t','k'), "Острови Токелау (tk)", 0,0,0 }, { IDX_2C('t','l'), "Timor-Leste", 0,0,0 }, { IDX_2C('t','m'), "Туркменистан (tm)", 0,0,0 }, { IDX_2C('t','n'), "Тун╕с (tn)", 0,0,0 }, { IDX_2C('t','o'), "Острови Тонга (to)", 0,0,0 }, { IDX_2C('t','p'), "Сх╕дний Т╕мор (tp)", 0,0,0 }, { IDX_2C('t','r'), "Туреччина (tr)", 0,0,0 }, { IDX_2C('t','t'), "Республ╕ка Тр╕н╕дад та Тобаго (tt)",0,0,0 }, { IDX_2C('t','v'), "Тувалу (tv)", 0,0,0 }, { IDX_2C('t','w'), "Тайвань (tw)", 0,0,0 }, { IDX_2C('t','z'), "Танзан╕я (tz)", 0,0,0 }, { IDX_2C('u','a'), "Укра╖на (ua)", 0,0,0 }, { IDX_2C('u','g'), "Уганда (ug)", 0,0,0 }, { IDX_2C('u','k'), "Великобритан╕я (uk)", 0,0,0 }, { IDX_2C('u','m'), "Мал╕ зовн╕шн╕ острови США (um)", 0,0,0 }, { IDX_2C('u','s'), "Cполучен╕ штати (us)", 0,0,0 }, { IDX_2C('u','y'), "Уругвай (uy)", 0,0,0 }, { IDX_2C('u','z'), "Eзбекистан (uz)", 0,0,0 }, { IDX_2C('v','a'), "Ват╕кан (va)", 0,0,0 }, { IDX_2C('v','c'), "Острови св. В╕нсента ╕ Гренад╕ни (vc)", 0,0,0 }, { IDX_2C('v','e'), "Венесуела (ve)", 0,0,0 }, { IDX_2C('v','g'), "В╕рджинськ╕ Острови (Британськ╕, vg)", 0,0,0 }, { IDX_2C('v','i'), "В╕рджинськ╕ Острови (США, vi)", 0,0,0 }, { IDX_2C('v','n'), "В'╓тнам (vn)", 0,0,0 }, { IDX_2C('v','u'), "Вануату (vu)", 0,0,0 }, { IDX_2C('w','f'), "Острова Велл╕с ╕ Футуна (wf)", 0,0,0 }, { IDX_2C('w','s'), "Самоа (ws)", 0,0,0 }, { IDX_2C('y','e'), "╢мен (ye)", 0,0,0 }, { IDX_2C('y','t'), "Остр╕в Майота (yt)", 0,0,0 }, { IDX_2C('y','u'), "Югослав╕я (колишня, yu)", 0,0,0 }, { IDX_2C('z','a'), "П╕вденна Африка (za)", 0,0,0 }, { IDX_2C('z','m'), "Замб╕я (zm)", 0,0,0 }, { IDX_2C('z','w'), "З╕мбабве (zw)", 0,0,0 }, { IDX_2C('a','1'), "Anonymous Proxy", 0,0,0 }, { IDX_2C('a','2'), "Satellite Provider", 0,0,0 }, { IDX_2C('o','1'), "Other", 0,0,0 }, { IDX_2C('a','p'), "Asia/Pacific Region", 0,0,0 }, { IDX_3C('l','a','n'), "Local Network (lan)", 0,0,0 }, { 0 , NULL, 0,0,0 }}; ���������������������������������������������������������������������������������������������������������������������������������������������������webalizer-2.23-05/webalizer_lang.h������������������������������������������������������������������0000777�0001750�0001750�00000000000�11551757724�022702� 2lang/webalizer_lang.english�������������������������������������������������������������������������ustar �brad����������������������������brad�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������