1 /**
2  *    ______      ___
3  *   / ____/___  /   | _____________  __________
4  *  / / __/ __ \/ /| |/ ___/ ___/ _ \/ ___/ ___/
5  * / /_/ / /_/ / ___ / /__/ /__/  __(__  |__  )
6  * \____/\____/_/  |_\___/\___/\___/____/____/
7  *
8  * The MIT License (MIT)
9  * Copyright (c) 2009-2020 Gerardo Orellana <hello @ goaccess.io>
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a copy
12  * of this software and associated documentation files (the "Software"), to deal
13  * in the Software without restriction, including without limitation the rights
14  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15  * copies of the Software, and to permit persons to whom the Software is
16  * furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included in all
19  * copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27  * SOFTWARE.
28  */
29 
30 #ifndef LABELS_H_INCLUDED
31 #define LABELS_H_INCLUDED
32 
33 #ifdef ENABLE_NLS
34 #include <libintl.h>
35 
36 #define _(String) dgettext (PACKAGE , String)
37 #define gettext_noop(String) String
38 #define N_(String) gettext_noop (String)
39 #else
40 #define _(String) String
41 #define gettext_noop(String) String
42 #define N_(String) String
43 #endif
44 
45 /* global lang attribute */
46 #define DOC_LANG                 _( "en")
47 
48 /* General */
49 #define GEN_EXPAND_PANEL         _( "Exp. Panel")
50 #define GEN_HELP                 _( "Help")
51 #define GEN_QUIT                 _( "Quit")
52 #define GEN_TOTAL                _( "Total")
53 
54 /* Sort Labels */
55 #define SORT_ASC_SEL             _( "[x] ASC [ ] DESC")
56 #define SORT_DESC_SEL            _( "[ ] ASC [x] DESC")
57 
58 /* Overall Stats Labels */
59 #define T_ACTIVE_PANEL           _("[Active Panel: %1$s]")
60 #define T_QUIT                   _("[q]uit GoAccess")
61 #define T_HELP_ENTER             _("[?] Help [Enter] Exp. Panel")
62 #define T_DASH                   _( "Dashboard")
63 #define T_DASH_HEAD              _( "Dashboard - Overall Analyzed Requests")
64 #define T_HEAD                   N_( "Overall Analyzed Requests")
65 
66 #define T_BW                     _( "Tx. Amount")
67 #define T_DATETIME               _( "Date/Time")
68 #define T_EXCLUDE_IP             _( "Excl. IP Hits")
69 #define T_FAILED                 _( "Failed Requests")
70 #define T_GEN_TIME               _( "Init. Proc. Time")
71 #define T_LOG                    _( "Log Size")
72 #define T_LOG_PATH               _( "Log Source")
73 #define T_REFERRER               _( "Referrers")
74 #define T_REQUESTS               _( "Total Requests")
75 #define T_STATIC_FILES           _( "Static Files")
76 #define T_UNIQUE404              _( "Not Found")
77 #define T_UNIQUE_FILES           _( "Requested Files")
78 #define T_UNIQUE_VISITORS        _( "Unique Visitors")
79 #define T_VALID                  _( "Valid Requests")
80 
81 /* Metric Labels */
82 #define MTRC_HITS_LBL            _( "Hits")
83 #define MTRC_HITS_PERC_LBL       _( "h%")
84 #define MTRC_VISITORS_LBL        _( "Visitors")
85 #define MTRC_VISITORS_SHORT_LBL  _( "Vis.")
86 #define MTRC_VISITORS_PERC_LBL   _( "v%")
87 #define MTRC_BW_LBL              _( "Tx. Amount")
88 #define MTRC_AVGTS_LBL           _( "Avg. T.S.")
89 #define MTRC_CUMTS_LBL           _( "Cum. T.S.")
90 #define MTRC_MAXTS_LBL           _( "Max. T.S.")
91 #define MTRC_METHODS_LBL         _( "Method")
92 #define MTRC_METHODS_SHORT_LBL   _( "Mtd")
93 #define MTRC_PROTOCOLS_LBL       _( "Protocol")
94 #define MTRC_PROTOCOLS_SHORT_LBL _( "Proto")
95 #define MTRC_CITY_LBL            _( "City")
96 #define MTRC_COUNTRY_LBL         _( "Country")
97 #define MTRC_HOSTNAME_LBL        _( "Hostname")
98 #define MTRC_DATA_LBL            _( "Data")
99 
100 #define HTML_PLOT_HITS_VIS       _( "Hits/Visitors")
101 
102 /* Panel Labels and Descriptions */
103 #define VISITORS_HEAD                  \
104   N_("Unique visitors per day")
105 #define VISITORS_HEAD_BOTS             \
106   N_("Unique visitors per day - Including spiders")
107 #define VISITORS_DESC                  \
108   N_("Hits having the same IP, date and agent are a unique visit.")
109 #define VISITORS_LABEL                 \
110   N_("Visitors")
111 
112 #define REQUESTS_HEAD                  \
113   N_("Requested Files (URLs)")
114 #define REQUESTS_DESC                  \
115   N_("Top requests sorted by hits [, avgts, cumts, maxts, mthd, proto]")
116 #define REQUESTS_LABEL                 \
117   N_("Requests")
118 
119 #define REQUESTS_STATIC_HEAD           \
120   N_("Static Requests")
121 #define REQUESTS_STATIC_DESC           \
122   N_("Top static requests sorted by hits [, avgts, cumts, maxts, mthd, proto]")
123 #define REQUESTS_STATIC_LABEL          \
124   N_("Static Requests")
125 
126 #define VISIT_TIMES_HEAD               \
127   N_("Time Distribution")
128 #define VISIT_TIMES_DESC               \
129   N_("Data sorted by hour [, avgts, cumts, maxts]")
130 #define VISIT_TIMES_LABEL              \
131   N_("Time")
132 
133 #define VIRTUAL_HOSTS_HEAD             \
134   N_("Virtual Hosts")
135 #define VIRTUAL_HOSTS_DESC             \
136   N_("Data sorted by hits [, avgts, cumts, maxts]")
137 #define VIRTUAL_HOSTS_LABEL            \
138   N_("Virtual Hosts")
139 
140 #define REMOTE_USER_HEAD               \
141   N_("Remote User (HTTP authentication)")
142 #define REMOTE_USER_DESC               \
143   N_("Data sorted by hits [, avgts, cumts, maxts]")
144 #define REMOTE_USER_LABEL              \
145   N_("Remote User")
146 
147 #define CACHE_STATUS_HEAD               \
148   N_("The cache status of the object served")
149 #define CACHE_STATUS_DESC               \
150   N_("Data sorted by hits [, avgts, cumts, maxts]")
151 #define CACHE_STATUS_LABEL              \
152   N_("Cache Status")
153 
154 #define NOT_FOUND_HEAD                 \
155   N_("Not Found URLs (404s)")
156 #define NOT_FOUND_DESC                 \
157   N_("Top not found URLs sorted by hits [, avgts, cumts, maxts, mthd, proto]")
158 #define NOT_FOUND_LABEL                \
159   N_("Not Found")
160 
161 #define HOSTS_HEAD                     \
162   N_("Visitor Hostnames and IPs")
163 #define HOSTS_DESC                     \
164   N_("Top visitor hosts sorted by hits [, avgts, cumts, maxts]")
165 #define HOSTS_LABEL                    \
166   N_("Hosts")
167 
168 #define OS_HEAD                        \
169   N_("Operating Systems")
170 #define OS_DESC                        \
171   N_("Top Operating Systems sorted by hits [, avgts, cumts, maxts]")
172 #define OS_LABEL                       \
173   N_("OS")
174 
175 #define BROWSERS_HEAD                  \
176   N_("Browsers")
177 #define BROWSERS_DESC                  \
178   N_("Top Browsers sorted by hits [, avgts, cumts, maxts]")
179 #define BROWSERS_LABEL                 \
180   N_("Browsers")
181 
182 #define REFERRERS_HEAD                 \
183   N_("Referrers URLs")
184 #define REFERRERS_DESC                 \
185   N_("Top Requested Referrers sorted by hits [, avgts, cumts, maxts]")
186 #define REFERRERS_LABEL                \
187   N_("Referrers")
188 
189 #define REFERRING_SITES_HEAD           \
190   N_("Referring Sites")
191 #define REFERRING_SITES_DESC           \
192   N_("Top Referring Sites sorted by hits [, avgts, cumts, maxts]")
193 #define REFERRING_SITES_LABEL          \
194   N_("Referring Sites")
195 
196 #define KEYPHRASES_HEAD                \
197   N_("Keyphrases from Google's search engine")
198 #define KEYPHRASES_DESC                \
199   N_("Top Keyphrases sorted by hits [, avgts, cumts, maxts]")
200 #define KEYPHRASES_LABEL               \
201   N_("Keyphrases")
202 
203 #define GEO_LOCATION_HEAD              \
204   N_("Geo Location")
205 #define GEO_LOCATION_DESC              \
206   N_("Continent > Country sorted by unique hits [, avgts, cumts, maxts]")
207 #define GEO_LOCATION_LABEL             \
208   N_("Geo Location")
209 
210 #define STATUS_CODES_HEAD              \
211   N_("HTTP Status Codes")
212 #define STATUS_CODES_DESC              \
213   N_("Top HTTP Status Codes sorted by hits [, avgts, cumts, maxts]")
214 #define STATUS_CODES_LABEL             \
215   N_("Status Codes")
216 
217 #define MIME_TYPE_HEAD                 \
218   N_("MIME Types")
219 #define MIME_TYPE_DESC                 \
220   N_("File types shipped out")
221 #define MIME_TYPE_LABEL                \
222   N_("MIME Types")
223 
224 #define TLS_TYPE_HEAD				\
225   N_("Encryption settings")
226 #define TLS_TYPE_DESC                 \
227   N_("TLS version and picked algorithm")
228 #define TLS_TYPE_LABEL                \
229   N_("TLS Settings")
230 
231 /* Find Labels */
232 #define CISENSITIVE                    \
233   _("[ ] case sensitive")
234 #define CSENSITIVE                     \
235   _("[x] case sensitive")
236 #define FIND_DESC                      \
237   _("Regex allowed - ^g to cancel - TAB switch case")
238 #define FIND_HEAD                      \
239   _("Find pattern in all views")
240 
241 /* Config Dialog */
242 #define CONFDLG_HEAD                   \
243   _("Log Format Configuration")
244 #define CONFDLG_KEY_HINTS              \
245   _("[SPACE] to toggle - [ENTER] to proceed - [q] to quit")
246 #define CONFDLG_LOG_FORMAT             \
247   _("Log Format - [c] to add/edit format")
248 #define CONFDLG_DATE_FORMAT            \
249   _("Date Format - [d] to add/edit format")
250 #define CONFDLG_TIME_FORMAT            \
251   _("Time Format - [t] to add/edit format")
252 #define CONFDLG_DESC                   \
253   _("[UP/DOWN] to scroll - [q] to close window")
254 
255 /* Agents Dialog */
256 #define AGENTSDLG_DESC                 \
257   _("[UP/DOWN] to scroll - [q] to close window")
258 #define AGENTSDLG_HEAD                 \
259   _("User Agents for %1$s")
260 
261 /* Color Scheme Dialog */
262 #define SCHEMEDLG_HEAD                 \
263   _("Scheme Configuration")
264 #define SCHEMEDLG_DESC                 \
265   _("[ENTER] to use scheme - [q]uit")
266 
267 /* Sort Dialog */
268 #define SORTDLG_HEAD                   \
269   _("Sort active module by")
270 #define SORTDLG_DESC                   \
271   _("[ENTER] select - [TAB] sort - [q]uit")
272 
273 /* Help TUI Dialog */
274 #define HELPDLG_HEAD                   \
275   _("GoAccess Quick Help")
276 #define HELPDLG_DESC                   \
277   _("[UP/DOWN] to scroll - [q] to quit")
278 
279 /* Storage Built-in Option */
280 #define BUILT_WITH_DEFHASH             \
281   _("In-Memory with On-Disk Persistent Storage.")
282 
283 /* Common UI Errors */
284 #define ERR_FORMAT_HEADER              \
285   _("Format Errors - Verify your log/date/time format")
286 #define ERR_FORMAT_NO_DATE_FMT         \
287   _("No date format was found on your conf file.")
288 #define ERR_FORMAT_NO_LOG_FMT          \
289   _("No log format was found on your conf file.")
290 #define ERR_FORMAT_NO_TIME_FMT         \
291   _("No time format was found on your conf file.")
292 #define ERR_NODEF_CONF_FILE            \
293   _("No default config file found.")
294 #define ERR_NODEF_CONF_FILE_DESC       \
295   _("You may specify one with")
296 #define ERR_PARSED_NLINES_DESC         \
297   _("producing the following errors")
298 #define ERR_PARSED_NLINES              \
299   _("Parsed %1$d lines")
300 #define ERR_PLEASE_REPORT              \
301   _("Please report it by opening an issue on GitHub")
302 #define ERR_FORMAT_NO_TIME_FMT_DLG     \
303   _("Select a time format.")
304 #define ERR_FORMAT_NO_DATE_FMT_DLG     \
305   _("Select a date format.")
306 #define ERR_FORMAT_NO_LOG_FMT_DLG      \
307   _("Select a log format.")
308 #define ERR_PANEL_DISABLED             \
309   _("'%1$s' panel is disabled")
310 #define ERR_NO_DATA_PASSED             \
311   _("No input data was provided nor there's data to restore.")
312 
313 /* Other */
314 #define INFO_MORE_INFO                 \
315   _("For more details visit")
316 #define INFO_LAST_UPDATED              \
317   _("Last Updated")
318 #define INFO_WS_READY_FOR_CONN         \
319   _("WebSocket server ready to accept new client connections")
320 
321 #define INFO_HELP_FOLLOWING_OPTS       \
322   _("The following options can also be supplied to the command")
323 #define INFO_HELP_EXAMPLES             \
324   _("Examples can be found by running")
325 
326 #define HTML_REPORT_TITLE              \
327   _( "Server Statistics")
328 #define HTML_REPORT_NAV_THEME          \
329   N_("Theme")
330 #define HTML_REPORT_NAV_DARK_GRAY      \
331   N_("Dark Gray")
332 #define HTML_REPORT_NAV_BRIGHT         \
333   N_("Bright")
334 #define HTML_REPORT_NAV_DARK_BLUE      \
335   N_("Dark Blue")
336 #define HTML_REPORT_NAV_DARK_PURPLE    \
337   N_("Dark Purple")
338 #define HTML_REPORT_NAV_PANELS         \
339   N_("Panels")
340 #define HTML_REPORT_NAV_ITEMS_PER_PAGE \
341   N_("Items per Page")
342 #define HTML_REPORT_NAV_TABLES         \
343   N_("Tables")
344 #define HTML_REPORT_NAV_DISPLAY_TABLES \
345   N_("Display Tables")
346 #define HTML_REPORT_NAV_AH_SMALL       \
347   N_("Auto-Hide on Small Devices")
348 #define HTML_REPORT_NAV_AH_SMALL_TITLE \
349   N_("Automatically hide tables on small screen devices")
350 #define HTML_REPORT_NAV_LAYOUT         \
351   N_("Layout")
352 #define HTML_REPORT_NAV_HOR            \
353   N_("Horizontal")
354 #define HTML_REPORT_NAV_VER            \
355   N_("Vertical")
356 #define HTML_REPORT_NAV_WIDE           \
357   N_("WideScreen")
358 #define HTML_REPORT_NAV_FILE_OPTS      \
359   N_("File Options")
360 #define HTML_REPORT_NAV_EXPORT_JSON    \
361   N_("Export as JSON")
362 #define HTML_REPORT_PANEL_PANEL_OPTS   \
363   N_("Panel Options")
364 #define HTML_REPORT_PANEL_PREVIOUS     \
365   N_("Previous")
366 #define HTML_REPORT_PANEL_NEXT         \
367   N_("Next")
368 #define HTML_REPORT_PANEL_FIRST        \
369   N_("First")
370 #define HTML_REPORT_PANEL_LAST         \
371   N_("Last")
372 #define HTML_REPORT_PANEL_CHART_OPTS   \
373   N_("Chart Options")
374 #define HTML_REPORT_PANEL_CHART        \
375   N_("Chart")
376 #define HTML_REPORT_PANEL_TYPE         \
377   N_("Type")
378 #define HTML_REPORT_PANEL_AREA_SPLINE  \
379   N_("Area Spline")
380 #define HTML_REPORT_PANEL_BAR          \
381   N_("Bar")
382 #define HTML_REPORT_PANEL_PLOT_METRIC  \
383   N_("Plot Metric")
384 #define HTML_REPORT_PANEL_TABLE_COLS   \
385   N_("Table Columns")
386 
387 /* Status Codes */
388 #define STATUS_CODE_1XX               \
389   N_("1xx Informational")
390 #define STATUS_CODE_2XX               \
391   N_("2xx Success")
392 #define STATUS_CODE_3XX               \
393   N_("3xx Redirection")
394 #define STATUS_CODE_4XX               \
395   N_("4xx Client Errors")
396 #define STATUS_CODE_5XX               \
397   N_("5xx Server Errors")
398 
399 #define STATUS_CODE_100               \
400   N_("100 - Continue: Server received the initial part of the request")
401 #define STATUS_CODE_101               \
402   N_("101 - Switching Protocols: Client asked to switch protocols")
403 #define STATUS_CODE_200               \
404   N_("200 - OK: The request sent by the client was successful")
405 #define STATUS_CODE_201               \
406   N_("201 - Created: The request has been fulfilled and created")
407 #define STATUS_CODE_202               \
408   N_("202 - Accepted: The request has been accepted for processing")
409 #define STATUS_CODE_203               \
410   N_("203 - Non-authoritative Information: Response from a third party")
411 #define STATUS_CODE_204               \
412   N_("204 - No Content: Request did not return any content")
413 #define STATUS_CODE_205               \
414   N_("205 - Reset Content: Server asked the client to reset the document")
415 #define STATUS_CODE_206               \
416   N_("206 - Partial Content: The partial GET has been successful")
417 #define STATUS_CODE_207               \
418   N_("207 - Multi-Status: WebDAV; RFC 4918")
419 #define STATUS_CODE_208               \
420   N_("208 - Already Reported: WebDAV; RFC 5842")
421 #define STATUS_CODE_300               \
422   N_("300 - Multiple Choices: Multiple options for the resource")
423 #define STATUS_CODE_301               \
424   N_("301 - Moved Permanently: Resource has permanently moved")
425 #define STATUS_CODE_302               \
426   N_("302 - Moved Temporarily (redirect)")
427 #define STATUS_CODE_303               \
428   N_("303 - See Other Document: The response is at a different URI")
429 #define STATUS_CODE_304               \
430   N_("304 - Not Modified: Resource has not been modified")
431 #define STATUS_CODE_305               \
432   N_("305 - Use Proxy: Can only be accessed through the proxy")
433 #define STATUS_CODE_307               \
434   N_("307 - Temporary Redirect: Resource temporarily moved")
435 #define STATUS_CODE_308               \
436   N_("308 - Permanent Redirect")
437 #define STATUS_CODE_400               \
438   N_("400 - Bad Request: The syntax of the request is invalid")
439 #define STATUS_CODE_401               \
440   N_("401 - Unauthorized: Request needs user authentication")
441 #define STATUS_CODE_402               \
442   N_("402 - Payment Required")
443 #define STATUS_CODE_403               \
444   N_("403 - Forbidden: Server is refusing to respond to it")
445 #define STATUS_CODE_404               \
446   N_("404 - Not Found: Requested resource could not be found")
447 #define STATUS_CODE_405               \
448   N_("405 - Method Not Allowed: Request method not supported")
449 #define STATUS_CODE_406               \
450   N_("406 - Not Acceptable")
451 #define STATUS_CODE_407               \
452   N_("407 - Proxy Authentication Required")
453 #define STATUS_CODE_408               \
454   N_("408 - Request Timeout: Server timed out waiting for the request")
455 #define STATUS_CODE_409               \
456   N_("409 - Conflict: Conflict in the request")
457 #define STATUS_CODE_410               \
458   N_("410 - Gone: Resource requested is no longer available")
459 #define STATUS_CODE_411               \
460   N_("411 - Length Required: Invalid Content-Length")
461 #define STATUS_CODE_412               \
462   N_("412 - Precondition Failed: Server does not meet preconditions")
463 #define STATUS_CODE_413               \
464   N_("413 - Payload Too Large")
465 #define STATUS_CODE_414               \
466   N_("414 - Request-URI Too Long")
467 #define STATUS_CODE_415               \
468   N_("415 - Unsupported Media Type: Media type is not supported")
469 #define STATUS_CODE_416               \
470   N_("416 - Requested Range Not Satisfiable: Cannot supply that portion")
471 #define STATUS_CODE_417               \
472   N_("417 - Expectation Failed")
473 #define STATUS_CODE_418               \
474   N_("418 - I’m a teapot")
475 #define STATUS_CODE_421               \
476   N_("421 - Misdirected Request")
477 #define STATUS_CODE_422               \
478   N_("422 - Unprocessable Entity due to semantic errors: WebDAV")
479 #define STATUS_CODE_423               \
480   N_("423 - The resource that is being accessed is locked")
481 #define STATUS_CODE_424               \
482   N_("424 - Failed Dependency: WebDAV")
483 #define STATUS_CODE_426               \
484   N_("426 - Upgrade Required: Client should switch to a different protocol")
485 #define STATUS_CODE_428               \
486   N_("428 - Precondition Required")
487 #define STATUS_CODE_429               \
488   N_("429 - Too Many Requests: The user has sent too many requests")
489 #define STATUS_CODE_431               \
490   N_("431 - Request Header Fields Too Large")
491 #define STATUS_CODE_451               \
492   N_("451 - Unavailable For Legal Reasons")
493 #define STATUS_CODE_444               \
494   N_("444 - (Nginx) Connection closed without sending any headers")
495 #define STATUS_CODE_494               \
496   N_("494 - (Nginx) Request Header Too Large")
497 #define STATUS_CODE_495               \
498   N_("495 - (Nginx) SSL client certificate error")
499 #define STATUS_CODE_496               \
500   N_("496 - (Nginx) Client didn't provide certificate")
501 #define STATUS_CODE_497               \
502   N_("497 - (Nginx) HTTP request sent to HTTPS port")
503 #define STATUS_CODE_499               \
504   N_("499 - (Nginx) Connection closed by client while processing request")
505 #define STATUS_CODE_500               \
506   N_("500 - Internal Server Error")
507 #define STATUS_CODE_501               \
508   N_("501 - Not Implemented")
509 #define STATUS_CODE_502               \
510   N_("502 - Bad Gateway: Received an invalid response from the upstream")
511 #define STATUS_CODE_503               \
512   N_("503 - Service Unavailable: The server is currently unavailable")
513 #define STATUS_CODE_504               \
514   N_("504 - Gateway Timeout: The upstream server failed to send request")
515 #define STATUS_CODE_505               \
516   N_("505 - HTTP Version Not Supported")
517 #define STATUS_CODE_520               \
518   N_("520 - CloudFlare - Web server is returning an unknown error")
519 #define STATUS_CODE_521               \
520   N_("521 - CloudFlare - Web server is down")
521 #define STATUS_CODE_522               \
522   N_("522 - CloudFlare - Connection timed out")
523 #define STATUS_CODE_523               \
524   N_("523 - CloudFlare - Origin is unreachable")
525 #define STATUS_CODE_524               \
526   N_("524 - CloudFlare - A timeout occurred")
527 
528 #endif // for #ifndef LABELS_H
529